C语言——循环结构

所谓循环,就是有规律地重复执行某些语句的过程。在程序设计过程中,会出现重复进行一些相同的功能语句的编写情况,为了使设计出的程序更简洁、易懂,使用循环结构编写重复执行语句的程序。循环结构通常是程序设计中不可缺少的重要部分,掌握好循环结构的程序设计技术至关重要,因为循环体现的是计算机的思维模式。

作为一名程序员应该明白C语言中有三种循环语句:while语句、do…while语句、for语句。

一、while循环

while语句

while语句是条件循环语句,当条件满足时,执行循环体语句,否则不执行循环体语句。

语法结构:

while(表达式)
           
     (循环体语句)

功能

计算表达式的值,其值如果为非0(真),则执行循环体,每执行一次,就计算一次表达式的值,直到表达式的值为0(假)时结束循环,转去执行while的后续语句。while属于当型循环。

当型循环:当表达式为真时执行循环体。

题目分析:

本题要求1+2+3…+100,定义i为循环变量,sum为和变量,由前面给出的循环体三部分,在while语句前,实现初始化部分,循环条件放在while后面的小括号中,循环体语句多于一条,一定要用{}将循环体语句括起来。

#include
int main(void){
    int i,sum;
    sum=0;i=1;
    while(i<=100){
        sum+=i;
        i++;
    }
    printf("sum=%d\n",sum);
    return 0;
}

注意
1、先判断表达式,后执行循环体,循环体有可能一次也不执行。
2、while(表达式)括号后面一般不要加“;”,如果加上,则认为循环体是空语句。
3、while后小括号的表达式可以是任意表达式,一般情况下是关系表达式、逻辑表达式或整数表达式,在计算时如果是非零,则其值被认为是真,否则认为是假。

二、do…while循环

do…while语句

do…while语句是无论如何都要执行一次循环体语句,然后再看循环条件是否成立,决定后续的执行路径。

语法格式:

do(循环体结构)

while(表达式);

题目描述:

计算一个不足10位数证书的位数。

题目分析:

因为对于一个整数,位数至少是1.所以循环语句m=/10;n++;至少执行一次

#include
int main(void){
    int m,n;
    scanf("%d",&m);
    int t=m;
    n=0;
    do
    {
        m/=10;
        n++;
    }while(m!=0);
        printf("%d的位数为%d\n",t,n);
        return 0;
    

}

三、for循环

for语句

在循环问题中,当循环次数已知时,通常用for语句实现较为简洁、直观。

for(表达式1,表达式2,表达式3)
    循环体语句

例子
题目描述:

求n个分数的和:输入n值,求1/1-1/2+1/3-1/4…的值。

#include
int main(void){
    int n,i;
    printf("输入项数:");
    scanf("%d",&n);
    double sum=0.0,sign=1.0,term;
    for(i=1;i<=n;i++){
        term=sign/i;
        sum+=term;
        sign*=-1;
    }
    printf("sum=%f\n",sum);
    return 0;

}

四、goto循环

goto语句格式:

goto L;

求1~100整数和。

#include
int main(void){
    int i,sum;
    sum=0;
    i=1;
    L1:if(i<=100)
    {
        sum+=i;
        i++;
        goto L1;
    }
    printf("sum=%d\n",sum);
    return 0;
}

五、循环中断

5.1break语句
功能

break语句只能用于循环语句和switch语句中,作用是退出结束循环语句和switch语句,接着执行循环和switch语句后续语句。

5.2continue语句
功能

跳过循环体continue;后面未执行的语句,接着进行循环下一次迭代。

5.3循环嵌套
定义

一个循环体内又包含另一个完整的循环结构,称为循环嵌套。

以上就是c语言中常见的循环结构,希望不足之处广大网友多多指点!

你可能感兴趣的:(c语言,开发语言)