c语言分支和循环(二)

前言:在第一期讲述了if语句,和操作符及switch的基本使用及细节说明。本节将谈论循环及语句的使用。

目录

1.while循环

2.for循环

(2.1)for循环的语法形式

(2.2)  while循环与for循环的对比

  (2.3)for循环练习题

3.do—while循环

(3.1)do—while循环的语法形式:

(3.2)do while 的练习:

4.break和continue语句

(4.1)break和continue语句的含义

(4.2)while循环的break和continue

(4.3)for循环的break和continue

(4.4)do—while循环的break和continue

5.循环的嵌套和goto语句

(5.1)循环的嵌套

(5.2)循环的练习

(5.3)goto语句


1.while循环:

(1.)while循环的表达式:

  

语法结构上来说与if的语法结构相似

实例


从图中不难看出if在图中运行一次,而while循环在没有终止之前会一直重复打印实现循环的效果。

通过流程图可以看出首先上来执行表达式,值为0则跳出循环结束while,若不为0,则进入语句重新回到表达式之中继续运行,,语句执⾏完后再继续判断,是否进⾏下⼀次判断。

练习题

输⼊⼀个正的整数,逆序打印这个整数的每⼀位

例如: 输⼊:1234,输出:4321 输⼊:521,输出:125

注:1.想要得到n的最低位,得用%号,用n%10得到最低位

       2.想要去掉n的最低位,用/号,用n/10去掉最低位。

2.for循环

(2.1)for循环的语法形式:

for循环的执行流程图:

 for循环的实践:

(2.2)while循环与for循环的对比:

for 和 while 在实现循环的过程中都有初始化、判断、调整这三个部分,但是 分⾮常集中,便于代码的维护,⽽如果代码较多的时候 式上 for 循环要更优⼀些。 for 循环的三个部 while 循环的三个部分就⽐较分散,所以从形式

 (2.3)for循环练习题:

计 算1~100之间3的倍数的数字之和

优化:

 如果能直接产⽣ 3 的倍数的数字就省去了多余的循环和判断

3.do—while循环

(3.1)do—while循环的语法形式:

从语法形式上来看,do后面接入语句而while循环在语句后面,说明不管怎样do—while循环会至少进行一次语句。

循环一次语句后再看表达式,表达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。

do—while的循环执行图:

所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。

(3.2)do while 的练习:

在屏幕上打印1~10的数字

输⼊⼀个正整数,计算这个整数是⼏位数? 例如: 输⼊:1234 输出:4 输⼊:12 输出:2

这个代码适合使用do—while循环语句,应为n即使是0也要统计一次次数。

4.break和continue语句

(4.1)break和continue语句的含义

break和continue语句这两个关键字,在循环出现状况时,可以提前终止循环。

 break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执   ⾏。     

continue的作用是跳过本次循环中continue后边的代码,在for循环和while循环中有所差异的。

(4.2)while循环的break和continue

break举例:

从图中可以看出加入break后,在m=5后break永久终止循环,不在进行以下操作。

continue举例:

在加入continue语句后,编译过程只编译了1234,这是因为/当 i 等于 5 后,就执⾏ continue ,直接跳过 continue 的代码,去循环的判断的地⽅。因为跳过了m++,所以m一直为5,一直进入m=5的死循环中。

注;所以continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接到判断的下一判断部分,进行下一次的判断。,如果循环的调整是在 continue 后边的话,可能会造成 死循环。

(4.3)for循环中的break和continue

  break举例:

由图可以得出其实for循环其实和while循环结果一样,说明只要遇到break就终止循环了。

continue举例:

从这图与刚刚的while循环发现有所不同,因为在for循环中当m=5时,continue跳出当前循环,又返回到for循环进行自增,然后继续运行打印直到打印到m=10;

while循环与for循环在continue的区别在表达式中,for循环有自增,而while循环在表达式中没有。

(4.4)do—while循环中的break和continue

break举例:

continue举例:

   运行结果其实与while结果相同,所以二者break和continue在循环中作用一样。

5.循环的嵌套和goto语句:

(5.1)循环的嵌套:就是将while,do—while,for循环这三种循环嵌套在一起解决实际问题,一下给出一道练习题。

(5.2)嵌套练习题:

找出100~200之间的素数,并打印在屏幕上。

注:素数⼜称质数,只能被1和本⾝整除的数字。

注:在两个for循环中使用if语句之后,需要加入大括号阔上,保证break的正常使用。

(5.3)goto语句:

作用:可以实现在同一个函数内调制设置好的标号处。

通常上不常用goto语句,因为goto语句随意跳转,容易混乱代码程序。

但是goto语句在多层代码循环上,如果想快速调转出去,可以使用goto语句。

如在多个for循环嵌套时,使用break只能跳出一层循环,但是用goto语句可以快速跳出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值