news 2026/10/30 18:32:08

C语言-分支语句和循环语句

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言-分支语句和循环语句

目录

一,分支语句和循环语句的分类:

二,分支语句

1,if

2,switch

三,循环语句

1,while循环

2,for循环

3.do……while循环

4,goto语句

四,练习实例

1,n的阶乘

2,计算1!+2!+……+n!

3,在一个有序数组内查找具体的某个数字n(二分查找)

4,演示多个字符从两端移动,向中间汇聚

5,演示用户登录场景

6,猜数字游戏


一,分支语句和循环语句的分类:

C语言的分支语句包含if,switch。循环语句包含while,for,do while,goto语句。

二,分支语句

1,if

分支语句if有三种形式:

1,if(表达式)+语句;

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

3.if(表达式)+语句1 + else if(表达式)+语句2 + else-语句3

//3,满足第一个if则执行语句1,不满足第一个满足第二个则执行语句2,都不满足执行语句3

2,switch


练习举例:

三,循环语句

1,while循环

2,for循环

表达式1:初始化部分,用于初始化循环变量

表达式2:条件判断部分,用于判断循环时候终止

表达式3:调整部分,用于循环条件的调整

例子:

输出结果为1,2,3,4,6,7,8,9,10

对比while

//当i==5时,中断导致i不能增加,一直为5;陷入死循环

输出结果为:1 2 3 4 死循环

建议:1,不可在for循环体内修改循环变量防止for循环失去控制

2,表达式2不建议用“<=",”>="的写法,尽量用“<"或">"。

for循环的四个变种:

1,

输出结果为:hehe 死循环

//分析:for循环的判断部分(表达式2)省略意味着for恒成立

2,

结果:9个hehe

3,

打印结果:三个hehe

结果分析:i,j 都没有赋值,导致导致第一次第二层的for循环执行3次后j==3 不小于3第二次的三次for循环无法执行

4.

结果:2个hehe

3.do……while循环

特点:do……while循环至少会执行一次,故不常用

例子:

结果:2~11没有5

4,goto语句

goto语句并不常用,最常用的用法是终止程序在某些深度嵌套的结构的处理过程。

例如:一次跳出两层或多层循环

含义:goto语句可以实现跳转

例子:

执行到goto可以直接跳出三层循环到error

四,练习实例

1,n的阶乘

2,计算1!+2!+……+n!

3,在一个有序数组内查找具体的某个数字n(二分查找)

4,演示多个字符从两端移动,向中间汇聚

5,演示用户登录场景

6,猜数字游戏

7,最大公约数

1,暴力枚举法求解

2,辗转相除法求解

8,将三个整数按从大到小输出

9,1到 100 的所有整数中出现多少个数字9

10,计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

11,求10 个整数中最大值

12,九九乘法表

13,变种水仙花数

妙用:sum +=(i/j) * (i%j);

通过for循环,让j每次变成原来的十倍,再在每次循环中对五位数每次取整和取余

​

五,补充

1,else语句总是和它的对齐的if语句匹配(x)

解析:若连续写两个if——else 语句第一个if 不会和已经对齐第二个if——else中的else进行匹配。

else只会和最近的if进行匹配。(就近原则)

2,while循环中条件表达式的执行次数总是比循环体的执行次数多一次

因为当条件不满足时条件表达式执行了一次,但是由于不进入循环内部,故不执行循环体。

3,BUG

屏幕报错:stack around the variable '数组名' was corrupted.(变量"数组名“周围的栈已损坏 )

错误原因:数组越界访问,写入数据超出数组分配的内存空间。

例:arr[1] = {0};

此时又利用scanf向arr中输入了个数超过1的各种数,就会出现上述报错。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 9:00:38

Web安全五大漏洞攻防实战与面试指南

1. Web安全工程师面试核心考点解析作为从业十年的安全工程师&#xff0c;我面试过上百名候选人&#xff0c;发现80%的求职者在Web安全基础问题上栽跟头。今天我们就来深度拆解面试必考的五大漏洞类型&#xff1a;SQL注入、XSS、CSRF、SSRF和XXE。这些知识点不仅是面试高频考点&…

作者头像 李华
网站建设 2026/10/21 23:41:20

重新定义Windows显示管理:SetDPI颠覆性技术揭秘与实战应用

重新定义Windows显示管理&#xff1a;SetDPI颠覆性技术揭秘与实战应用 【免费下载链接】SetDPI 项目地址: https://gitcode.com/gh_mirrors/se/SetDPI 在Windows多显示器工作环境中&#xff0c;我们经常面临一个令人沮丧的技术痛点&#xff1a;DPI缩放控制的局限性。传…

作者头像 李华
网站建设 2026/10/26 19:01:45

STDF Viewer终极指南:如何5分钟完成半导体测试数据分析

STDF Viewer终极指南&#xff1a;如何5分钟完成半导体测试数据分析 【免费下载链接】STDF-Viewer A free GUI tool to visualize STDF (semiconductor Standard Test Data Format) data files. 项目地址: https://gitcode.com/gh_mirrors/st/STDF-Viewer STDF Viewer是一…

作者头像 李华
网站建设 2026/10/22 15:15:59

LocalVocal:在OBS中实现完全离线的语音转文字与实时字幕

LocalVocal&#xff1a;在OBS中实现完全离线的语音转文字与实时字幕 【免费下载链接】obs-localvocal OBS plugin for local speech recognition and captioning using AI 项目地址: https://gitcode.com/gh_mirrors/ob/obs-localvocal 想要为直播添加专业级字幕&#x…

作者头像 李华
网站建设 2026/10/22 15:13:47

存货周转天数居高不下如何改善?存货周转天数拆解分析技巧

很多企业账面存货周转天数长期居高不下&#xff0c;大量流动资金积压在仓库&#xff0c;现金流紧张&#xff0c;仓储费、货品减值损失持续增加。不少财务只看整体周转天数&#xff0c;找不到库存积压核心品类&#xff0c;盲目清仓、压缩备货治标不治本&#xff0c;过段时间库存…

作者头像 李华