CPP复习笔记-第2章-表达式和程序控制结构

今天我们来复习第2章——表达式和程序设计结构。

表达式

运算符

记一下优先级。优先级最低的是逗号运算,其次是赋值、复合赋值。

算术表达式

  1. 主要注意自增/自减。i++是“先用再加”,++i是“先加再用”。看题目:
    pALd76g.png
    pALcSOK.png
  2. 类型转换。注意强制类型转换不同写法的效果。

逻辑表达式

优先级从高到低:! 算术运算符 关系运算符 && 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)
pAL6bo4.png

逗号表达式

各表达式按顺序执行,逗号表达式的值是最后一个表达式的值。
区分:x=(a=3,2*6)x=a=3,2*6.
前者x为12,后者x为3.

选择控制之switch

太久没用了感觉有些细节忘了。

1
2
3
4
5
switch(x){
case 1: ...;break;
case 2: ...;break;
default: ...;
}

不加break时,会继续向下运行。

循环控制

经典错误

1
2
3
4
for(int i=0;i<n;i++);  
{
cout<<i<<endl;
}

非常经典的错误,由于for语句后加了分号,后面的输出语句块不再是for的一部分,不会有任何输出。

do-while语句

这种情况就要有分号了。

1
2
3
4
5
s=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
2
goto 标号  
标号 : 语句;

CPP复习笔记-第2章-表达式和程序控制结构
https://www.jollyan.top/cpp-fu-xi-bi-ji-di-2-zhang/
作者
梦里徜徉
发布于
2024年12月18日
许可协议