news 2026/5/26 6:41:53

更新补发第6天:7天学会C语言,每天5分钟,不需要基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
更新补发第6天:7天学会C语言,每天5分钟,不需要基础

这是更新补发的第6天的课程,内容是循环语句。

循环语句总共有三种:

for循环while循环do-while循环

第5天其实已经讲了一些for循环,今天再复习一下。

一、for循环

三个循环语句中我特别喜欢for循环,因为它很简洁。

我们先来看一个例子:

例1:编程输出100行:你好,C语言!

程序如下:

for循环的语法格式如下:

注意:当循环体只有一条语句时,循环体前后的大括号{ }可以去掉。

所以例1也可以写成:

循环体printf("你好,C语言!\n"); 前面的 { 和后面的 } 去掉了。

再看一个例子:

例2:编程输出从1到100的整数,每行输出1个。

程序如下:

例2也可以写成:

知道{ }的作用嗎?

if (條件) 語句;

if (條件) 語句1;else 語句2;

凡是語法中出現一條語句的地方,想要放多條語句,就用{ }。

这段话很简洁描述了大括号的作用,是头条友友ScholarMartin在我的评论区留言的,我原封不动放上来,非常感谢@ScholarMartin。

再次强调:当循环体只有一条语句时,循环体前后的大括号{ }可以去掉。

个人建议保留大括号{ },不要去掉。

例3:编程输入10个整数,求平均值。

注意输出是用printf( )函数,输入是scanf( )函数。

程序如下:

运行时输入10个整数,就可以得到平均值。

注意输入的10个整数,以回车间隔(就是输入一个整数就回车一次),或者以空格隔开(输入的10个整数之间用空格间隔,输入完10个数后回车),都行。

比如我输入1、2、3、4、5、6、7、8、9、10这10个整数,每输入1个数就回车一次,运行结果如下:

如果运行时输入10个整数,还是输入1到10,数字之间以空格隔开,输入完10个数以后回车,得到平均值。运行结果如下:

前面1到10是输入的10个整数,最后得到平均值是5.5。

注意之前说过,%f输出的实数默认保留6位小数,那么我只想保留2位小数怎么办呢?把输出语句中%f改成%.2f,就是%和f之间加上.2,注意2前面的小数点不要漏了,表示保留2位小数。

例4:编程输入10个整数,求平均值,要求输出的平均值保留2位小数。

运行时输入10个整数,还是输入1到10,数字之间以空格隔开,输入完10个数以后回车,得到平均值。运行结果如下:

还有一个问题,大家看程序中平均值变量ave的数据类型是float型,不是int型,因为平均值是可能有小数的,所以平均值变量的数据类型不是int,而是float型。

另外,求出总和s以后,除以10得到平均值,程序中不是

ave = s / 10 ;

而是

ave = s / 10.0 ;

因为这个除法运算符/, 它左右两边是整数的话,得出来的结果会自动取整(就是自动去掉小数部分),而它左右两边只要有一个为实数,结果才是实数。

比如: 55/10的结果是5, 55/10.0的结果是5.5, 55.0/10的结果也是5.5。

好了,我们再来看看while循环。

二、wile循环

for循环的循环次数是确定的,我一看

就知道循环要执行10次。

因为i一开始赋值为1,只要i小于等于10,就要执行循环体,执行循环体以后再执行i++(就是i增加1),每执行一次循环i加一次1,直到加到大于10才停止循环,所以知道循环次数为10次。

而while循环只看循环条件,循环次数不一定是确定的。

1、while语法格式

注意while括号后面没有分号。

当条件为真时,重复执行循环体,直到条件为假。

2、while执行步骤

首先判断条件是否为真,若为真执行循环体,然后再回头判断条件是否为真,重复这个过程,直到条件为假,再执行后续语句。

注意:如果一开始条件就为假,则循环体一次也不执行,直接执行while后续语句了。

3、实践

例5:编程求1+2+3+…+100的和。

运行结果为5050。

可能你觉得这道题还是用for循环简洁,确实,用哪种循环语句看个人习惯,你可以选用for循环,也可以选用while循环。

for循环可以改成while循环很简单:

for循环语法格式:

改成while循环就是:

前面讲了,一般循环次数确定时用for循环,循环次数不确定时用while循环。

例6:编程输入若干个整数,直到输入0为止,求这些整数的和。

这道题循环次数是不确定的,因为你不知道用户输入多少个数以后才输入0,所以我们用while循环实现。

运行时输入100、-2、90、0,则得出结果为188。

这里先输入一个整数n,才能判断n是否等于0,有些伙伴可能会犯这样的错误:

就是while之前没有输入n,此时n没有值,就无法判断它是否为0,所以这是不对的。

在判断n是否为0之前,n必须先有值。

所以在

之前,一定要有

这道程序还有一个容易错的地方,大家看以下程序有什么问题?

例7:程序功能为输入若干整数,直到输入0为止,求这些整数的和。请问如下程序有什么问题。

看出问题所在了吗?

这个程序,循环体中没有

也就是说,程序只输入了一次整数n,在循环没开始的时候输入的(while之前有一个scanf),

假设一开始输入的整数是10,那么程序是一个死循环,因为n永远值等于10,它没有办法改变,因为循环体里面没有重新输入,n就没有办法变成0,它永远是10,永远无法让条件为假,就是永远没法结束循环。

三、do-wile循环

while循环和for循环一样,都是先判断条件是否为真,如果条件为真就进入循环,直到循环条件为假则结束循环。那么,如果一开始条件就为假,则循环一次都不会被执行。

do-whille循环与前面两种循环不一样,它是先执行循环体,然后判断条件是否为真,如果循环为真则继续执行循环体,否则结束循环。

1、do-while语法格式

注意do后面没有分号,while(条件)后面有一个分号。

先执行循环体,然后判断条件,当条件为真时,重复执行循环体,直到条件为假。

2、do-while执行步骤

先执行循环体,然后判断条件,当条件为真时,重复执行循环体,重复这个过程,直到条件为假,再执行后续语句。

所以不管三七二十一,循环体至少会执行一次。

和for和while不一样,for和while如果一开始条件就为假,则循环体一次也不执行,但是do-while循环体至少会执行一次。

3、实践

例8:编程求1+2+3+…+100的和。

可以看出while改成do-while也很容易:

while的语法格式:

改成do-while语句如下:

例9:编程输入若干整数,直到输入0为止,求这些整数的和,用do-while实现。程序如下:

执行时如果输入100、-2、98和0,运行结果为196。

四、break语句和continue语句

1、break语句

break的功能:中断循环。

语法格式:

break;

break的意思就是中断循环,或者说跳出循环。

例10:下列程序的运行结果是什么?

运行结果只输出1和2:

循环体中,当满足条件( i%3==0 ),执行break; 中断循环,执行循环后续语句即printf(“\n”);

2、continue语句

continue语句功能:跳过循环体中在continue后面的语句,执行下一次循环。

语法格式:

continue;

break的意思是中断循环,而continue是跳过循环体后面的语句,执行下一次循环。

我们把例10中的break改成continue,看看发生了什么?

例11:下列程序的运行结果是什么?

运行结果是输出1 2 4 5 7 8 10,而3、6、9不能被输出:

当满足条件( i%3==0 )时,执行continue; 此时跳过continue;后面的语句printf(“%d ”, i);,执行下次循环,直到循环条件为假,才结束循环,执行后续语句printf(“\n”);

也就是说,当continue被执行时,它后面的语句printf(“%d ”, i);就不能执行了(跳过了),所以3、6、9没有输出。

break语句和continue语句没明白的也不要紧,可以先略过,你只要先懂得for、while和do-while循环就可以了。

另外强调一下,我们知道输入方式有两种状态:

C程序中的符号,只要不是输出信息的(不是在printf()的双引号里面的信息),那么所有的圆括号、尖括号、大括号、逗号、分号、双引号等等所有这些符号,都必须是这个状态下的符号:

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

TinyWave:语音语言模型的高效知识蒸馏技术

1. 项目概述在语音语言模型领域,模型规模与推理效率之间的矛盾一直是个棘手问题。当前主流语音模型动辄数十亿参数,虽然能生成流畅自然的语音,但对硬件资源的要求极高,难以在边缘设备或实时系统中部署。TinyWave项目通过创新的知识…

作者头像 李华
网站建设 2026/5/26 6:39:22

全国第三:西京学院电子信息学院四个硬核专业的数据解读

高考结束,志愿填报成了头等大事。面对“电子信息工程”、“自动化”、“应用化学”、“光电信息材料与器件”这些专业名,你可能会困惑:它们到底学什么?毕业后能干什么?哪个更适合我?今天,我们不…

作者头像 李华
网站建设 2026/5/26 6:38:01

盒须图底层原理与Matplotlib/Seaborn实战精讲

1. 为什么我坚持用盒须图讲透数据分布——一个老数据人的真实体会你有没有过这种经历:辛辛苦苦跑完模型,把均值、标准差、p值全列在表格里,结果业务方盯着屏幕看了三分钟,只问一句:“那这组数据到底‘长啥样’&#xf…

作者头像 李华
网站建设 2026/5/26 6:37:24

Arduino IDE玩转Digispark Attiny85:保姆级环境配置与防变砖上传指南

Arduino IDE玩转Digispark Attiny85:从环境配置到安全上传的全方位指南Digispark Attiny85开发板以其小巧的体积和低廉的价格,成为物联网和嵌入式开发的入门利器。然而,许多开发者在初次接触这款微型开发板时,往往会在Arduino IDE…

作者头像 李华
网站建设 2026/5/26 6:36:22

居家冬天适合用哪种取暖罩 新 E 选品牌源头厂家推荐

气温走低之后,居家都需要一款保暖效果靠谱的取暖罩、烤火罩。新E 选品牌源头厂家双层复合款式,外层无溶剂PU、内里仿羊驼绒,绒面厚实柔软,锁温聚热表现不错,能满足日常桌下取暖需求。

作者头像 李华