首页 > 其他分享 >C语言循环

C语言循环

时间:2022-11-22 22:39:46浏览次数:41  
标签:语句 循环体 C语言 ii while 循环 超女


文章目录

  • ​​一、程序结构​​
  • ​​二、while循环​​
  • ​​三、do while循环​​
  • ​​四、循环的跳转​​
  • ​​五、while循环的应用​​
  • ​​六、for循环​​
  • ​​七、for循环嵌套​​
  • ​​八、循环的选择​​
  • ​​九、死循环​​
  • ​​十、应用技巧​​
  • ​​十一、课后作业​​
  • ​​十二、获取视频教程​​
  • ​​十三、版权声明​​

一、程序结构

在C语言程序中,一共有三种程序结构:顺序结构、选择结构(if和switch分支结构)、循环结构;

1)顺序结构

从头到尾一句接着一句的执行下去,直到执行完最后一句;

2)选择结构

执行到某个节点时,根据判断条件的结果来决定执行分支的方向,由if和switch实现。

3)循环结构

循环结构有一个循环体,循环体里是一段代码。对于循环结构来说,判断循环的条件,来决定是否继续执行循环体,由while、do while和for来实现。

二、while循环

while循环的一般形式为:

while (表达式)
{
语句块
}

意思是,先计算表达式的值,当值为真时(非0即是真),执行语句块,执行完语句块后,回到循环首部再次计算表达式的值,如果为真,又执行一次语句块……,这个过程会一直重复,直到表达式的值为假,就不再执行语句块

循环也常常出现在我们的生活中,以超女选秀为例。

// 超女已准备出场

while (是否有未出场的超女)
{
// 判断超女的年龄
// 判断超女的身材
// 判断超女的颜值
// 送往后宫
}

超女选秀就是一个循环,是否有未出场的超女是循环首部要判断的条件,它的取值会随着循环次数的增加而改变,判断超女的年龄、判断超女的身材、判断超女的颜值、送往后宫是循环体,随着循环次数的增加,全部的超女已出场,循环体不再执行。

三、do while循环

do while循环的一般形式为:

do
{
语句块
} while (表达式)

do while先执行一次循环,然后再判断表达式的值,如果为真,再执行一次循环体,如此重复下去。

在实际开发中,几乎不用 do while,所以就不讲它了。

四、循环的跳转

continue和break两个关键字用在循环体中,用于控制循环体代码的执行流程。

continue跳转到循环的首部。

break跳出循环。

以超女选秀为例:

// 超女已准备出场

while (是否有未出场的超女)
{
// 判断超女的年龄
if (年龄小于16岁) continue;
// 判断超女的身材
if (身材不火辣) continue;
// 判断超女的颜值
if (颜值不漂亮) continue;
// 判断已选出的超女数量,如果已经有10位了,就不要再选了
if (已选出的超女数量等于10) break;
}

// 送往后宫

超女出场后,先看看身份证上的年龄,如果不够16岁,没到法定年龄,评委就会说直接下一个,即continue,这个不够16岁的小姑娘直接回家。

如果本次选秀的任务是选出10位超女,如果选出的超女已经有10位了,活动结束,即break,没选上的和没出场的直接回家。

五、while循环的应用

利用一个循环,把用户每次从键盘输入的数据累加起来,如果总和超过了5000,循环结束。

示例(book31.c)

/*
* 程序名:book31.c,此程序用于演示while循环
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main()
{
int times=0; // 记录用户输入数据的次数
int value=0; // 用户每次从键盘输入的数据
int sum=0; // 记录用户输入数据的和

while (sum<5000) // 如果sum的值小于5000,进入循环
{
printf("请输入数字:"); // 提示用户输入
scanf("%d",&value); // 接受用户从键盘输入的数据

times++; // 用户输入数据的次数自增1
sum=sum+value; // 记录用户输入数据的和
}

printf("您一共输入了%d个数据,和为%d。\n",times,sum);
}

运行效果

C语言循环_c语言

六、for循环

for循环的一般形式为:

for (语句1;表达式;语句2)
{
语句块
}

1)for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1

2)接着判断表达式的条件,如果条件成立,就执行一次循环体中的语句块

3)语句块执行完后,接下来会执行语句2

4)重复第2)步和第3),直到表达式的条件不成立才结束for循环。

注意:

1)在for循环中,语句1表达式语句2都可以为空,for (;;)等同于while (1)。

2)continue和break两个关键字也可以用在for循环体中。

for循环一般与计数器一起使用。例如:把1到100之间的数值累加起来。

示例(book33.c)

/*
* 程序名:book33.c,此程序用于演示for循环
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main()
{
int ii=1; // 用于for循环的计数器
int sum=0; // 记录1到100的累积值

for (ii=1;ii<=100;ii++)
{
sum=sum+ii;
}

printf("1到100的累积值为%d。\n",sum);
}

运行效果

C语言循环_数据_02

七、for循环嵌套

我们再来看超女选秀例子,超女共分为3组,每组有4位超女,主持人利用for循环嵌套来安排超女们出场。

示例(book35.c)

/*
* 程序名:book35.c,此程序用于演示for循环的嵌套
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main()
{
int ii=0; // 超女分组编号的计数器
int jj=0; // 每组超女序号的计数器

for (ii=1;ii<=3;ii++)
{
for (jj=1;jj<=4;jj++)
{
printf("第%d组的第%d位超女出场。\n",ii,jj);
}
}
}

运行效果

C语言循环_while循环_03

八、循环的选择

for循环可以实现while循环的功能,while循环也可以实现for循环的功能,没有那个更好的说法,要看应用场景。

for循环更合适事先知道循环总次数的场景,一般与计数器或数组结合一起使用,数组的知识我们在后面介绍。

while循环更合适事先不知道循环总次数的场景,以达到某个目标为目,例如超女选秀,报名有多少人没关系,已选够10位或没人可选是循环的结束。

九、死循环

死循环是指循环的条件永远为真。

while(1)
{
// 循环体
}

出现死循环的情况有两种:1)程序的逻辑错误;2)程序员故意为之。第一种情况就不说了,程序员自己去解决,第二种是程序功能的需要,但是程序员仍有其它的办法让程序中止,这么说可能难以理解,没关系,在以后的课程中将会介绍。

如果您的程序不小心进入了死循环,可以用Ctrl+c中止。

十、应用技巧

1)for循环的计数器,习惯的写法是for (ii=0;ii<=10;ii++),表示从0、1……到10,从小到大的方式计数,但是在某些应用场景中,可能需要从大到小的方式计数,for (ii=10;ii>=0;ii–),也是可以的。

2)for循环的计数器,习惯的写法是for (ii=0;ii<=10;ii++),表示从0、1……到10,从小到大一次增加1的方式,但是在某些应用场景中,计数器不一定是增加ii++,ii=ii+2也是可以的。

十一、课后作业

1)采用一个while循环,把1到100之间的数值累加起来,实现book33.c程序的功能。

2)采用一个for循环,把用户每次从键盘输入的数值累加起来,如果总和超过了5000,循环结束,实现book31.c程序的功能。

3)采用您认为更合适的循环,输出九九乘法表,如下:

C语言循环_for循环_04


4)采用一个while循环,接受键盘输入的整数,如果输入的整数大于100,丢弃;如果输入的整数小于等100,把每次输入值累加起来,如果输入的整数值为0,跳出循环。最后显示输入了的有效的数据(大于0小于等于100的数)的个数,并显示有效数据的总和。

5)采用一个循环,输出0到100之间的偶数。

6)采用一个循环,输出0到100之间的能整除5的数字。

7)一共有5名超女,采用一个循环,在界面上输入超女数据,按下列要求选出妃子、宫女和杂役。循环结束后,显示选秀结果(妃子、宫女、杂役的人数)。

妃子:(1)年龄18-25岁;(2)身高165-178cm;(3)身材火辣;(4)颜值漂亮。

宫女:(1)年龄18-30岁;(2)身高160-165cm;(3)身材火辣或者普通;(4)颜值一般。

嬷嬷:(1)年龄35-40岁;(2)身高155-165cm;(3)身材普通或者飞机场;(4)颜值一般。

十二、获取视频教程


十三、版权声明


作者:码农有道

如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!


标签:语句,循环体,C语言,ii,while,循环,超女
From: https://blog.51cto.com/u_13748800/5878556

相关文章

  • C语言switch分支结构
    文章目录​​一、ifelse的不足​​​​二、switch语句​​​​三、注意事项​​​​四、课后作业​​​​五、获取视频教程​​​​六、版权声明​​一、ifelse的不足C语......
  • C语言数组
    文章目录​​一、数组​​​​二、占用内存的大小​​​​三、数组的初始化​​​​四、注意事项​​​​五、在for循环中数组​​​​六、二维数组​​​​七、多维数组​......
  • C语言函数
    文章目录​​一、函数的概念​​​​1、函数的概念​​​​2、函数的分类​​​​二、自定义函数的声明​​​​三、自定义函数的定义​​​​四、自定义函数代码的组织​​......
  • C语言变量的作用域
    文章目录​​一、变量的作用域​​​​二、全局变量​​​​三、局部变量​​​​四、函数的参数​​​​五、注意事项​​​​六、课后作业​​​​七、获取视频教程​​​......
  • C语言指针
    文章目录​​一、变量的地址​​​​二、指针​​​​三、对指针赋值​​​​四、通过指针操作内存变量​​​​五、再来讨论函数的参数传递​​​​六、空指针​​​​七、......
  • C语言字符
    文章目录​​一、ASCII码表​​​​1、ASCII控制字符(字符编码:0-31)​​​​2、ASCII可打印字符(字符编码:32-127)​​​​3、转义字符​​​​二、字符就是整数​​​​......
  • C语言浮点数
    文章目录​​一、浮点数的概念​​​​二、占用内存的情况​​​​三、浮点数的精度​​​​1、测试float类型​​​​2、测试double类型​​​​3、测试longdouble类型​......
  • C语言文件操作
    文章目录​​一、文本数据和二进制​​​​1、文本数据​​​​2、二进制数据​​​​3、文本文件和二进制文件​​​​二、打开文件​​​​1、文件指针​​​​2、打开文......
  • C语言目录操作
    文章目录​​一、获取当前工作目录​​​​二、切换工作目录​​​​三、目录的创建和删除​​​​四、获取目录中的文件列表​​​​1、包含头文件​​​​2、相关的库函数......
  • C语言目录和文件操作扩展
    文章目录​​一、access库函数​​​​二、stat库函数​​​​1、stat结构体​​​​2、stat库函数​​​​三、utime库函数​​​​四、rename库函数​​​​五、remove库......