打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C语言的分支语句解析

1.if的使用
(1)if语句
作用:判断条件是否成功,成功则执行语句。
格式:
if(判断条件){
语句;

注意:执行判断条件,如果为真(非0),则执行大括号中的语句。否则不执行。

实例:

#include
int main() {
int a = 10;
if( a>100 ) {
printf('a>100,a的值为%d\n',a);
}
printf('程序结束\n');
return 0;
}

运行运行程序:
程序结束
因为a>100不成立,所以不执行大括号里的语句。

(2)if-else语句
作用:判断条件是否成功或者失败,分别执行对应代码。
格式:
if(判断条件){
语句1;

else {
语句2;

注意:执行判断条件,如果为真(非0),则执行其后的大括号中的语句1;否则,执行else后大括号里的语句2。

实例:判定两个数中最大的数。

#include
int main() {
int a,b;
a = 10;
b = 20;
if( a>b ) {
printf('最大数字a=%d\n',a);
}
else {
printf('最大数字b=%d\n',b);
}
return 0;
}

运行程序:
最大数字b=20
因为a>b不成立,所以不执行if后的语句,执行else后面的语句。

(3)if-else-if语句
作用:根据一个问题的多种情况,分别执行对应代码。
格式:
if(判断条件1){
语句1;

else if(判断条件2){
语句2;

else if(判断条件3){
语句3;

……
else if(判断条件n){
语句n;

else {
语句n+1;

注意:执行判断条件1,如果为真(非0),则执行其后的大括号中的语句1;如果判断条件1为假,则跳过语句1,执行判断条件2,如果为真(非0),则执行其后的大括号中的语句2;如果判断条件2为假,则跳过语句2,执行判断条件3,以此顺序执行,如果n个判断条件都为假,则执行else后面的语句n+1。

实例:输入一个百分制成绩,转换为ABCDE五级制成绩输出
A 90-100
B 80-89
C 70-79
D 60-69
E 0-59

#include
int main() {
int score;
printf('请输入一个成绩:');
scanf('%d',&score);

if(score>=90 && score<=100>
printf('A\n');
}
else if(score>=80 && score<=89>
printf('B\n');
}
else if(score>=70 && score<=79>
printf('C\n');
}
else if(score>=60 && score<69>
printf('D\n');
}
else if(score>=0 && score<=59>
printf('E\n');
}
else {
printf('输入有误\n');
}
retrun 0;
}

运行程序:
请输入一个成绩:82
B
进行第一个判断,82不在90-100之间,不执行第一个大括号里的语句,进入下一个判断,82在80-89直接,执行第二个大括号里的语句,结束程序。

特别注意:
1)不要在跟着if的小括号后面加分号(;);
2)当if和else后的语句块只有一个语句的时候,大括号{}可以省略。

2.switch的使用
作用:根据一个问题的多种情况,分别执行对应代码。
格式:
switch(表达式) {
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
……
case 常量表达式n:
语句n;
break;
default:
语句n+1;
break;
}

实例:输入1-7,输出对应数字周一到周日的英文单词。

#include
int main() {
int day;
printf('请输入一个数字(1-7之间):');
scanf('%d\n',&day);

switch(day) {
case 1:
printf('Monday\n');
break;
case 2:
printf('Tuesday\n');
break;
case 3:
printf('Wednesday\n');
break;
case 4:
printf('Thursday\n');
break;
case 5:
printf('Friday\n');
break;
case 6:
printf('Saturday\n');
break;
case 7:
printf('Sunday\n');
break;
default:
printf('输入有误\n');
break;
}
return 0;
}

运行程序:
请输入一个数字(1-7之间):6
Saturday
输入6,程序直接跳转到case 6,执行printf('Saturday\n');,然后因为其后break,直接结束程序。

switch语句的穿透问题:
当case块里不加break的时候,会发生穿透;有break可以跳出当前的seitch语句。

总结:
能用switch解决的问题,也能用if解决;反之一样。
如果要判断范围的话,用if方面;如果要判断具体某个值,并且不是很多的时候,用switch方便、简洁。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
《零基础看得懂的C语言入门教程》——(六)轻松了解逻辑运算
详解C语言中条件判断语句if和switch的用法
C程序课件第5章分支
这样理解C语句跟程序流就对了
第五章 选择结构程序设计
条件语句
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服