C语言基础——循环详解!

循环:有些事情可以反复执行 算法里面三大结构之循环结构。

while 循环

do...While循环

For循环

一、while循环

1、形式:

while (表达式) //

{

//语句

}

表达式 每一次循环都要判定表达式的值 如果为真(表达式的值为1)执行循环 否则不再执行循环

为假的时候不循环(跳出循环),执行后面的代码。

执行流程:(1)第一次进入while循环执行b前,先判断a。

(2)根据条件判断是否执行b和c,如果条件判断a为真(true),继续执行循环主

体;若条件判断值a为假(false),则跳出循环不再执行b 代码。继续执行循

环后面的代码

(3)执行完b 后,继续判断a是否满足条件。由于while循环不会自行更改循环控 制变量的内容,所以while循环中为循环控制变量赋值的工作要由设计者自己来 做,完成后再回到步骤(2)重新判断是否继续执行循环。

小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:870963251!适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程

二、Do.....while

do

{

语句;

} while (表达式);

先执行一次循环里面的代码,然后对表带是求值,值为真接着循环,值为假跳出循环。

语句先执行一次,在进行判断,while先判断后执行。(仅仅只有第一次循环是这样)

int tarNumber = 88, inNumber=0;

printf("请输入一个数字: ");

do

{

scanf("%d", &inNumber);

if (inNumber > tarNumber)

{

printf("太大了,亲! ");

}

if (inNumber < tarNumber)

{

printf("太小了,亲! ");

}

} while (inNumber!=tarNumber); //注意:循环的条件表达式

printf("恭喜你猜对了,这个数字是:%d",inNumber );

执行步骤:

(1)执行语句a和跳出循环条件b,转(2)

(2)计算while后面括号里表达式的值,若其结果非0,则转入(1),否则转(3)

(3)退出循环,执行循环体下面的语句。

注意:do……while语句最后的分号(;)不可少,否则提示出错。循环体至少执行一次

三、For

for (表达式1; 表达式2; 表达式3)

{

语句;

}

for语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合已知循环次数的情况。结构如下:

for ( [表达式 1]; [表达式 2 ]; [表达式3] ){语句4}

表达式1:一般为赋值表达式,给控制变量赋初值; 控制变量

表达式2:关系表达式或逻辑表达式,循环控制条件;控制条件

表达式3:一般为赋值表达式,给控制变量增量或减量;增量或减量

//======================【打印10次付出不亚于任何人的努力!】====================================

int i; //声明一个变量i

for (i = 0; i < 10; i++) //1、给i赋值为0 2、判断i<10 为真执行循环 为假不执行

{

printf("付出不亚于任何人的努力! ");

}

四、跳出循环用break(跳出) 或者continue(继续)

Break :不执行循环里面break后面的语句,直接跳出循环去执行后面语句。

Continue:不执行循环里面continue后面的语句,但是继续循环。

五、循环嵌套

一个循环体语句中又包含另一个循环语句,称为循环嵌套

For()

{

For()

{

}

}

int i, j;

for (i = 0; i < 9; i++) //循环9次 第一次循环

{

for (j = 0; j < 9; j++) //循环9次 循环9次

{

printf("*");

}

}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏潇涧技术专栏

Python Data Structures - C2 Sort

参考内容: 1.Problem Solving with Python Chapter5: Search and Sorting online_link ...

881
来自专栏互联网开发者交流社区

面向对象的Java实现

1-1:封装 a.为什么需要封装(封装可以是数据方便维护、增加实用性、方便扩展等等。通过面向对象的思想,模拟现实生活中的事物。) b.什么是封装(封装就是将...

861
来自专栏逸鹏说道

我为NET狂面试题-基础篇-答案

面向过程: 答案:图片只贴核心代码,完整代码请打开解决项目查看 (答案不唯一,官方答案只供参考,若有错误欢迎提出~) 99乘法表 https://githu...

36113
来自专栏工科狗和生物喵

【计算机本科补全计划】C++ Primer:指针和const限定符

正文之前 今天下午看了一下午的计算机组成与设计,结果好死不死的看到了设计部分--处理器的设计。天哪,我现在还只是一个准备给人装一台电脑做实验田的家伙,连用都不咋...

2824
来自专栏Java Web

Java学习笔记(2)——数据类型

终于要写点干货了,其实思考了很久下面一篇文章要写什么,主要的纠结点在于,既想要分享那些精美的知识,又怕这些知识不太好嚼。后来想想还是对初学者不太好友算了..一...

2783
来自专栏带你撸出一手好代码

Java元组的使用

元组在计算机领域有着特殊的意义,这个名字听起来似乎有些陌生, 平时在写代码也基本没什么应用场景, 然而, 出人意料的是, 元组跟程序设计密切相关, 可能有的同学...

5098
来自专栏Java3y

插入排序就这么简单

插入排序就这么简单 从上面已经讲解了冒泡和选择排序了,本章主要讲解的是插入排序,希望大家看完能够理解并手写出插入排序的代码,然后就通过面试了!如果我写得有错误的...

4848
来自专栏北京马哥教育

Python入门学习篇(10)-循环语句

当我们需要执行一个语句或者语句组多次,不可能将同样的语句写多遍,一是比较繁琐, 二是不利于维护,这时候循环语句就应运而生。下面是在大多数编程语言中的循环语句的一...

1010
来自专栏程序员互动联盟

【编程基础】聊聊C语言-常用运算符

上一篇我们讲了C语言中的基本运算符,他们就像基石一样奠定了我们进行基本算术运算的基础。我们马上将上一篇留得题的答案公布如下: 5/4=1 5.0/4=1.250...

3967
来自专栏Python小屋

Pythonic:递归、回溯等5种方法生成不重复数字整数

问题描述:从0到9这10个数字任选3个不重复的数字,能构成哪些三位数? So easy!看到这样的问题,很多人会写出类似(注意,只是类似,我为了使得本文几个函...

4087

扫码关注云+社区

领取腾讯云代金券