CPP复习笔记-第2章-表达式和程序控制结构
今天我们来复习第2章——表达式和程序设计结构。
表达式
运算符
记一下优先级。优先级最低的是逗号运算,其次是赋值、复合赋值。
算术表达式
- 主要注意自增/自减。
i++
是“先用再加”,++i
是“先加再用”。看题目:
- 类型转换。注意强制类型转换不同写法的效果。
逻辑表达式
优先级从高到低:! 算术运算符 关系运算符 && ll
赋值表达式
a=b=10
相当于a=(b=10)
,最终a和b都为10.
(a=b)=10
则是将b的值赋给a,然后再把10赋给a,最终a为10,b不变。
条件表达式
按右结合方式匹配。例如,a>b?a>c?a:c:b>c?b:c
相当于a>b ? (a>c ? a:c) : (b>c ? b:c)
。
逗号表达式
各表达式按顺序执行,逗号表达式的值是最后一个表达式的值。
区分:x=(a=3,2*6)
和x=a=3,2*6
.
前者x为12,后者x为3.
选择控制之switch
太久没用了感觉有些细节忘了。
1
2
3
4
5switch(x){
case 1: ...;break;
case 2: ...;break;
default: ...;
}
不加break时,会继续向下运行。
循环控制
经典错误
1 |
|
非常经典的错误,由于for语句后加了分号,后面的输出语句块不再是for的一部分,不会有任何输出。
do-while语句
这种情况就要有分号了。
1
2
3
4
5s=0,i=1;
do{
s+=i;
i++;
}while(i<=100);
牛顿迭代法
\[ x_{n+1} = x_n - f( x_n ) / f'( x_n
) \]
书上有,课堂提问过,也许会考。还有其他类似的迭代公式。要掌握如何正确用循环结构写出来。
判断表达式的使用
别的不多说了,看一个容易写错的东西。
if(c = a-b)...
相当于c = a-b; if(c!=0)...
一般出现在将==
错误地写成=
的情。
转向语句
break
退出switch或循环。
continue
终止当前循环,直接进入下一轮循环。
return
函数中使用。
goto语句
1 |
|
CPP复习笔记-第2章-表达式和程序控制结构
https://www.jollyan.top/cpp-fu-xi-bi-ji-di-2-zhang/