C语言入门第九篇,循环语句

循环是程序中最常见的一个语句,毕竟计算机每天都在做一些循环的工作。下面我们来看看循环的语句。

while

while是个很简单的循环,它的语法如下:

while(判断条件)
执行语句

while的语法类似if,只要满足while的判断条件, 执行的语句会一直循环。while会先判断条件是否为真,为真就会执行我们写的语句,然后再判断条件是否成立,再执行我们写的语句,这样循环,直到判断条件为假。可以试试下面的代码:

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);//输入一个整数
    while(n--)//这个循环输出hello world,n每次循环自减一
    {
        printf("hello world!\n");
    }
    return 0;
} 

n当自减到零时条件判断为假,跳出循环,程序结束。上面的程序就是让用户输入n,然后根据n的值输出n个hello world。和if一样while同样可以使用逻辑操作符并且循环里面还可以嵌套循环。

我们再来看看两个会在循环里面用到的语句:

break和continue

break是直接终止循环。continue是终止本次循环。
我们用代码来感受一下吧。我们用上面那个例子。上面那个程序,如果你输入负数的话会无线循环。因为当n为0的时候才会判断为假。非零都为真。所以我们让程序判断如果为负数就跳出循环。

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);//输入一个整数
    while(n--)//这个循环输出hello world,n每次循环自减一
    {
        if(n<0)
        break;
        printf("hello world!\n");
    }
    return 0;
} 

我们再来看看continue。我们从1输出到10。但是我们不输出5这个数:

#include<stdio.h>

int main()
{
    int n=0;
    while(n<10)
    {
        n++;
        if(n==5)
        continue;
        printf("%d\n",n);
    }
    return 0;
} 

do……while

do……while类似while,我们看看他的用法:

do
执行语句
while(判断条件);

我们把最上面的程序改为do……while形式:

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    do
    {
        printf("hello world!\n");
    }
    while(n--);
    return 0;
} 

是不是感觉和while差不多,只是结构变了一下,while后面多了个分号。但是如果你把这个程序拿去执行就会发现一个问题,当你输入5时,程序输出了6个hello wolrd!为什么呢?因为程序会按照从上到下的顺序先执行一次,再做判断。所以这也是它和while的区别,如果执行的语句必须执行一次则可以选用do……while。

for

for是很重要的一个循环。它相对于前面两个循环来说要复杂一些。我们来看看它的用法:

for(初始化语句;条件判断;调整语句)
执行语句

在执行for的时候,第一次会执行初始化语句,之后都不会执行。接着会执行条件判断语句,满足条件则开始循环,否则跳出循环。调整语句会在每次循环完成,条件语句执行之前执行。这三个表达式每一个都是可以省略的。如果省略省略就表示不做相应的操作,省略条件判断则一直为真,程序无限循环。我们来看看将最上面的while改成for的例子吧。

#include<stdio.h>
int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        printf("hello world!\n");
    }
    return 0;
} 

我们初始化了一个i,利用i来控制循环次数,每次循环完,i自加一,大家好好思考一下这个循环为什么和最上面的while实现的功能是一样的。你就更能明白两者区别。

值得注意的是,我们是在外面声明的i这个变量。在c99以后的标准可以在for里面去声明和初始化。

for(int i=0;i<n,i++)
{
    printf("hello world!\n");
}

这只是编译器的采用的标准问题,大家了解一下就好了,如果在编译的时候出错一定要清楚这个问题。当然for语句同样适用于break和continue。

总结
循环是编程必用的一个语句,多写代码才能熟悉这些语句。

练习
1.分别用while和for写一个程序。程序让用户输入一个n,然后计算1到n的和。
2.编写一个程序,程序实现用户输入两个数,计算他们的最小公倍数和最大公约数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值