1.表达式:由操作数和操作符共同组成,所有的表达式都有一个最终运行结果。
如:a+b x=y+20 操作数可以是常量、变量或二者的组合。
2. 运算符
2.1 算术运算符: + 、- 、 * 、 / 、 %
编译器根据操作数决定执行浮点数还是整数运算。
2.2 赋值运算:=
在C语言中,符号”=”不表示“相等”,而是赋值。
如 a=2; 表示的是“将值2赋给a”,而不是“a等于2”
2.3 增量和减量运算符:++ 、 - -
增量和减量运算符是单目运算符,即只有一个操作数用于表达式。单目运算符的的优先级高于所有双目运算符。
(1)前缀形式:++变量、 - -变量
如:y=++x;等价于:先计算x=x+1,再执行y=x
(2)后缀形式:变量++ 变量- -
如:y=x- -;等价于:先计算y=x,再计算x=x-1
2.4关系运算符:== 、 != 、 > 、 >= 、 <、 <=
2.5逻辑运算符:&& (与)、 ||(或) 、 !(非)
2.6条件运算符:表达式1 ? 表达式2 : 表达式3
意思是:如果表达式1为真,则运算表达式2,整个条件表达式的值为表达式2的值;反之,则运算表达式3,整个条件表达式的值为表达式3的值。
如:max=(a>3) ? a : 3 如果a大于3,那么a的值就是整个条件表达式的值,将a的值赋给变量max,如果a的值小于或等于3,那么3就作为整个条件表达式的值,并将3赋给变量max。
2.7 特殊运算符
(1)长度运算符sizeof。语法是sizeof (opr)
如:sizeof(char) 求字符型在内存中所占用的字节数,结果为1;
(2)取址运算符: &
最常用取址运算符的就是scanf函数
如scanf(“%d”,&a); 取得一个输入的整型值,按照a的内存地址将这个值存进去。
3. 数据类型转换
(1)自动类型转换:运算时,操作符两端的类型不一致,最终结果是较大的数据类型;赋值时,把小数据类型的值往大数据类型的变量里赋值时,可自动赋值成功。
(2)强制类型转换:将某数据的数据类型转为指定的数据类型
如:float型转为int 型。
4. 语句
(1)选择语句:if 、 switch
(2)流程控制语句及循环语句:for、 while 、 do_while
(3)转移语句:break 、 continue 、 return 、 goto
(4)表达式语句:运算符、常量、变量可以组成表达式,表达式后面加分号就构成表达式语句。如:x+y是表达式,x+y;是语句
(5)复合语句
(6)空语句
(7)赋值语句:变量=表达式;如:sum=a+b;