当前位置: 首页 > news >正文

网站用的字体收录查询 站长工具

网站用的字体,收录查询 站长工具,烟台网站建设哪家便宜,wordpress nginx安装目录C语言 --- 分支 语句分支语句含义if...else语句单分支if语句语法形式 双分支 if-else 语句语法形式 悬空else含义问题描述 多分支 if-else 语句语法形式 switch...case语句含义语法形式 总结 💻作者简介:曾与你一样迷茫,现以经验助你入门 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.h>int 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.h>int 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的数字,打印对应的星期几
#include<stdio.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。

下面展示第二个 代码示例

#include<stdio.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 语言的世界里持续深耕,书写属于自己的编程传奇,下一次开启,定有全新的精彩等待。小编期待重逢,盼下次阅读见你们更大进步,共赴代码之约!

http://www.tj-hxxt.cn/news/14458.html

相关文章:

  • 高网站建设无线网络优化是做什么的
  • wordpress 分类做导航栏google关键词优化
  • java多人视频衡阳seo排名
  • 一 建设网站前的市场分析360官方网站网址
  • wordpress 读取数据库南京seo网络推广
  • 免费做ppt网站永久免费建个人网站
  • 怎么做属于自己的免费网站windows优化软件
  • 苏州新区网站制作公司互联网推广有哪些方式
  • 在线商城网站模板360网站推广
  • 如何建设一个不备案的网站销售新手怎么找客源
  • 免费网站在线客服国内十大4a广告公司
  • 推进门户网站建设推广方案万能模板
  • 自己如何制作动漫短视频网络seo优化公司
  • 做文化建设的网站百度的总部在哪里
  • 天津企业模板建站最基本的网站设计
  • 网站制作 招聘试分析网站推广和优化的原因
  • 国内免费可商用图片素材网站友情链接的方式如何选择
  • 长寿网站制作电子商务说白了就是干什么的
  • 如何备份wordpress数据库结构win10优化软件
  • 北京响应式网站建设推荐网络销售平台有哪些
  • 网站系统下载我为什么不建议年轻人做运营
  • 没有空间可以做网站吗定制建站网站建设
  • 做推广哪家网站好百度app安装下载
  • 相亲网站如何做自我介绍百度查询最火的关键词
  • 连云港市网站建设搜一下百度
  • php 同学录在线网站开发百度搜索引擎优化的方法
  • 深圳宝安网站建设营销推广活动策划方案大全
  • 室内设计软件自己设计东莞网站优化
  • 做海报图片的网站现场直播的视频
  • 滨州wordpress建站seo优化快速排名技术