C语言中while、do while、for循环,break终止、continue结束,哪种循环结构最擅长长尾词表达疑问?

2026-04-11 22:151阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计896个文字,预计阅读时间需要4分钟。

C语言中while、do while、for循环,break终止、continue结束,哪种循环结构最擅长长尾词表达疑问?

环境:CentOS7;

循环条件:`while` 循环体;

循环结束条件:`while` 循环体内语句;

特点:计算机只处理有条件的循环(有效性、确定性、可穷尽性)。

`while` 循环(先判断再循环,内嵌语句):

C语言中while、do while、for循环,break终止、continue结束,哪种循环结构最擅长长尾词表达疑问?

例子1:1+2+3+...+100

环境:CentOS7;
循环条件:①循环体;②循环结束条件;
特点:计算机只处理有条件的循环(有效性、确定性和有穷性)。

  • while循环(先判断再循环,内嵌语句)
    例子1:1+2+3+…+100

#include <stdio.h> int main() { int i, sum = 0; i = 1; while (i <= 100) { sum += i; i++; } printf ("%d\n", sum); return 0; } [root@chenshuyi c]# gcc -o while while.c [root@chenshuyi c]# ./while 5050

实际应用:判断年份时平年还是闰年

#include<stdio.h> int main(){ int year; printf("输入-1可退出程序\n"); while(1){ printf("请输入一个年份:"); scanf("%d",&year); if(year == -1){ break; } if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){ printf("%d为平年\n",year); } else{ printf("%d为闰年\n",year); } } return 0; } ~ [root@chenshuyi c]# ./while3 输入-1可退出程序 请输入一个年份:2012 2012为平年 请输入一个年份:-1

  • do while(先循环再判断)
    例子1:1+2+3+…+100

#include <stdio.h> int main() { int i, sum = 0; i = 1; do { sum += i; i++; } while (i <= 100); printf ("%d\n", sum); return 0; } [root@chenshuyi c]# gcc -o dowhile1 dowhile1.c [root@chenshuyi c]# ./dowhile1 5050

  • for循环(循环变量赋初值;循环条件;循环变量增值)

#include <stdio.h> int main() { int i, sum = 0; for (i = 1; i <= 100; i++) { sum += i; } printf("%d\n", sum); return 0; } [root@chenshuyi c]# gcc -o for for.c [root@chenshuyi c]# ./for 5050

  • break语句(提前结束循环,终止整一个)
    例子:现班不超过30人,使程序统计出该班的平均成绩,收到负数的时候结束循环。

[root@chenshuyi c]# cat break.c #include <stdio.h> int main() { float score, sum = 0, average; int i, n; for (i = 1; i < 31; i ++) { scanf ("%f", &score); if (score < 0) break; sum = sum + score; } n = i - 1; average = sum/n; printf ("n = %d, average = %7.2f\n", n, average); return 0; } [root@chenshuyi c]# ./break 77 88 99 12 33 44 55 66 -1 n = 8, average = 59.25 #flloat score定义一个浮点型变量score #%7.2f打印小数点前7位(不足七位补前置0);小数点后两位(不足两位补0)。

  • continue语句(提前结束本次循环,只是终止本次循环非整个)
    PS:结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否1执行循环的判断。
    例子:输入一个班全体同学的成绩,把不及格的学生成绩输出,并求及格学生的平均成绩。

#include <stdio.h> int main() { float score, sum = 0, average; int i, n = 0; for (i = 1; i < 6; i ++) { #假设不及格的人有5个 printf ("please enter score:"); scanf ("%f", &score); if (score < 60) { #如果不及格 printf ("Fail:%7.2f\n", score); #结束本次循环,输出不及格的成绩 continue; } sum = sum + score; n = n + 1; #统计不及格的人数 } average = sum/n; #及格的平均成绩 printf ("\n n = %d, average = %7.2f\n", n, average); #输出及格学生人数以及平均分 return 0; } [root@chenshuyi c]# gcc -o continue continue.c [root@chenshuyi c]# ./continue please enter score:44 Fail: 44.00 please enter score:55 Fail: 55.00 please enter score:60 please enter score:70 please enter score:90 n = 3, average = 73.33

本文共计896个文字,预计阅读时间需要4分钟。

C语言中while、do while、for循环,break终止、continue结束,哪种循环结构最擅长长尾词表达疑问?

环境:CentOS7;

循环条件:`while` 循环体;

循环结束条件:`while` 循环体内语句;

特点:计算机只处理有条件的循环(有效性、确定性、可穷尽性)。

`while` 循环(先判断再循环,内嵌语句):

C语言中while、do while、for循环,break终止、continue结束,哪种循环结构最擅长长尾词表达疑问?

例子1:1+2+3+...+100

环境:CentOS7;
循环条件:①循环体;②循环结束条件;
特点:计算机只处理有条件的循环(有效性、确定性和有穷性)。

  • while循环(先判断再循环,内嵌语句)
    例子1:1+2+3+…+100

#include <stdio.h> int main() { int i, sum = 0; i = 1; while (i <= 100) { sum += i; i++; } printf ("%d\n", sum); return 0; } [root@chenshuyi c]# gcc -o while while.c [root@chenshuyi c]# ./while 5050

实际应用:判断年份时平年还是闰年

#include<stdio.h> int main(){ int year; printf("输入-1可退出程序\n"); while(1){ printf("请输入一个年份:"); scanf("%d",&year); if(year == -1){ break; } if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){ printf("%d为平年\n",year); } else{ printf("%d为闰年\n",year); } } return 0; } ~ [root@chenshuyi c]# ./while3 输入-1可退出程序 请输入一个年份:2012 2012为平年 请输入一个年份:-1

  • do while(先循环再判断)
    例子1:1+2+3+…+100

#include <stdio.h> int main() { int i, sum = 0; i = 1; do { sum += i; i++; } while (i <= 100); printf ("%d\n", sum); return 0; } [root@chenshuyi c]# gcc -o dowhile1 dowhile1.c [root@chenshuyi c]# ./dowhile1 5050

  • for循环(循环变量赋初值;循环条件;循环变量增值)

#include <stdio.h> int main() { int i, sum = 0; for (i = 1; i <= 100; i++) { sum += i; } printf("%d\n", sum); return 0; } [root@chenshuyi c]# gcc -o for for.c [root@chenshuyi c]# ./for 5050

  • break语句(提前结束循环,终止整一个)
    例子:现班不超过30人,使程序统计出该班的平均成绩,收到负数的时候结束循环。

[root@chenshuyi c]# cat break.c #include <stdio.h> int main() { float score, sum = 0, average; int i, n; for (i = 1; i < 31; i ++) { scanf ("%f", &score); if (score < 0) break; sum = sum + score; } n = i - 1; average = sum/n; printf ("n = %d, average = %7.2f\n", n, average); return 0; } [root@chenshuyi c]# ./break 77 88 99 12 33 44 55 66 -1 n = 8, average = 59.25 #flloat score定义一个浮点型变量score #%7.2f打印小数点前7位(不足七位补前置0);小数点后两位(不足两位补0)。

  • continue语句(提前结束本次循环,只是终止本次循环非整个)
    PS:结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否1执行循环的判断。
    例子:输入一个班全体同学的成绩,把不及格的学生成绩输出,并求及格学生的平均成绩。

#include <stdio.h> int main() { float score, sum = 0, average; int i, n = 0; for (i = 1; i < 6; i ++) { #假设不及格的人有5个 printf ("please enter score:"); scanf ("%f", &score); if (score < 60) { #如果不及格 printf ("Fail:%7.2f\n", score); #结束本次循环,输出不及格的成绩 continue; } sum = sum + score; n = n + 1; #统计不及格的人数 } average = sum/n; #及格的平均成绩 printf ("\n n = %d, average = %7.2f\n", n, average); #输出及格学生人数以及平均分 return 0; } [root@chenshuyi c]# gcc -o continue continue.c [root@chenshuyi c]# ./continue please enter score:44 Fail: 44.00 please enter score:55 Fail: 55.00 please enter score:60 please enter score:70 please enter score:90 n = 3, average = 73.33