内容:1、C语言中的基本数据类型
2、运算符与表达式
3、控制结构
4、循环语句
数据类型:
类型 | 字节大小 | 位数 | 表示范围(有/无) |
int | 4 | 32 | |
float | 4 | 32 | |
double | 8 | 64 | |
char | 1 | 8 | -128-127 / 0-255 |
long | 4 | 32 | |
short | 2 | 16 | -32768-32767 / 0-65535 |
sizeof():求数据类型长度(字节)
strlen():求字符数。 ★:遇到字符‘\0’结束,‘\0’是字符串结束的标志,字符‘\0’对应整形0。字符串“a”可以表示为“a\0”
例题:
int main()
{
char a[1000];
int i;
for(i=0;i<1000;i++)
{
a[i]=-1-i;
}
printf("%d\n",strlen(a));
return 0;
}
输出:255(-1~-128,127-0结束)
混合运算:
规则:表示范围小的转换成表示范围大的,不够的以0补足。
double<--float
long
unsigned
int<--char、short
★:由下往上位数越高,即都往上转换。负数以补码的形式存在内存中。注意数据溢出和有无符号问题。
10...00010100原码(负数)
11...11101011反码
11...11101100补码=反码+1
★运算符的优先级:
函数符号()和数组下标【】
单目运算符
算数运算符
移位运算符
关系运算符
逻辑运算符
三目运算符
注:由下往上优先级越高
自增、自减运算符:
i++、i--:执行完i所在语句之后,对i的值加1
++i、i--:执行i所在语句之前,对i的值加1
例题:
int a=4;
a+=a++; //a++先不看,a=a+a>a=8,然后++,a=9.
a+=++a; //++a先看,a=5,a=a+a>a=10.
++a+=a; //++a先看,a=5,a=a+a>10.
++a+=a++; //++a先看,a++先不看,a=5,a=a+a>a=10,后a++,a=11.
++a+=++a; //++a先看,a=5,a=6,a=a+a>a=12.
函数输出:
%d或%i按十进制有符号整数输出,正数的符号省略
%u按十进制无符号整数输出
%o按八进制无符号整数输出(不输出前导0)
%x或X按十六进制无符号整数输出(不输出前导符0x)
%c按字符型数据输出
%s按字符串数据输出
%f按小数形式输出(6位小数)
%p输出以0x开头的地址
循环结构:
if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
……
else if(表达式m)语句m
else 语句n
switch (表达式)
{ case 常量表达式1:语句1; break;
case 常量表达式2:语句2; break; …
case 常量表达式n:语句n; break;
default :语句n+1; break;
}
do
循环体语句
while (表达式);