在C语言中,把整形,实型和字符型称为基本数据类型,又称整形和实型为数值型。
在这里特别需要注意的是,long int 在32位系统中占4个字节,在64位系统中占8个字节,一个字节8bit。
char 一个字符占一个字节
无符号数据类型数值为正,有符号数据类型从正到负。
例如: unsigned int : 0 ~ 2^32-1 因为int有32bit,即最大为1111 1111 1111 1111 1111 1111 1111 1111
signed char : -128 ~127 (1)10000000~01111111 最高符号位,但-128是将符号位省去
关于常量需注意: 实型常量
十进制小数形式 :123.45、456.78
指数形式 :1e-2、4.5e3
float型常量 123.45f、 456.78F、1e-2f、4.5e3F
long double型常量 123.45l、 456.78L、4.5e3L
C规定以字符’\0’作为字符串结束标志。
对于混合运算:整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。
在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算.。
类型转换优先级:
优点:在进行赋值操作时,会发生类型转换,将取值范围小向范围大的转变是安全的。
例如:unsigned int a=3;
a*(-1)= ?
做法:将-1 转化为无符号整型数据,即先求-1补码,再转为10进制乘3,最后转为2进制,超出部分舍去。
C的运算符: ~ :取反; | : 或;
∧:异或,即相同为0,否则为1 &:与;
条件运算符 ? : ,例:(a>b)? a : b 若a>b,则输出a,否则输出b.
逗号运算符 , 将两个表达式连接起来,又称为“顺序求值运算符”
i++与++i的区别:
++i是先执行i=i+1后,再使用i的值
i++是先使用i的值后,再执行i=i+1
'\n': 刷新缓冲区域
switch语句的格式:
switch (表达式)
{
case 常量表达式1:语句1; break;
case 常量表达式2:语句2; break;
…
case 常量表达式n:语句n; break;
default :语句n+1; break;
}
最后对于break与continue的整理:
#include <stdio.h>
int main()
{
int i;
for(i = 0; i < 5; i++)
{
if(i == 3)
{
// break;
continue;
}
printf("%d\n",i);
}
return 0;
}
输出结果分别是 0 1 2
0 1 2 4