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;

}