快速记忆C语言32个关键字
与数据相关:void,char,unsigned,signed,short,int,long,float,double,struct,union,enum,sizeof,
typedef
修饰变量的关键字:auto,static,const,volatile,extern,register
与流程控制相关:if,else,switch,case,default,for,while,do,return,break,continue,goto
数据类型
数据类型 占位符 占用字节数
unsigned char %hhu 1
unsigned short %hu 2
unsigned int %u 4
unsigned long %lu 4|8
unsigned long long %llu 8
signed char|char %hhd|%c 1
signed short|short %hd 2
signed int|int %d 4
signed long|long %ld 4|8
signed long long|long long %lld 8
float %f 4
double %lf 8
long double %LF 12|16
bool 无 1
注意:
1、signed和unsigned的区别:C语言中默认的是signed,也就是带符号数据,如果要声明一个无符号变量,需要添加unsinged
#include<stdio.h>
int main()
{
unsigned char a='0';
printf("%hhu",a);
}
2、char类型占位符%c和使用其它占位符的区别:在输出字符时,若占位符使用的是%c,则输出的是该字符本身。若是其它占位符,则输出的是该字符对应的ASCII码
#include<stdio.h>
int main()
{
char a='0';
printf("%c\n",a);
printf("%hhd\n",a);
}
运行结果如下:
3、由于C语言先于布尔,因此C语言没有真正的布尔类型(后期添加),使用char类型模拟,使用时需要添加stdbool.h头文件。
true <=> 非零
false <=> 0
#include<stdio.h>
#include<stdbool.h>
int main()
{
bool flag=true;
printf("%hhd\n",flag);
flag=false;
printf("%hhd\n",flag);
}
运行结果: