计算机网站建设及管理,面包屑导航wordpress,上海板块做企业优化的公司,京东云擎 wordpress 二级域名系列文章目录 前期文章
【初识C语言】选择结构#xff08;if语句和switch语句#xff09;详细解答 文章目录系列文章目录前言一、循环结构的重要性和实现循环结构的重要性循环结构的实现1、用while语句实现循环2、用do…while语句实现循环3、用for语句实现循环二、循环的嵌套…系列文章目录前期文章【初识C语言】选择结构if语句和switch语句详细解答文章目录系列文章目录前言一、循环结构的重要性和实现循环结构的重要性循环结构的实现1、用while语句实现循环2、用do…while语句实现循环3、用for语句实现循环二、循环的嵌套和结束循环的嵌套提前结束循环1、break语句提前终止循环2、continue语句提前结束本次循环总结前言C语⾔是结构化的程序设计语⾔这⾥的结构指的是顺序结构、选择结构、循环结构。上期我们讲了选择结构的内容这期我们主要系统讲解其中的循环结构的知识帮助更多小伙伴认识和学习C语言欢迎各位小伙伴在评论区分享心得体会。一、循环结构的重要性和实现循环结构的重要性我们日常生活中需要解决一些重复性、机械性的操作比如求100以内所有整数之和求班级内50个同学的平均成绩。这些操作仅仅只是值不同但所进行的操作确实相同的如果只是一行一行代码去实现去挨个相加不仅浪费时间而且占用内存空间。因此我们可以使用循环结构去解决这些需要重复处理的问题。循环结构的实现C语言提供的循环结构语句主要有while语句、do…while语句和for语句。1、用while语句实现循环while语句的一般形式while(表达式)//表达式也称为循环条件表达式语句;//语句就是循环体while语句循环的特点是先判断条件表达式后执行循环体语句。要想要while循环构成有效循环需要指定两个条件1循环体即需要重复执行的操作2循环结束的条件即在什么情况下停止重复。执⾏判断表达式表达式的值为0循环直接结束表达式的值不为0则执⾏循环语句语句执⾏完后再继续判断是否进⾏下⼀次判断。举个例子求123……10的值是多少#includestdio.hintmain(){inti1,sum0;//定义变量i的初值为1sum的初值为0while(i10)//当i10条件表达式i10的值为假不执行循环体{//循环体开始sumsumi;//第1次累加后sum的值为1i;//i的值1为下次累加做准备}//循环体结束printf(%d,sum);//输出123……10的累加和return0;}如果你已经了解了while语句的基本用法现在轮到你来试试看了做做下面的这道题KiKi说祝福2、用do…while语句实现循环do…while语句的一般形式do循环体语句;while(表达式);do…while语句循环的特点是先无条件地执行一次循环体然后判断循环条件是否成立。对于同一个问题我们既可以用while语句来处理也可以用do…while语句来处理二者可以相互转换。还是这道例子求123……10的值是多少#includestdio.hintmain(){inti1,sum0;do//循环开始时不检查条件先执行一次循环体{sumsumi;i;}while(i10);//当i10时表达式i10的值为假跳出循环体printf(%d,sum);return0;}从上面的例子可以看出do…while和while都可以用在这道题里具体要使用什么语句看程序猿自己的心情。为了让大家更方便能看出do…while和while的区别我把代码进行修改一下#includestdio.hintmain(){inti11,sum10,sum20;printf(i %d\n,i);// 用do…while语句实现do{// 循环开始时不检查条件先执行一次循环体sum1sum1i;// 所以sum1会得到sum1i也就是01111i;}while(i10);// 当i10时表达式i10的值为假跳出循环体printf(sum1 %d\n,sum1);// sum1 11// 用while语句实现while(i10){// 当i10条件表达式i10的值为假跳出循环体sum2sum2i;// 因为循环体已跳过所以sum2表达式不执行i;}printf(sum2 %d\n,sum2);// sum2 0return0;}从上面的对比可以看出我们在进行一些无论如何都要执行至少一遍操作的循环的时候就可以使用do…while语句。当然如果你更擅长while语句也可以只是会多几步操作。如果你已经会使用do…while语句了那就再试试这道题这次使用do…while语句完成KiKi说祝福3、用for语句实现循环for语句对比前两个语句不仅更加灵活在实际使用过程中也是基本使用次数更多的。当然还是那句话——不管哪个语句能解决问题就好语句。for语句的一般形式for(表达式1;表达式2;表达式3)语句三个表达式的主要作用是表达式 1设置初始条件只执行一次。表达式 2循环条件表达式用来判断是否继续进行循环。在每次执行循环体前都先执行此表达式决定是否继续循环。表达式 3作为循环的调整。例如使循环变量增值它在每次执行完循环体才进行的。因此for语句也可以理解成for(循环变量赋初值;循环条件;循环变量增值)语句还是举个例子求123……10的值是多少#includestdio.hintmain(){inti0,sum0;for(i1;i10;i){// i赋值为1当i10时为假循环体结束如果为真i增值1sumsumi;}printf(%d,sum);return0;}可以看出对比while语句和do…while语句for语句不仅更加简洁而且更加一目了然。对于循环体代码非常多的while语句完全可以用for语句代替。好了如果你会使用for语句了那就再试试这道题使用for语句解决KiKi说祝福看到这里我们就可以小结一下对于已知重复次数的循环使用for语句更方便、更清晰。而仅知道循环结束的条件不知道循环次数的用while语句和do…while语句更简洁。二、循环的嵌套和结束循环的嵌套一个循环体内又包含另一个完整的循环结构称为循环的嵌套。while语句、do…while语句、for语句都可以互相嵌套。还是看个例子用循环输出一个“ * ”组成直角三角形#includestdio.hintmain(){inti,j;for(i0;i5;i){// for语句循环j0;// 给j赋初值while(ji){// while语句的循环条件表达式printf( * );j;// 最后执行增值操作如果不增值那while将一直循环下去}printf(\n);}return0;}我们可以清楚的看到for语句的循环体里面包含了while语句循环这就是嵌套。当然你也可以用把while语句循环换成do…while语句或者for语句。下面就做道非常经典的例题来检验一下吧。九九乘法表提前结束循环在正常情况下循环语句会根据事先指定的循环条件正常执行和终止循环但当出现某种情况的时候需要提前结束正在执行的循环。比如在征集善款的时候每个人捐赠的钱数都是不确定的但只要捐到目标额度就不需要再进行捐款了就可以退出循环。提前结束循环的语句有两个break语句和continue语句。1、break语句提前终止循环break语句的一般形式为break;break语句的作用是使流程跳转到循环体之外接着执行循环体下面的语句。下面举个栗子假设一百个学生进行捐款每个人捐款的数额由用户输入捐款的数额达到1000元就结束。#includestdio.hintmain(){intstudent,amount0,total0;// amount代表捐款数total用来存放捐款总数for(student1;student100;student){printf(请输入捐款数额);scanf(%d,amount);//捐款数由用户输入totaltotalamount;if(total1000){//当捐款总数大于等于1000元时就执行下面语句break;//break跳出循环体跳出的是for循环体}}printf(%d\n,total);return0;}这里小伙伴容易有个误区在这里进行声明break语句跳出的不是if语句里面的语句而是整个for循环的循环体。笔记break语句只能用于循环语句和switch语句不能单独使用。2、continue语句提前结束本次循环continue语句的一般形式为continue;continue语句的作用是结束本次循环即跳过循环体中下面尚未执行的语句然后进行下一次是否执行循环的判定。通常用于并不希望终止整个循环而只是希望提前结束本次循环接着执行下次循环的情况就可以用continue。举个例子要求输出100~200之间不能被3整除的数。#includestdio.hintmain(){intn;for(n100;n200;n){if(n%30){//当n能被3整除时执行continue语句continue;//跳过循环体进行下一个循环判定}printf(%d ,n);//因为能被3整除的数都被跳过了所以输出的都是不能被3整除的数}return0;}笔记continue语句只能用于循环语句中。学到了这里针对break和continue语句我们再做一个练习巩固下KiKi求质素总结这期内容我们重点学习了循环结构的三种语句和提前结束循环的两种语句希望小伙伴有所收获。喜欢这期内容的小伙伴可以点个赞支持一下小霍尽快更新下一期内容。