分支结构---if语句
if语句
基本结构:
if(表达式){
执行语句
}
含义:如果表达式为真,则执行后面语句,否则不执行。
例如:
#include <stdio.h>
int main() {
int number = 5; // 示例数字
// 使用if语句判断number是否大于0
if (number > 0) {
printf("number大于0\n");
}
return 0;
}
if---else语句
基本结构:
if(表达式){
语句1
}else{
语句2
}
含义: 表达式为真执行语句1,表达式为假执行语句2。
例如:
#include <stdio.h>
int main() {
int number = 5;
if (number > 0) {
printf("这个数是正数。\n");
} else {
printf("这个数不是正数(可能是负数或零)。\n");
}
return 0;
}
多重if---else语句
基本结构:
if(表达式1){
语句1
}else if(表达式2){
语句2
}else{
语句3
}
......
含义:依次判断表达式的真假,如果为真执行对应语句,为假则进行下一个表达式的判断。
注:当有一个表达式为真时,不会向下执行其余分支语句。
嵌套if---else语句
基本结构:
if(表达式1){
if(表达式2){
}else{
语句1
}
......
}else{
语句2
}
含义:
例如:只有在表达式1(即if
语句的条件)为真时,才会执行if
块内的代码或操作。
#include <stdio.h>
int main() {
int score;
printf("请输入你的分数: ");
scanf("%d", &score);
if (score >= 60) {
printf("你及格了。\n");
if (score >= 90) {
printf("并且你的成绩很优秀!\n");
} else {
printf("但还有提升的空间。\n");
if (score >= 80) {
printf("你的成绩良好。\n");
} else {
printf("你的成绩中等。\n");
}
}
} else {
printf("很遗憾,你没有及格。\n");
}
return 0;
}
注意事项
1、在if---else语句中一个else对应一个if。
2、如果if后面只有一条语句可以省略{}。(个人建议不熟练时不进行省略)
分支结构---switch语句
在这里我们用switch语句来写出,输入一个数字3,输出“你输入了数字 3。”
在这里我们发现输出的结果与我们想要的结果不同,我们并不想要“我输入了数字 3。”之后的内容,因此我们应在case 3处跳出switch。而在选项的最后添加break就可以帮助我们得到想要的。
switch的基本结构
switch(表达式){
case 常量表达式1:
语句1;
break;
```````
case 常量表达式n:
语句n;
break;
default:
语句n+1;
}
注:
1、break的实际效果是把语句列表划分为不同的部分。
2、如果表达式的值与所有的case选项都不匹配,程序并不会终止,也不会报错,因为这种情况在C 语言 中并不认为是错误,结果就是所有的语句都被跳过而已。
3、一般来说在switch语句中都应放一条default子句,旦也可以省略。
4、switch-case结构中声明局部变量要在每个case下加一个大括号。
注意事项
1、各常量表达式的值不能相同。
2、一般情况下case后允许有多个语句存在,且可以不用“ {} ”括起来。
3、case与default的位置可以改变,不会影响结果。
4、case后的常量表达式应为整型或字符型(在C语言中)。