前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >9-流程控制(中)

9-流程控制(中)

作者头像
Python知识大全
发布2020-02-13 14:04:44
2910
发布2020-02-13 14:04:44
举报
文章被收录于专栏:Python 知识大全

四、循环结构1-while循环 假如要你在屏幕上重复输出10次Hello World,你会怎么做?简单,把下面的代码拷贝10份就行了。 1 printf("Hello World\n"); 没错,把上次代码写10遍,确实能实现功能。但是这样的代码太垃圾了,有很多的重复的代码,这样会使得代码非常地臃肿,复用率低。因此,不建议这么做。 下次遇到像上面那样重复执行某个操作时,首先要想到的应该是循环结构。所谓循环,就是重复执行某一个操作,C语言中有多种方式可以实现循环结构。先来看看while循环。 1.形式 1 while ( 条件 )

2 {

3 语句1;

4 语句2;

5 ....

6 } 如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环 while循环的特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行 可以省略大括号{},但是只会影响到while后面的第一条语句。不建议省略大括号。 1 while ( 条件 )

2 语句1; 2.举例 在屏幕上重复输出10次Hello World,每输出一次的换行。 1 int count = 0;

2 while ( count < 10 )

3 {

4 printf("Hello World\n");

5

6 count++;

7 } 如果省略第6行的count++,count就一直是0,那么count<10一直都是成立的,这个while循环将会陷入“死循环”,一直在重复执行第4行代码。 3.注意 如果写成下面这样,也会让程序进入“死循环” 1 int count = 0;

2

3 while ( count < 10 );

4 {

5 printf("Hello World\n");

6

7 count++;

8 } 注意第3行,while后面不小心加了个分号; ,一个分号表示一条空语句。 可以看出:while循环只会影响到第3行的空语句,而第4~8行的代码块是不受while循环影响的 由于count是0,那么count<10一直都是成立的,程序将会一直重复执行第3行的空语句,陷入死循环。


五、循环结构2-do while循环 形式如下: 1 do {

2 语句1;

3 语句2;

4 ...

5 } while (条件); 注意第5行,后面是加上一个分号;的 当执行到do-while循环时,首先会执行一遍循环体中的语句(“循环体”就是do后面大括号{}中的内容)。接着判断while中的条件,如果条件成立,就执行循环体中的语句。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环 do-while循环的特点:不管while中的条件是否成立,循环体中的语句至少会被执行一遍 其实do while循环的用法跟while循环是差不多的,这里就不举例子了。


六、循环结构3-for循环 1.形式 for循环是所有循环结构中最复杂的。 1 for (语句1; 条件; 语句2) {

2 语句3;

3 语句4;

4 ...

5 } for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1 接着判断条件,如果条件成立,就会执行循环体中的语句(“循环体”就是for后面大括号{}中的内容) 循环体执行完毕后,接下来会执行语句2,然后再次判断条件,重复上述过程,直到条件不成立就结束for循环 2.举例 1 for (int i = 0; i<5; i++)

2 {

3 printf("%d ", i);

4 } 输出结果为: 0 1 2 3 4 需要注意的是:变量i的作用域是第1~4行。一旦离开了这个for循环,变量i就失效了。 3.补充 如果for循环的初始化语句和循环一次后执行的语句是由多条语句组成的,就用逗号,隔开 1 for (int x = 0, y =0; x<3; x++, y+=2) 2 { 3 printf("x=%d, y=%d \n", x, y); 4 } 输出结果: x=0, y=0 x=1, y=2 x=2, y=4

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python 知识大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档