目录
前言
C语⾔是结构化的程序设计语⾔,依托三大结构:顺序结构、选择结构、循环结构,C语言可以通过它们的组合来解决特定的问题。 本文将介绍C语言中的选择结构与循环结构。
一、分支语句
1.if语句
- 基本结构
if(表达式) { 语句; }
- else
if(表达式) { 语句; }else{ 语句; }
- if语句的嵌套
注意:else只与最相近的if匹配。
2.关系操作符
(1)六大操作符
> 大于 >= 大于等于 < 小于 <= 小于等于 == 相等 != 不相等
(2)注意事项
- 关系表达式的返回值:0或1。(0为真,1为假)
- 相等运算符与赋值运算符的区分。
- 多个关系运算符不能连用
3.条件操作符
exp1 ? exp2 : exp3
条件操作符的计算逻辑是:
- 如果 exp1 为真, exp2 计算。计算的结果是整个表达式的结果;
- 如果 exp1 为假, exp3 计算。计算的结果是整个表达式的结果。
4.逻辑操作符
与 && 或 || 非!
配合使用可以解决上述“多个关系运算符不能连用”的问题。
5.短路
- 什么是“短路”:C语⾔逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值。如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。
- 与运算:0 && 任何值都为0。
- 或运算:非零 || 任何值都为非零。
6.switch语句
switch (expression)
{
case value1: statement;
case value2: statement;
default: statement;
}
switch语句中的break:switch语句中的case相当于程序运行的入口,只有遇到break的时候才会退出当前语句。所以在 switch 语句中 break 语句是⾮常重要的,能实现真正的分⽀效果。
switch语句中的default:switch 后边的 expression 的结果不是 value1 ,也不是 value2 的时候,就会执⾏ default ⼦句。
注意:
- switch 后的 expression 必须是整型表达式。
- case 后的值,必须是整形常量表达式。
- 初学者容易犯的错误:case与数字间必须有空格。
二、循环语句
1.while语句
while(判断)
{
循环体;
}
2.do-while语句
do
{
语句;
}while();
3.for语句
for(初始值;条件判断;调整语句)
{
循环体;
}
注意:三个语句间要用分号隔开而非逗号。
4.break和continue语句
- break:直接跳出循环;
- continue
- while语句中:直接跳出本次循环(后续的所有语句全部跳过),进行下一次循环。
- for语句中:跳出本次循环后续的语句,调整语句不受影响。
典型例子
break举例
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if(i == 5)
break;
printf("%d ", i);
i+=1;
}
return 0;
}
#include <stdio.h>
int main()
{
int i = 1;
for(i=1; i<=10; i++)
{
if(i == 5)
break;
printf("%d ", i);
}
return 0;
}
continue举例
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if(i == 5)
continue;
printf("%d ", i);
i = i+1;
}
return 0;
}
运行结果:死循环
解释:当i等于5后,就执⾏continue,直接跳过continue以后的代码,去循环的判断的地⽅,因为这⾥跳过了i = i+1,所以i⼀直为5,程序陷⼊死循环
#include <stdio.h>
int main()
{
int i = 1;
for(i=1; i<=10; i++)
{
if(i == 5)
continue;
printf("%d ", i);
}
return 0;
}
运行结果:1 2 3 4 6 7 8 9 10
解释:当i等于5后,就执⾏continue,直接跳过continue以后的代码,但调整语句仍然执行。
总结
以上就是本文要讲的内容,如有错误,敬请批评指正!