C语言之 循环语句:程序运行的核心动力(上)

embedded/2025/3/19 1:46:56/

个人主页:strive-debug

在 C 语言中,分支结构可以通过 `if`、`switch` 语句来实现,循环结构则可以通过 `for`、`while`、`do while` 语句来实现。

`if` 语句

`if` 语句的语法形式如下:

if (表达式)语句;

如果表达式成立(为真),则执行语句;如果表达式不成立(为假),则不执行语句。在 C 语言中,0 表示假,非0 表示真。因此,如果表达式的结果是0,则语句不执行;如果表达式的结果不是0,则语句执行。

代码演示:

#include <stdio.h>
int main()
{int num = 0;scanf("%d", &num);if(num % 2 == 1)printf("%d 是奇数\n", num);return 0;
}

如果一个数不是奇数,那就是偶数了。为了清楚地判断一个整数是奇数还是偶数,可以使用 `if...else...` 语句。语法形式如下:
 

if (表达式)语句1;
else语句2;

 例子
输入一个整数,判断是否为奇数,如果是奇数打印“是奇数”,否则打印“偶数”。

#include <stdio.h>
int main()
{int num = 0;scanf("%d", &num);if(num % 2 == 1)printf("%d 是奇数
", num);elseprintf("%d 是偶数
", num);return 0;
}

分支中包含多条语句


默认情况下,`if` 和 `else` 语句中只控制一条语句。例如:

#include <stdio.h>
int main()
{int age = 0;scanf("%d", &age);if(age >= 80){printf("该入土了
");printf("可以等着了
");}else{printf("你还有时间
");}return 0;
}

嵌套 `if`


在 `if...else` 语句中,`else` 可以与另一个 `if` 语句连用,构成多重判断。例如:输入一个整数,判断输入的整数是0,正数还是负数。

#include <stdio.h>
int main()
{int num = 0;scanf("%d", &num);if(num == 0)printf("输入的数字是0
");else if(num > 0) // 这里的 if 相当于嵌套在 else 语句中,形成了嵌套结构printf("输入的数字是正数
");elseprintf("输入的数字是负数
");return 0;
}


有了嵌套 `if` 语句,就可以完成更多复杂逻辑的判断。

 悬空 `else` 问题


如果有多个 `if` 和 `else`,记住这样一条规则:`else` 总是跟最接近的 `if` 匹配。例如:

#include <stdio.h>
int main()
{int num = 0;scanf("%d", &num);if(num == 0)printf("输入的数字是0
");else if(num > 0) // 这里的 if 相当于嵌套在 else 语句中,形成了嵌套结构printf("输入的数字是正数
");elseprintf("输入的数字是负数
");return 0;
}


通过适当的大括号,可以让代码的逻辑更加清晰,提高可读性。

 `switch` 语句


`switch` 语句根据表达式的值使程序跳转到不同的代码段去执行。其语法形式如下:

switch (表达式)
{case 常量1:语句1;break;case 常量2:语句2;break;// ...default:语句n;break;
}

输入任意一个整数值,计算除3之后的余数
使用 `if` 语句完成:

#include <stdio.h>
int main()
{int n = 0;scanf("%d", &n);if(n % 3 == 0)printf("整除,余数为0
");else if(n % 3 == 1)printf("余数是1
");elseprintf("余数是2
");return 0;
}


使用 `switch` 语句改写:

#include <stdio.h>
int main()
{int n = 0;scanf("%d", &n);switch(n % 3){case 0:printf("整除,余数为0
"); break;case 1:printf("余数是1
"); break;case 2:printf("余数是2
"); break;}return 0;
}


注意事项:
1. `case` 和后边的数字之间必须有空格。
2. 每一个 `case` 语句中的代码执行完成后,需要加上 `break`,才能跳出这个 `switch` 语句。


http://www.ppmy.cn/embedded/173729.html

相关文章

基于python的图书馆书目推荐数据分析与可视化-django+spider+vue

开发语言&#xff1a;Python框架&#xff1a;django spiderPython版本&#xff1a;python3.8数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 系统登录 管理员功能界面 用户管理 小说信息管理 图书借阅管理 系统管理 看板…

正式进入linux 1.0

切记&#xff1a;在Linux中空格很重要 回车键也很重要&#xff0c;不要按两次回车键 ls是显示当前所有文件夹 具体解释&#xff1a; 前面的东西是用户名 后面的是设备名&#xff08;计算机名&#xff09; 这是因为linux允许不同用户在终端下进行操作&#xff0c;这么做可以…

【实习经历Two:参与开源项目,学习并应用Git】

前端参与开源项目中使用过的git 1.参与开源项目&#xff08;必备技能——git) 参与开源项目首先需要进入自己想参加的项目页面 点击右边的Fork即可复制到自己的仓库 像个人开发时常用的add、commit和push等命令就不过多介绍了&#xff0c;在这里主要是想记录一下自己作为从未…

Linux服务器跑python脚本定时任务

设置定时任务跑python脚本&#xff1a; 1、打开内网服务器。 2、确认 Python 脚本的路径&#xff0c;如&#xff1a; /home/user/scripts/my_script.py 3、确认 Python 解释器路径&#xff0c;如&#xff1a;which python3则可以出现python解释器的路径&#xff1a;/usr/bin/py…

【从0到1学Redis】Redis基础篇

Redis通用的命令和数据结构 Redis通用命令 KEYS&#xff1a;查看符合模板的所有key&#xff0c;可以使用通配符*&#xff08;不建议在生产环境设备上使用&#xff09; DEL&#xff1a;删除一个指定的key&#xff0c;返回值为一个integer类型的值&#xff0c;表示删除的数量 EX…

课程分享 | 智能网联汽车网络安全测试框架

汽车智能化带来巨大网络安全风险 据公安部2024年1月统计&#xff0c;我国汽车保有量已达3.36亿辆&#xff0c;全国有94座城市汽车保有量超过100万辆。 与此同时&#xff0c;智能网联汽车的发展势头迅猛。2023年我国搭载组合驾驶辅助系统的智能网联乘用车新车销售约950万辆&…

Julia语言的饼图

Julia语言的饼图&#xff1a;全面剖析与实战指南 引言 在数据可视化的领域中&#xff0c;饼图作为一种经典的可视化工具&#xff0c;广泛用于展示各个分类在总体中的占比关系。尽管饼图在一些数据分析师中被视为相对简单和直观的图形&#xff0c;但它在实际运用中依然扮演着重…

hadoop集群配置-整体介绍

Hadoop的运行模式 把三个虚拟机的hadoop和jdk都安装成功