C语言复习 循环语句

一、 if语句和goto 语句组合循环语句

goto 语句标号;

例:1+2+3+…+100

#include "stdio.h"
main()
{ int I,sum=0;
I=1;
Aa:if(I<=100)
{ sum=sum+I; I++; goto Aa;}
printf(“%d”,sum);}

{ sum=sum+I; I++; goto Aa;}

分析:第一步:sum=0,I=1, I<=100
执行:sum=sum+I;
          =1
       I++;
      I=2;
      goto Aa;
      Aa:if(I<=100)
           2<=100
第二步:sum=1,I=2,I<=100
       执行:sum=sum+I;
          =3
       I++;
      I=3;
      goto Aa;
      Aa:if(I<=100)
           3<=100
第三步:sum=3,I=3,I<=100
        …

问题:10以内奇数的和

解答:

#include <stdio.h>
int main() {
    int i=1,sum=0;
    loop:if (i<=10) {
        sum+=i;
        i+=2;
        goto loop;
    }
    printf("10以内奇数的和:%d",sum);
    return 0;
}

问题:10以内偶数的和

解答:

#include <stdio.h>
int main() {
    int i=0,sum=0;
    loop:if (i<=10) {
        sum+=i;
        i+=2;
        goto loop;
    }
    printf("10以内奇数的和:%d",sum);
    return 0;
}

二、用while语句实现循环

while (表达式) 语句

分析:先判断表达式,再执行语句
当表达式的值为非0时,重复执行语句,

当表达式的值为0时,停止执行语句

例:1+2+3+…+100

#include "stdio.h"
void main(){
  int I=1,sum=0;
  while(I<=100){
    sum=sum+I; I++;
  }
    printf(“%d”,sum);
}

问题:10以内奇数的和

解答:

#include "stdio.h"
void main(){
    int I=1,sum=0;
    while(I<=10){
        sum=sum+I;
        I+=2;
    }
    printf("%d",sum);
}

问题:10以内偶数的和

解答:

#include "stdio.h"
void main(){
    int I=0,sum=0;
    while(I<=10){
        sum=sum+I;
        I+=2;
    }
    printf("%d",sum);
}

三、用do …. while 语句实现循环

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

while (表达式);   有分号

分析:先执行一次循环体语句,然后判断表达式,
当表达式的值为非0时,返回重新执行循环体语句,
反复执行,直到表达式的值为0时,循环结束.

例:1+2+3+…+100

#include "stdio.h"
void main()
{ int I=1,sum=0;
do
{ sum=sum+I; I++;}
while(I<=100);
printf(“%d”,sum);}

问题:10以内奇数的和

解答:

#include <stdio.h>
int main() {
    int i=1,sum=0;;
    do {
        sum+=i;
        i+=2;
    }while (i<=10);
    printf("%d",sum);
}

问题:10以内偶数的和

解答:

#include <stdio.h>
int main() {
    int i=0,sum=0;;
    do {
        sum+=i;
        i+=2;
    }while (i<=10);
    printf("%d",sum);
      return 0;
}

四、用for语句实现循环

for(表达式1;表达式2;表达式3)
语句

分析: 表达式1 循环变量初值
表达式2 循环条件
表达式3 循环变量增值或减值

for(i=1;i<=100;i++)

注:表达式1在整个程序中,只执行了一次。
执行过程:

(1)    求解表达式1
(2)    求解表达式2, 当表达式2的值为非0,执行语句,
        当表达式2的值为0时,结束循环
(3)    求解表达式3
(4)    求解表达式2, 当表达式2的值为非0,执行语句,
         当表达式2的值为0时,结束循环
(5)    求解表达式3
(6)    求解表达式2, 当表达式2的值为非0,执行语句,
        当表达式2的值为0时,结束循环
       …….

例:1+2+3+…+100

#include "stdio.h"
void main()
{ int I,sum=0;
for(I=1;I<=100;I++)
sum=sum+I;
printf(“%d”,sum);}

或:

#include "stdio.h"
void main()
{ int I,sum=0;
for(I=1;I<=100;)
{sum=sum+I; I++; }
printf(“%d”,sum);}

问题:10以内奇数的和

答案:

#include <stdio.h>
int main() {
    int sum=0;
    for (int i=1;i<=10;i+=2) {
        sum+=i;
    }
    printf("%d",sum);
}

问题:10以内偶数的和

答案:

#include <stdio.h>
int main() {
    int sum=0;
    for (int i=0;i<=10;i+=2) {
        sum+=i;
    }
    printf("%d",sum);
}

上一篇 C语言复习 位运算 & | ^ ~ << >>
下一篇 C语言复习 1月30日:函数应用
Keason

Keason管理员

flag{fkxqsVIVO50tmgbd}

本月创作热力图