• C语言学习系列(四)C语言基本语法和数据类型


    一、基本语法

    C的令牌(Tokens)

      C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。

    关键字(保留字)

    auto else long switch
    break enum register typedef
    case extern return union
    char float short unsigned
    const for signed void
    continue goto sizeof volatile
    default if static while
    do int struct _Packed
    double      

    二、数据类型

      

      在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

    整数类型

    类型存储大小值范围
    char 1 字节 -128 到 127 或 0 到 255
    unsigned char 1 字节 0 到 255
    signed char 1 字节 -128 到 127
    int 2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
    unsigned int 2 或 4 字节 0 到 65,535 或 0 到 4,294,967,295
    short 2 字节 -32,768 到 32,767
    unsigned short 2 字节 0 到 65,535
    long 4 字节 -2,147,483,648 到 2,147,483,647
    unsigned long 4 字节 0 到 4,294,967,295

       注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。

       以下列出了32位系统与64位系统的存储大小的差别(windows 相同):

      

      为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。下面的实例演示了获取各数据类型的大小:

     1 #include <stdio.h>
     2 #include <limits.h>
     3  
     4 int main()
     5 {
     6    printf("int 存储大小 : %lu 
    ", sizeof(int));
     7    printf("short int 存储大小 : %lu 
    ", sizeof(short int));
     8    printf("long int 存储大小 : %lu 
    ", sizeof(long int));
     9    printf("long long int 存储大小 : %lu 
    ", sizeof(long long int));
    10    printf("float 存储大小 : %lu 
    ", sizeof(float));
    11    printf("double 存储大小 : %lu 
    ", sizeof(double));
    12 
    13    return 0;
    14 }

      

    浮点类型

      浮点型数据是用来表示具有小数点的实数的。

    类型存储大小值范围精度
    float 4 字节 1.2E-38 到 3.4E+38 6 位小数
    double 8 字节 2.3E-308 到 1.7E+308 15 位小数
    long double 16 字节 3.4E-4932 到 1.1E+4932 19 位小数

      头文件 float.h 定义了宏,在程序中可以使用这些值和其他有关实数二进制表示的细节。下面的实例将输出浮点类型占用的存储空间以及它的范围值:

     1 #include <stdio.h>
     2 #include <float.h>
     3  
     4 int main()
     5 {
     6    printf("float 存储最大字节数 : %lu 
    ", sizeof(float));
     7    printf("float 最小值: %E
    ", FLT_MIN );
     8    printf("float 最大值: %E
    ", FLT_MAX );
     9    printf("精度值: %d
    ", FLT_DIG );
    10    
    11    return 0;
    12 }

      


            if ( U.read(me.Blog) ) $("#推荐").click();
            if ( U.copy(me.Blog) ) $("#u Blog").console("原文链接:http://www.cnblogs.com/Grand-Jon/p/7417511.html ");
            else me.Fuck(U);
  • 相关阅读:
    开启ecstore隐藏的功能
    对接ECOS框架(含ecstore、ocs、erp等产品)的方法【其他系统请求ecos的api接口】
    shopex 网店系统基于云登录系统的信任登录设置
    怎样获取机器码
    windows 无法连接远程桌面
    ecos框架中data/ 目录下img*文件数量过多的问题
    mac 下brew解决php安装问题
    20140708 总结
    20140705 总结
    bzoj 2751
  • 原文地址:https://www.cnblogs.com/Grand-Jon/p/7417511.html
Copyright © 2020-2023  润新知