基本数据类型
- unsigned char,8位无符号整数(0~255)
- signed char,8位有符号整数(-128~127)
- unsigned short int,16位无符号整数(0~65525)
- signed short int,16位有符号整数(-32768~32767)
- unsigned long int,32位无符号整数(0~4294967295)
- signed long int,32位有符号整数(-2147483648~2147483647)
- unsigned long long int,64位无符号整数
- signed long long int,64位有符号整数
- float,32位浮点数
- double,64位浮点数
其他用法
for(int i=0;i<2;i++){}
中的运行过程,(1)先i=0;判断是否小于2,小于则运行循环体(2)执行i++,i就等于1,判断是否小于2,小于则执行循环体,(3)执行i++,i就等于2,判断i是否小于2,不符合条件退出执行。- break;continue;不论外面嵌套多少个if,均跳出的是循环体for或while
while(~scanf("%d",&n))
scanf()返回值有3种,返回表示正确输入参数的个数,或返回0表示用户的输入不匹配,无法正确输入任何值,或返回EOF即-1,是因为输入了ctrl+z
,-1在内存中表示全是1,然后取反~,就全是0,然后while不满足条件就会跳出。
scanf与gets和getchar用法区别
scanf是忽略所有空格(从缓冲区丢弃),以空格(如果输入两个数,两个数之间的空格从缓冲区丢弃)或换行符结束输入(不会丢弃,留在缓冲区)。
gets以回车换行符结束输入(会从缓冲区丢弃),空格不结束,可以输入。
getchar理论可以输入任何字符
scanf可以定制正则表达式,例如scanf("%[^0]",cmd);
表示以0为结束标记,0不会丢弃,其他字符会输入到cmd字符串里