C语言教程(六):循环结构

参考:

  • 《标准C语言基础教程》(第四版)[美] Gary J.Bronson 著 张永健 等译

1. 前文回顾

首先先回答上次留下的小疑问,上代码:

#include <stdio.h>

#define FIRST_LEVEL_RATE 0.05
#define SECOND_LEVEL_RATE 0.07
#define THIRD_LEVEL_RATE 0.10

int main() {
    double money,interest;  //声明本金和利息
    int year;   //声明存款期限
    printf("请输入您要存入多少钱:");
    scanf("%lf",&money);
    printf("请输入您要存多少年:");
    scanf("%d",&year);

    if(year<=3)
    {
        interest=money*FIRST_LEVEL_RATE;
    }
    else if(year<=5)
    {
        interest=money*SECOND_LEVEL_RATE;
    }
    else
    {
        interest=money*THIRD_LEVEL_RATE;
    }
    printf("您将会获得利息%.2lf元",interest);
    return 0;
}

运行结果:
请输入您要存入多少钱:5000
请输入您要存多少年:3
您将会获得利息250.00元
Process finished with exit code 0

是不是很简单,大家在写这个代码的时候有没有感受到if语句和if...else if语句的区别,如果实在没感受到评论区告诉我,如果有的话我在下一期再说~

2. 本文概述

在本文我会介绍C语言中的3种循环语句:while语句,for语句,do-while语句循环嵌套以及和循环很搭配的两个单词break,continue

3. while语句

下面让大家看看while咋用!

while(循环条件)
{
	语句1;
	语句2;
	...
	语句n;
}

具体是什么意思呢,简单来说,满足循环条件了,开始执行里面的一系列语句,不满足了就不执行了。
我们再说一下循环结构的三个必要元素:条件式、初始值改变语句。这三个是缺一不可的!其实很简单,举个例子就懂了:

int a = 0;	//初始值
while(a<5)	//条件式
{
	printf("现在是:%d。\n",a);
	a++;	//改变语句
}

输出结果:
现在是:0。
现在是:1。
现在是:2。
现在是:3。
现在是:4

4. for语句

看看怎么用吧:

for(初始化列表;循环条件;改变语句)
{
	语句1;
	语句2;
	...
	语句n;
}

举个例子:

for(int a=0;a<5;a++)
{
	printf("现在是:%d。\n",a);
}

输出结果:
现在是:0。
现在是:1。
现在是:2。
现在是:3。
现在是:4

5. do-while语句

它和while语句很像,但是还是有区别。还是先说怎么用,然后再说区别:

do
{
	语句1;
	语句2;
	...
	语句n;
}
while(循环条件);	//注意!!!这有分号!!!

先说while语句,他是先判断,再进行循环,如果不满足条件就不进行本次循环了;do-while语句是先运行语句,然后判断满不满足条件,如果不满足就不进行下一次的循环。所以,有的时候,do-while语句可能会更加方便。
当然,do-while语句很神奇,它可以与对应的while语句或者for语句替换。

6. 循环嵌套

基本上循环都是可以一层套一层的,有点类似于俄罗斯套娃,我就简单举个for语句嵌套for语句的例子吧:

for(int i=0;i<5;i++)
{
	printf("第%d行 ",i);
	for(int j=0;j<3;j++)
		printf("|%d ",j);
	printf("\n");
}

输出结果:
第1|1 |2 |32|1 |2 |33|1 |2 |34|1 |2 |35|1 |2 |3

差不多就是这个意思啦,讲的很粗略,大家可以自行尝试其他的不同组合。

7. break和continue

这两个单词在循环中可谓是特别厉害了,下面看看厉害在哪吧。

7.1 break

这个可厉害了,他能打断循环,直接让循环结束。

int a = 0;	//初始值
while(a<5)	//条件式
{
	if(a==3)	//如果a=3,打断!
		break;
	printf("现在是:%d。\n",a);
	a++;	//改变语句
}

输出结果:
现在是:0。
现在是:1。
现在是:2

看吧,是不是很强!哈哈,再来看看continue吧。

7.2 continue

它不能让循环结束,但是它可以让循环的某一次结束,然后进行下一次循环。

int a = 0;	//初始值
while(a<5)	//条件式
{
	if(a==3)	//如果a=3,打断,继续下一次循环!
		continue;
	printf("现在是:%d。\n",a);
	a++;	//改变语句
}

输出结果:
现在是:0。
现在是:1。
现在是:2。
现在是:4

可见,循环还在继续,只是a=3的这一次不见了。

8. 结语

本次讲的都很浅,因为我觉得循环语句在以后每次写都会遇见,所以大家实践出真知吧,多用就会理解!大家可以尝试在屏幕上打印出100以内的所有质数,感受我们之前学的所有知识的融合!
日常结尾语!如果以上说法有错误,希望大家可以在评论区及时订正,有问题也欢迎大家在评论区里提问,我会尽我所能帮助大家解决问题~

发布了16 篇原创文章 · 获赞 11 · 访问量 1134

猜你喜欢

转载自blog.csdn.net/bjtu_linxinyu/article/details/104097928
今日推荐