分支与循环
目录
结构
分支结构
-
if语句
- if(表达式) 语句
- 0为假,非0为真
- if(表达式) 语句
- else语句
- 悬空else问题:多个if和else,else总是跟最接近的匹配
- if else语句 分支中包含多条语句
- if(表达式)
- 语句1 else
-
switch语句
- switch 语句是⼀种特殊形式的?if...else 结构,⽤于判断条件有多个结果的情况。
- switch 后的 expression 必须是整型表达式
- case 后的值,必须是整形常量表达式
- default子句可以放在任意位置
- case表达式不要求顺序
循环结构
-
while循环
- 执行流程
-
for循环
- 执行流程
-
do while循环
- 执行流程
操作符
关系
- > ⼤于运算符
- < ⼩于运算符
- >= ⼤于等于运算符
- <= ⼩于等于运算符
- == 相等运算符
- != 不相等运算符
- 提示: 多个关系符不以连用 ==和=两个不一样的运算符
条件
- 三目操作符:exp1 ? exp2 : exp3
- 条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果exp1 为假, exp3 计算,计算的结果是整个表达式的结果。
逻辑
- ! :逻辑取反运算符(改变单个表达式的真假)。
- && :与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。
- || :或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)。
- 提示: 如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。
break和continue语句
break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执⾏。
continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。
for循环中的break和continue
while和for中continue的区别
dowhile中break和continue
goto语句
goto 语句可以实现在同⼀个函数 内跳转到设置好的标号处
随机生成数
rand
- rand函数⽣成的随机数是伪随机的
srand
- rand函数之前先调⽤srand函数,通过srand函数的参数seed来设置rand函数⽣成随机数的时候的种⼦,只要种⼦在变化
time
- 在程序中我们⼀般是使⽤程序运⾏的时间作为种⼦的,因为时间时刻在发⽣变化的
范围
- 举例:生成a~b的随机数 a + rand()%(b-a+1)