参考:
- 《标准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 |3
第2行 |1 |2 |3
第3行 |1 |2 |3
第4行 |1 |2 |3
第5行 |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以内的所有质数,感受我们之前学的所有知识的融合!
日常结尾语!如果以上说法有错误,希望大家可以在评论区及时订正,有问题也欢迎大家在评论区里提问,我会尽我所能帮助大家解决问题~