首页 > 代码库 > C语言之字符集、ASCII码和sizeof运算符

C语言之字符集、ASCII码和sizeof运算符

一 字符集和ASCII码

         结论:字符本质上也是一个整数,每个字符都有唯一一个与之对应的整数,

比如说小写的a对应97,b对应98,c对应99,大写的A对应65,B对应66,C对应67

所以字符对应的那个数字,也可以称之为ASCII码值

 

二 sizeof运算符

sizeof:

   用法:sizeof(类型);

   sizeof(变量);

   sizeof(常量);

 可以计算这个类型或者变量或者常量占用的字节数

tips

   sizeof结果是unsigned long类型(unsigned long; 无符号的long型  有符号:代表可以是负数  无符号:代表只能是正数

整数类型又分为无符号整型和有符号整型

         int long short都是有符号的整型,其实完整的写法是在前面加一个signed,但是因为默认就是signed,所以直接写int  long short就可以了

 也就是说 int long short都可以保存负数.tips: 整型有无符号和有符号之分别,浮点数没有unsigned

)

  1. sizeof如果计算的是字符常量,那么会默认把字符转成ASCII值,然后计算出来就是4个字节,注意:只是常量,字符类型和字符变量还是1个

 

tips:代码例子如下

 

#include <stdio.h>

 

int main(int argc, const char * argv[]) {

   

    //字符集和ASCII码练习

 

   //    int num1=10,num2=20;

    //

    //    //int sum = num1 + num2;

    //

    //    int sum = num1 + ‘a‘;

    //

    //    printf("%d\n",sum);//107

   

   

    char ch = 97;

printf("%c\n",ch);//a   

 

// sizeof运算符的练习

 

  //sizeof计算类型

    /*

     int len = sizeof(char);

     printf("%d\n",len);//1

    

     int len2 = sizeof(int);

     printf("%d\n",len2);//4

    

     int len3 = sizeof(float);

     printf("%d\n",len3);//4

    

     int len4 = sizeof(long);

     printf("%d\n",len4);//8

    

     int len5 = sizeof(double);

     printf("%d\n",len5);//8

     */

    //sizeof计算变量

    /*

     int num = 10;

     printf("%lu\n",sizeof(num));//4

    

     char ch = ‘a‘;

     printf("%lu\n",sizeof(ch));//1

    

     float f = 303.333f;

     printf("%lu\n",sizeof(f));//4

     */

    //sizeof计算常量

    printf("%lu\n",sizeof(10));//4

    printf("%lu\n",sizeof(10l));//8

    printf("%lu\n",sizeof(10.3f));//4

    printf("%lu\n",sizeof(10.333));//8

printf("%lu\n",sizeof(‘a‘));//4个

 

    return 0;

}

C语言之字符集、ASCII码和sizeof运算符