专题5:while循环与do……while循环(练习)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)

2025-10-09
| 2份
| 21页
| 237人阅读
| 1人下载

内容正文:

专题5:while循环与do…while循环 一、单项选择题(在每小题列出的四个备选答案中,只有一个是正确选项。) 1.do...while循环的执行特点是( ) A. 先判断条件,后执行循环体 B. 先执行循环体,后判断条件 C. 条件满足时执行循环体,不满足时也执行一次 D. 以上都不对 2.以下能正确计算1+2+3+…+10的while循环是( ) A. int i=1,sum=0; while(i<=10) {sum+=i; i++;} B. int i=1,sum=0; while(i<10) {sum+=i; i++;} C. int i=0,sum=1; while(i<=10) {sum+=i; i++;} D. int i=0,sum=0; while(i<10) {sum+=i; i++;} 3.对于do{循环体}while(条件);,若条件一开始就不满足,循环体执行次数是( ) A. 0次 B. 1次 C. 无数次 D. 不确定 4.执行int i=5; while(i--);后,i的值是( ) A. 0 B. -1 C. 4 D. 5 5.若有int x=3; do{printf("%d",x--);}while(!x);,输出结果是( ) A. 3 B. 32 C. 321 D. 无输出 6.有循环while(a>5) {a--;},若a初始值为8,循环执行次数是( ) A. 2次 B. 3次 C. 4次 D. 5次 7.以下代码的输出是( ) int i=0; while(i<3) { printf("%d",i); i++; } A. 012 B. 0123 C. 123 D. 无输出 8.对于do{printf("*");}while(0);,输出结果是( ) A. 一个* B. 无输出 C. 无数个* D. 编译错误 9.有代码int i=1,sum=0; while(i<=5) {sum+=i; i++;},执行后sum的值是( ) A. 10 B. 15 C. 20 D. 25 10.比较while和do...while循环,当条件第一次就不满足时,则( ) A. 两者都不执行循环体 B. while不执行,do...while执行一次 C. while执行一次,do...while不执行 D. 两者都执行一次 11.代码int x=2; while(x--); printf("%d",x);的输出是( ) A. 2 B. 1 C. 0 D. -1 12.有do{printf("%c",'A'+i); i++;}while(i<3);,若i初始为0,输出是( ) A. ABC B. BCD C. A D. AB 13.代码int a=0,b=0; while(a<5) {b += a; a++;},执行后b的值是( ) A. 5 B. 10 C. 15 D. 20 14.以下do...while循环的执行过程描述正确的是( ) A. 先判断条件,若满足则执行循环体,再判断条件,直到不满足 B. 先执行循环体,再判断条件,若满足则重复执行循环体,直到不满足 C. 条件满足时执行循环体,不满足时直接退出 D. 以上都不对 15.有代码int i=3; do{printf("%d",i--);}while(i>0);,输出结果是( ) A. 321 B. 32 C. 21 D. 3 二、阅读程序,写出运行结果。 16.下列程序的运行结果是:____________ #include <stdio.h> int main() { int i = 1, sum = 0; while (i <= 4) { sum += i; i++; } printf("%d", sum); return 0; } 17.下列程序的运行结果是:____________ #include <stdio.h> int main() { int x = 5; do { printf("%d ", x--); } while (x > 2); return 0; } 18.下列程序的运行结果是:____________ #include <stdio.h> int main() { int i = 0; while (i < 3) { i++; if (i == 2) continue; printf("%d", i); } return 0; } 19.下列程序的运行结果是:____________ #include <stdio.h> int main() { int a = 1, b = 1; do { b += a; a++; } while (a <= 3); printf("%d", b); return 0; } 20.下列程序的运行结果是:____________ #include <stdio.h> int main() { int n = 0; while (n < 5) { if (n % 2 == 0) { n++; continue; } printf("%d", n); n++; } return 0; } 21.下列程序的运行结果是:____________ #include <stdio.h> int main() { int i = 0, j = 0; while (i < 2) { j = 0; while (j < 3) { if (j == 1) break; printf("*"); j++; } i++; } return 0; } 22.下列程序的运行结果是:____________ #include <stdio.h> int main() { int x = 3; while (x-- > 0) { printf("%d", x); } return 0; } 23.下列程序的运行结果是:____________ #include <stdio.h> int main() { int i = 1; do { if (i % 2 == 0) { i++; continue; } printf("%d", i); i++; } while (i <= 5); return 0; } 24.下列程序的运行结果是:____________ #include <stdio.h> int main() { int a = 0, b = 5; while (a < b) { b--; a++; } printf("%d %d", a, b); return 0; } 25.下列程序的运行结果是:____________ #include <stdio.h> int main() { int n = 1; while (n <= 4) { printf("%d", n * n); n++; } return 0; } 三、程序填空题。 26.以下程序实现“求1到n的和”,请填空。 #include <stdio.h> int main() { int n, i = 1, sum = 0; scanf("%d", &n); while (__(1)__) { sum += i; __(2)__; } printf("sum = %d", sum); return 0; } 27.以下程序实现“输出100以内的所有偶数”,请填空。 #include <stdio.h> int main() { int i = 0; while (__(1)__) { printf("%d ", i); __(2)__; } return 0; } 28.以下程序实现“计算斐波那契数列的第n项(斐波那契数列:1,1,2,3,5,8…)”,请填空。 #include <stdio.h> int main() { int n, i = 3, a = 1, b = 1, c; scanf("%d", &n); if (n == 1 || n == 2) { printf("1"); return 0; } while (__(1)__) { c = a + b; a = b; __(2)__; i++; } printf("%d", c); return 0; } 29.以下程序实现“计算1! + 2! + 3! + … + 5!”,请填空。 #include <stdio.h> int main() { int i = 1, j, fact, sum = 0; while (__(1)__) { fact = 1; j = 1; while (__(2)__) { fact *= j; j++; } sum += fact; __(3)__; } printf("sum = %d", sum); return 0; } 30.以下程序实现“输入一个整数,逆序输出其各位数字”,请填空。 #include <stdio.h> int main() { int num, digit; scanf("%d", &num); do { digit = __(1)__; printf("%d", digit); __(2)__; } while (num != 0); return 0; } 学科网(北京)股份有限公司 $ 专题5:while循环与do…while循环 一、单项选择题(在每小题列出的四个备选答案中,只有一个是正确选项。) 1.do...while循环的执行特点是( ) A. 先判断条件,后执行循环体 B. 先执行循环体,后判断条件 C. 条件满足时执行循环体,不满足时也执行一次 D. 以上都不对 【答案】B 2.以下能正确计算1+2+3+…+10的while循环是( ) A. int i=1,sum=0; while(i<=10) {sum+=i; i++;} B. int i=1,sum=0; while(i<10) {sum+=i; i++;} C. int i=0,sum=1; while(i<=10) {sum+=i; i++;} D. int i=0,sum=0; while(i<10) {sum+=i; i++;} 【答案】A 3.对于do{循环体}while(条件);,若条件一开始就不满足,循环体执行次数是( ) A. 0次 B. 1次 C. 无数次 D. 不确定 【答案】B 4.执行int i=5; while(i--);后,i的值是( ) A. 0 B. -1 C. 4 D. 5 【答案】B 5.若有int x=3; do{printf("%d",x--);}while(!x);,输出结果是( ) A. 3 B. 32 C. 321 D. 无输出 【答案】A 6.有循环while(a>5) {a--;},若a初始值为8,循环执行次数是( ) A. 2次 B. 3次 C. 4次 D. 5次 【答案】B 7.以下代码的输出是( ) int i=0; while(i<3) { printf("%d",i); i++; } A. 012 B. 0123 C. 123 D. 无输出 【答案】A 8.对于do{printf("*");}while(0);,输出结果是( ) A. 一个* B. 无输出 C. 无数个* D. 编译错误 【答案】A 9.有代码int i=1,sum=0; while(i<=5) {sum+=i; i++;},执行后sum的值是( ) A. 10 B. 15 C. 20 D. 25 【答案】B 10.比较while和do...while循环,当条件第一次就不满足时,则( ) A. 两者都不执行循环体 B. while不执行,do...while执行一次 C. while执行一次,do...while不执行 D. 两者都执行一次 【答案】B 11.代码int x=2; while(x--); printf("%d",x);的输出是( ) A. 2 B. 1 C. 0 D. -1 【答案】D 12.有do{printf("%c",'A'+i); i++;}while(i<3);,若i初始为0,输出是( ) A. ABC B. BCD C. A D. AB 【答案】A 13.代码int a=0,b=0; while(a<5) {b += a; a++;},执行后b的值是( ) A. 5 B. 10 C. 15 D. 20 【答案】B 14.以下do...while循环的执行过程描述正确的是( ) A. 先判断条件,若满足则执行循环体,再判断条件,直到不满足 B. 先执行循环体,再判断条件,若满足则重复执行循环体,直到不满足 C. 条件满足时执行循环体,不满足时直接退出 D. 以上都不对 【答案】B 15.有代码int i=3; do{printf("%d",i--);}while(i>0);,输出结果是( ) A. 321 B. 32 C. 21 D. 3 【答案】A 二、阅读程序,写出运行结果。 16.下列程序的运行结果是:____________ #include <stdio.h> int main() { int i = 1, sum = 0; while (i <= 4) { sum += i; i++; } printf("%d", sum); return 0; } 【答案】10 17.下列程序的运行结果是:____________ #include <stdio.h> int main() { int x = 5; do { printf("%d ", x--); } while (x > 2); return 0; } 【答案】5 4 3 18.下列程序的运行结果是:____________ #include <stdio.h> int main() { int i = 0; while (i < 3) { i++; if (i == 2) continue; printf("%d", i); } return 0; } 【答案】13 19.下列程序的运行结果是:____________ #include <stdio.h> int main() { int a = 1, b = 1; do { b += a; a++; } while (a <= 3); printf("%d", b); return 0; } 【答案】7 20.下列程序的运行结果是:____________ #include <stdio.h> int main() { int n = 0; while (n < 5) { if (n % 2 == 0) { n++; continue; } printf("%d", n); n++; } return 0; } 【答案】13 21.下列程序的运行结果是:____________ #include <stdio.h> int main() { int i = 0, j = 0; while (i < 2) { j = 0; while (j < 3) { if (j == 1) break; printf("*"); j++; } i++; } return 0; } 【答案】** 22.下列程序的运行结果是:____________ #include <stdio.h> int main() { int x = 3; while (x-- > 0) { printf("%d", x); } return 0; } 【答案】210 23.下列程序的运行结果是:____________ #include <stdio.h> int main() { int i = 1; do { if (i % 2 == 0) { i++; continue; } printf("%d", i); i++; } while (i <= 5); return 0; } 【答案】135 24.下列程序的运行结果是:____________ #include <stdio.h> int main() { int a = 0, b = 5; while (a < b) { b--; a++; } printf("%d %d", a, b); return 0; } 【答案】3 3 25.下列程序的运行结果是:____________ #include <stdio.h> int main() { int n = 1; while (n <= 4) { printf("%d", n * n); n++; } return 0; } 【答案】14916 三、程序填空题。 26.以下程序实现“求1到n的和”,请填空。 #include <stdio.h> int main() { int n, i = 1, sum = 0; scanf("%d", &n); while (__(1)__) { sum += i; __(2)__; } printf("sum = %d", sum); return 0; } 【答案】(1)i <= n;(2)i++ 27.以下程序实现“输出100以内的所有偶数”,请填空。 #include <stdio.h> int main() { int i = 0; while (__(1)__) { printf("%d ", i); __(2)__; } return 0; } 【答案】(1)i <= 100;(2)i += 2 28.以下程序实现“计算斐波那契数列的第n项(斐波那契数列:1,1,2,3,5,8…)”,请填空。 #include <stdio.h> int main() { int n, i = 3, a = 1, b = 1, c; scanf("%d", &n); if (n == 1 || n == 2) { printf("1"); return 0; } while (__(1)__) { c = a + b; a = b; __(2)__; i++; } printf("%d", c); return 0; } 【答案】(1)i <= n;(2)b = c 29.以下程序实现“计算1! + 2! + 3! + … + 5!”,请填空。 #include <stdio.h> int main() { int i = 1, j, fact, sum = 0; while (__(1)__) { fact = 1; j = 1; while (__(2)__) { fact *= j; j++; } sum += fact; __(3)__; } printf("sum = %d", sum); return 0; } 【答案】(1)i <= 5;(2)j <= i;(3)i++ 30.以下程序实现“输入一个整数,逆序输出其各位数字”,请填空。 #include <stdio.h> int main() { int num, digit; scanf("%d", &num); do { digit = __(1)__; printf("%d", digit); __(2)__; } while (num != 0); return 0; } 【答案】(1)num % 10;(2)num /= 10 学科网(北京)股份有限公司 $

资源预览图

专题5:while循环与do……while循环(练习)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
1
专题5:while循环与do……while循环(练习)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
2
专题5:while循环与do……while循环(练习)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。