一.分支结构
1.if语句
if(条件表达式){
语句;
……
}
代码演示
#include <stdio.h>
int main(int argc, const char *argv[]){
int age = 10;// 定义一个变量记录年龄
// 使用if语句进行选择
if(age>=18){
printf("已成年\n");
}
printf("未成年\n");
return 0
}
2.if语句的多种形式
(1)如果条件表达式成立,就执行大括号中的语句
if(条件表达式){
语句;
……
}
(2)如果条件表达式成立,就执行大括号中的语句,否则就执行else后面大括号中的语句
自己的理解:(这里至少有一条语句会被执行)
if(条件表达式){
语句;
……
} else {
语句;
……
}
(3)if(条件表达式1){
语句;
……
} else if(条件表达式2) {
语句;
……
} else if (条件表达式3){
语句;
……
} else {
语句;
……
}
自己的理解:如果执行到条件表达式3就说明它前面的条件表达式都不成立
这么多代码块最多只会执行一个
代码演示
#include <stdio.h>
int main(int argc, const char *argv[]){
//根据用户输入1~12的值,输出对应的季节
// 提示用户输入
printf("请输入1-12,用来代表月份") ;
// 定义变量,接收用户的输入
int month ;
scanf("%d",&month);
// 使用if语句判断季节
if(month>=3&&month<=5){
printf("春季:万物复苏\n");
} else if(month>=6&&month<=8) {
printf("夏季:烈日骄阳\n");
} else if (month>=9&&month<=11){
printf("秋季:秋高气爽\n");
} else if(month==12||month==1||month==2){
printf("冬季:千里冰封\n");
} else {
printf("你输入错误,该补补数学了\n");
}
return 0;
}
注意点:
(1)if()里的小括号里的表达式,当常量与变量进行== 与!=的时候,通常把数字放在前面: 2==a
(2)只有一个分号的语句是一个空语句,空语句也是语句,所以在if()后面不要有分号
(3)if(){}代码块中定义的变量不可以在外部代码块中访问,如果想在if语句中定义变量,就必须加上{},否则会作用域紊乱
(4)if语句必须连接在一起,不可以有无头的if
2.switch语句
如果表达式的值等于常量的值,那么就执行这个常量后面的语句
switch(表达式){
case 常量;
语句;
……
break;
default;
语句;
……
break;
}
代码演示
#include <stdio.h>
int main(int argc, const char *argv[]){
//根据用户输入1~12的值,输出对应的季节
// 提示用户输入
printf("请输入1-12,用来代表月份") ;
// 定义变量,接收用户的输入
int month ;
scanf("%d",&month);
switch (month){
case 3:
case4:
case5:
printf("春季:万物复苏\n");
break;
case 6:
case7:
case8:
printf("夏季:烈日骄阳\n");
break;
case 9:
case10:
case11:
printf("秋季:秋高气爽\n");
break;
case 12:
case1:
case2:
printf("冬季:千里冰封\n");
break;
default:
printf("你输入错误,该补补数学了\n");
}
return 0;
}
注意点
case后面的常量不可以重复
break作用:结束switch语句
switch语句只有遇到break或者switch后面的大括号才会停止
当switch与某一个case匹配了,那么后面的所有case都失效了
case后面只能是一个常量或者常量表达式
switch后面小括号中只能是整形表达式
自己的理解:当某个变量只有几个固定取值的时候,使用switch会更加简洁
如果是区间,则使用if语句
|
|