做网站的公司叫什么问题,湖北宜昌网络科技有限公司,网站建设广告,高端网球拍C语言 --- 分支 语句分支语句含义if...else语句单分支if语句语法形式 双分支 if-else 语句语法形式 悬空else含义问题描述 多分支 if-else 语句语法形式 switch...case语句含义语法形式 总结 #x1f4bb;作者简介#xff1a;曾与你一样迷茫#xff0c;现以经验助你入门 C 语… C语言 --- 分支 语句分支语句含义if...else语句单分支if语句语法形式 双分支 if-else 语句语法形式 悬空else含义问题描述 多分支 if-else 语句语法形式 switch...case语句含义语法形式 总结 作者简介曾与你一样迷茫现以经验助你入门 C 语言 个人主页笑口常开xpr的个人主页 系列专栏C 启新程 ✨代码趣语C 语言是一种简洁、高效、强大的语言它能够让你做任何你想做的事情。 代码千行始于坚持每日敲码进阶编程之路。 在编程的世界里每一行代码都可能隐藏着无限的可能性。你是否想过一个小小的程序究竟能改变什么它可以是解决复杂问题的工具也可以是实现梦想的桥梁。今天就让我们一起走进 C 语言分支和循环的世界探索它的无限潜力。 语句 C语言的代码是由⼀条⼀条的语句构成的C语言中的语句可为以下五类 空语句表达式语句函数调用语句复合语句控制语句 分支语句
含义 在 C 语言中分支语句也被称为选择语句它通常用于根据不同的条件来执行不同的代码块。 if…else语句 if-else 语句是最基本的选择结构用于根据条件的真假来决定执行哪一段代码。 单分支if语句
语法形式
if(表达式)
{
//当表达式为真时执行的代码块。
}注如果表达式的结果为真则语句执行。在C语言中0表示假非0表示真。 下面展示一些 代码示例。 #include stdio.h
int main()
{int num 10;scanf(%d, num);//输入一个数字if (num 5) //if语句进行条件判断{printf(输入的数字大于5\n);}return 0;
}代码解释 在上面的代码中如果输入的数字大于5则会输出输入的数字大于5
反之则不输出。双分支 if-else 语句
语法形式
if(表达式)
{
//当表达式为真时执行的代码块。
}
else
{
//当表达式为假时执行的代码块。
}注在C语言中语句是以分号结束且从主函数开始执行自上而下依次执行的。 下面展示一些 代码示例。 #include stdio.h
int main()
{int num 10;scanf(%d, num);//输入一个数字if (num 5) //条件判断{printf(输入的数字大于5\n);//条件为真时执行}else{printf(输入的数字小于5\n);//条件为假时执行}return 0;
}代码解释 在上面的代码中如果输入的数字大于5则会输出输入的数字大于5这句话
反之则输出输入的数字小于5这句话。悬空else
含义 “悬空 else”是在使用 if-else 语句嵌套时容易出现的一个问题它涉及到 else 子句与 if 语句的匹配规则。 问题描述 在 C 语言中当有多个 if 语句嵌套且只有一个 else 语句时else 子句会和离它最近的、还未匹配 else 的 if 语句进行匹配即使在代码缩进上可能会让人产生误解这就可能导致程序的逻辑与开发者的预期不符从而出现 “悬空 else” 问题。 下面展示一些 代码示例。 #include stdio.h
int main()
{int a 0;int b 2;if (a 1)if (b 2)printf(hehe\n);elseprintf(haha\n);return 0;
}代码解释 在 C 语言中else子句总是与离它最近的、尚未匹配else的if语句相匹配。
这里的else是与内层的if (b 2)相匹配而不是外层的if (a 1)。
首先判断外层条件a 1由于a的值为0所以a 1这个条件不成立
那么内层的if-else语句就不会被执行。
由于外层if (a 1)条件不成立程序不会进入内层的if-else判断
因此不会输出任何信息程序直接结束。改进建议 为了避免 “悬空 else” 问题带来的逻辑混淆
建议使用**花括号{ }**明确代码块的范围让代码的逻辑更加清晰。下面展示 修改后的代码。 #include stdio.hint main()
{int a 0;int b 2;if (a 1) {if (b 2) {printf(hehe\n);}else {printf(haha\n);}}return 0;
}多分支 if-else 语句
语法形式
if(表达式)
{
//当表达式为真时执行的代码块。
}
else if(表达式)
{
//当if的表达式为假时且else if的表达式为真时执行的代码块。
}
...
...
else
{
//当前面的表达式都为假时执行的代码块。
}下面展示一些 代码示例。 #include stdio.hint main()
{int score 0;scanf(%d, score);if (score 90){printf(优秀\n);}else if (score 70) {printf(良好\n);}else if (score 60) {printf(及格\n);}else {printf(不及格\n);}return 0;
}代码解释 在上面的代码中如果输入的成绩大于等于90则会输出优秀
如果输入的成绩大于等于70小于等于90则会输出良好
如果输入的成绩大于等于90则会输出优秀
如果输入的成绩大于等于60小于等于70则会输出及格
反之如果分数小于60则输出不及格。switch…case语句
含义 switch 语句用于基于一个表达式的值从多个分支中选择一个来执行。 语法形式
switch (expression)
{case constant1:// 当 expression 的值等于 constant1 时执行的代码块break;//跳出switch...case语句case constant2:// 当 expression 的值等于 constant2 时执行的代码块break;// 可以有更多的 case 分支default:// 当 expression 的值与所有 case 常量都不匹配时执行的代码块break;
}注switch语句用于判断条件有多个结果的情况。 它把多重的else if改成更易用、可读性更好的形式。 switch后的expression必须是整型表达式。 case后的值必须是整形常量表达式。 case决定入口,break决定出口 下面展示第一个 代码示例。 //输入1~7的数字,打印对应的星期几
#includestdio.h
int main()
{int day 0; scanf(%d, day);switch(day){case 1:printf(星期一\n);break;case 2:printf(星期二\n); break;case 3:printf(星期三\n); break;case 4:printf(星期四\n); break;case 5:printf(星期五\n);break;case 6:printf(星期六\n);break;case 7:printf(星期日\n);break;}return 0;
}代码解释 此程序根据 day 的值输出对应的星期信息。
break 语句用于跳出 switch 语句;
若省略 break会继续执行后续 case 分支的代码。编程好习惯 1 在最后一个 case 语句的后面加上一条 break语句。
之所以这么写是可以避免出现在以前的最后一个case语句后面忘了添加 break语句。
2 在每个switch语句中都放一条default子句是个好习惯甚至可以在后边再加一个break。下面展示第二个 代码示例。 #includestdio.h
int main()
{int day 0;scanf(%d, day);switch (day){case 1:case 2:case 3:case 4:case 5:printf(工作日\n);break;case 6:case 7:printf(休息日\n);break;default:printf(输入错误,请输入1~7的数字\n);break;}return 0;
}代码解释 此程序根据 day 的值输出是工作日还是休息日。
如果输入1-5则输出工作日
如果输入6-7则输出休息日
反之则输出输入错误,请输入1~7的数字这句话。注default和case没有顺序要求,取决于编码习惯 总结 至此关于 C 语言的分支探索暂告一段落但你的编程征程才刚刚启航。写代码是与机器深度对话过程中虽会在语法、算法困境里挣扎但这些磨砺加深了对代码的理解。愿你合上电脑后灵感不断在 C 语言的世界里持续深耕书写属于自己的编程传奇下一次开启定有全新的精彩等待。小编期待重逢盼下次阅读见你们更大进步共赴代码之约