第19卷 while语句 重庆市高等职业教育分类考试-计算机类《C语言程序设计知识考点双析卷》

2025-10-29
| 2份
| 24页
| 69人阅读
| 0人下载

内容正文:

编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。 本专辑第19卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】: (四)循环结构程序设计:while语句 重庆市高等职业教育分类考试 计算机类 《C语言程序设计》考点双析卷 第19卷 while语句 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共30小题,每题3分,共90分) 1.要求通过whi1e循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是(   ) A.while  ((ch=getchar(     ))!='N') printf(" % c",ch); B.while (ch=getchar( )!='N’) printf("%c",ch); C.while (ch=getchar( )= ='N’) printf(" %c",ch); D.while ((ch=getchar( ))= :='N') printf("%c",ch); 2.C语言中while和do-while循环的主要区别是(   ) A.do…while的循环体至少无条件执行一次 B.while的循环控制条件比do…while的循环控制条件严格 C.do…while允许从外部转到循环体内 D.do…while的循环体不能是复合语句 3.下列语句段中不是死循环的是(     ) A.i=100;   while (1)   {     i=i%100+1;     if(i= =20) break; } B.for (i-=1;i++)   sum=sum+l; C.k=0;   do     {     ++k;     } while (k<=0); D.s=3379;   while (s++%2+3%2)     s++; 4.语句while (!e);中的条件!e等价于(   ) A.e==0 B.e!=l C.e!=0 D.~e 5.有以下程序段,程序执行后的输出结果是(   ) main( ) { int k=5, n=0; while(k>0)     { switch (k) {default : break; case 1 : n+=k; case 2: case 3: n+=k; } k--; } printf(" %d "',n); } A.0 B.4 C.6 D.7 6.定义如下变量:int n = 10 ;则下列循环的输出结果是(   ) while(n>7){ n-- ; System.out.println(n) ; } A.10 9 8 7 B.9 8 7 6 C.10 9 8 D.9 8 7 7.以下程序段给数组所有的元素输入数据,请选择正确答案填入(   )   #include<stdio.h> main() { int a[10],i=0; while(i<10) scanf("%d", 【   】); ┇ } A.a+(i++) B.&a[i+1] C.a+i D.&a[++i] 8.有以下程序,程序的运行结果是(   ) #include <stdio.h> main( ) { int k=5; while (--k) printf("%d "',k-=3); printf(" "); A.1 B.2 C.4 D.死循环 9.有以下程序,程序执行后的输出结果是(   ) main( ) { int y=10; while (y--); printf("y= %d ", y); } A.y=0 B.y=-1 C.y=1 D.while构成无限循环 10.下列程序段的执行结果是(   ) int n = 10;     while (n > 7) {         n--;         printf("%d,", n);} A.9,8,7 B.987 C.9 8 7 D.程序错误 11.执行以下程序后,输出的结果是。(   ) #include <stdio.h> main() {    int k, m, n;     n = 10;  m = 1;  k = 1;     while (k <= n) {         m *= 2; k += 3;}     printf("%d ", m); } A.13 B.14 C.15 D.16 12.以下程序段的执行结果是(   ) int t, a = 2, b = 3, c = -2;     while (a > b > c) {         t = a;   a = b;  b = t;  c++;} printf("%d,%d,%d ", a, b, c); A.2,3,0 B.1,2,3 C.230 D.123 13.执行下列程序 int k=10; while(k==0)k=k-1;则下面描述正确的是(   ) A.while循环执行10次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 14.以下程序段的输出结果是(   ) int n = 1;     while (n <= 2) {         n++;         printf("%d ", n);} A.2 3 B.4 5 C.3 9 D.0 9 15.执行下列程序 int k=3; while(k=0)k=k-1;则下面描述正确的是(   ) A.while循环执行10次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 16.函数del的作用是删除已按升序排列的数组a中的指定元素x。设有调用语句n=del(a,n,x);其中实参n为删除前数组元素的个数,赋值号左边的n为删除后数组元素的个数。请为第【2】空选择填入合适的内容。(   ) int del(int a[ ],int n,int x) { int p,i; p=0; while(【1】)     p=p+1;     for(i=p-1;i<n;i++)         【2】;     n=n-1;     return n;} A.a[i]=a[i+1] B.a[i]=a[i-1] C.a[i]=a[i] D.a[i+1]=a[i] 17.以下代码的输出是(   ) int i = 0;   while (i < 2); {       printf("%d ", i);       i++;   } A.0 1 B.0 C.无输出 D.死循环 18.以下代码的错误是(   ) int x = 5;   while (x > 0) {       printf("%d ", x);   } A.缺少 x-- B.条件错误 C.死循环 D.语法错误 19.以下代码的输出是(   ) int a = 1;   while (a <= 3) {       printf("%d ", a);       a = a + 1;   } A.1 2 3 B.1 2 C.2 3 D.0 1 2 20.以下代码的输出是(   ) int i = 0;   while (i++ < 3) {       printf("%d ", i);   } A.0 1 2 B.1 2 3 C.0 1 2 3 D.1 2 21.以下代码段中,循环体执行次数为(   ) int x = 10;   while (x++ < 12) {       printf("Hello");   } A.0 B.1 C.2 D.3 22.下列关于while循环表述正确的是:(   ) A.while循环的执行次数要么1次,要么多次 B.while循环的初始化变量语句可以写在循环里 C.while循环的循环体里一定要有使变量趋于结束的代码 D.while循环条件表达式的执行次数和循环体的执行次数无关 23.以下程序,while循环的执行次数是(   )   #include<stdio.h>   main(){     int i=0;     while(i=1) i++; } A.执行一次 B.有语法错,无法执行 C.无数次 D.一次也不执行 24.如下函数的功效是:通过键盘输入数据,为数组中的所有元素赋值。在程序中下划线处应填入的是(   ) #include <stdio.h> #define N 10 void fun(int x[N]) { int i=0; while(i<N) scanf(“%d”,_______);} A.x+i B.&x[i+1] C.x+(i++) D.&x[++i] 25.设有语句段:int t=0;while(t=1){……},则下列叙述中正确的一项是(   ) A.循环控制表达式的值为0,不执行循环体 B.循环控制表达式的值为1,执行循环体 C.循环控制表达式不合法 D.以上说法均不正确 26.执行以下程序段的输出结果是(   ) int main() {int i=10,s=2; while(i<15){s+=i;i+=2;} printf("%d",s);getch();} A.32 B.34 C.36 D.38 27.执行以下程序段的输出结果是(   ) main() {int n=0; while(n++<=2); printf("%d ",n);getch();} A.2 B.3 C.4 D.有语法错误 28.在while循环语句中,while后面的一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为 的操作,否则,循环将无限制地进行下去。(   ) A.0 B.-1 C.1 D.2 29.执行以下程序段的输出结果是(   ) main() {int n=9; while(n>6) {n--;printf("%d",n);}getch();} A.987 B.876 C.8765 D.9876 30.执行以下程序段的输出结果是(   ) main() {int k=0; while(k<=2) {k++;printf("%d",k);}getch();} A.1234 B.123 C.12 D.1 二、程序设计题(本大题共1小题,每题10分,共10分) 31.输入一行字符,输出其中字母的个数。 提示:n=0;                 //计算器n置0 ch=getchar();        //输入第1个字符 while(ch!=' ') {if(ch为英文字母)     n++;              //计算器n加1     ch=getchar();     //输入下一个字符 } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。 本专辑第19卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】: (四)循环结构程序设计:while语句 重庆市高等职业教育分类考试 计算机类 《C语言程序设计》考点双析卷 第19卷 while语句 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共30小题,每题3分,共90分) 1.要求通过whi1e循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是(   ) A.while  ((ch=getchar(     ))!='N') printf(" % c",ch); B.while (ch=getchar( )!='N’) printf("%c",ch); C.while (ch=getchar( )= ='N’) printf(" %c",ch); D.while ((ch=getchar( ))= :='N') printf("%c",ch); 【答案】A 2.C语言中while和do-while循环的主要区别是(   ) A.do…while的循环体至少无条件执行一次 B.while的循环控制条件比do…while的循环控制条件严格 C.do…while允许从外部转到循环体内 D.do…while的循环体不能是复合语句 【答案】A 3.下列语句段中不是死循环的是(     ) A.i=100;   while (1)   {     i=i%100+1;     if(i= =20) break; } B.for (i-=1;i++)   sum=sum+l; C.k=0;   do     {     ++k;     } while (k<=0); D.s=3379;   while (s++%2+3%2)     s++; 【答案】C 4.语句while (!e);中的条件!e等价于(   ) A.e==0 B.e!=l C.e!=0 D.~e 【答案】A 【详解】题目考查的是C语言中逻辑运算符!的含义及其在循环条件中的等价表达。关键点如下:‌ !e的含义‌:!是逻辑非运算符,若e的值为0(假),则!e为1(真);反之!e为0。‌ 等价关系‌:!e表示“e为假”,即e==0 5.有以下程序段,程序执行后的输出结果是(   ) main( ) { int k=5, n=0; while(k>0)     { switch (k) {default : break; case 1 : n+=k; case 2: case 3: n+=k; } k--; } printf(" %d "',n); } A.0 B.4 C.6 D.7 【答案】D 6.定义如下变量:int n = 10 ;则下列循环的输出结果是(   ) while(n>7){ n-- ; System.out.println(n) ; } A.10 9 8 7 B.9 8 7 6 C.10 9 8 D.9 8 7 【答案】B 7.以下程序段给数组所有的元素输入数据,请选择正确答案填入(   )   #include<stdio.h> main() { int a[10],i=0; while(i<10) scanf("%d", 【   】); ┇ } A.a+(i++) B.&a[i+1] C.a+i D.&a[++i] 【答案】A 8.有以下程序,程序的运行结果是(   ) #include <stdio.h> main( ) { int k=5; while (--k) printf("%d "',k-=3); printf(" "); A.1 B.2 C.4 D.死循环 【答案】A 9.有以下程序,程序执行后的输出结果是(   ) main( ) { int y=10; while (y--); printf("y= %d ", y); } A.y=0 B.y=-1 C.y=1 D.while构成无限循环 【答案】B 10.下列程序段的执行结果是(   ) int n = 10;     while (n > 7) {         n--;         printf("%d,", n);} A.9,8,7 B.987 C.9 8 7 D.程序错误 【答案】A 11.执行以下程序后,输出的结果是。(   ) #include <stdio.h> main() {    int k, m, n;     n = 10;  m = 1;  k = 1;     while (k <= n) {         m *= 2; k += 3;}     printf("%d ", m); } A.13 B.14 C.15 D.16 【答案】D 12.以下程序段的执行结果是(   ) int t, a = 2, b = 3, c = -2;     while (a > b > c) {         t = a;   a = b;  b = t;  c++;} printf("%d,%d,%d ", a, b, c); A.2,3,0 B.1,2,3 C.230 D.123 【答案】D 13.执行下列程序 int k=10; while(k==0)k=k-1;则下面描述正确的是(   ) A.while循环执行10次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 【答案】C 14.以下程序段的输出结果是(   ) int n = 1;     while (n <= 2) {         n++;         printf("%d ", n);} A.2 3 B.4 5 C.3 9 D.0 9 【答案】A 15.执行下列程序 int k=3; while(k=0)k=k-1;则下面描述正确的是(   ) A.while循环执行10次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 【答案】C 16.函数del的作用是删除已按升序排列的数组a中的指定元素x。设有调用语句n=del(a,n,x);其中实参n为删除前数组元素的个数,赋值号左边的n为删除后数组元素的个数。请为第【2】空选择填入合适的内容。(   ) int del(int a[ ],int n,int x) { int p,i; p=0; while(【1】)     p=p+1;     for(i=p-1;i<n;i++)         【2】;     n=n-1;     return n;} A.a[i]=a[i+1] B.a[i]=a[i-1] C.a[i]=a[i] D.a[i+1]=a[i] 【答案】A 17.以下代码的输出是(   ) int i = 0;   while (i < 2); {       printf("%d ", i);       i++;   } A.0 1 B.0 C.无输出 D.死循环 【答案】D 18.以下代码的错误是(   ) int x = 5;   while (x > 0) {       printf("%d ", x);   } A.缺少 x-- B.条件错误 C.死循环 D.语法错误 【答案】C 19.以下代码的输出是(   ) int a = 1;   while (a <= 3) {       printf("%d ", a);       a = a + 1;   } A.1 2 3 B.1 2 C.2 3 D.0 1 2 【答案】A 20.以下代码的输出是(   ) int i = 0;   while (i++ < 3) {       printf("%d ", i);   } A.0 1 2 B.1 2 3 C.0 1 2 3 D.1 2 【答案】B 21.以下代码段中,循环体执行次数为(   ) int x = 10;   while (x++ < 12) {       printf("Hello");   } A.0 B.1 C.2 D.3 【答案】C 22.下列关于while循环表述正确的是:(   ) A.while循环的执行次数要么1次,要么多次 B.while循环的初始化变量语句可以写在循环里 C.while循环的循环体里一定要有使变量趋于结束的代码 D.while循环条件表达式的执行次数和循环体的执行次数无关 【答案】C 【详解】while循环要么执行0次,要么执行多次。初始化变量的语句必须写在while循环外,且循环条件表达式的执行次数和循环体的执行次数相等。s 23.以下程序,while循环的执行次数是(   )   #include<stdio.h>   main(){     int i=0;     while(i=1) i++; } A.执行一次 B.有语法错,无法执行 C.无数次 D.一次也不执行 【答案】C 【详解】注意判断相等是使用两个等号,一个等号表示赋值,赋值的表达式结果恒为1,恒成立。 24.如下函数的功效是:通过键盘输入数据,为数组中的所有元素赋值。在程序中下划线处应填入的是(   ) #include <stdio.h> #define N 10 void fun(int x[N]) { int i=0; while(i<N) scanf(“%d”,_______);} A.x+i B.&x[i+1] C.x+(i++) D.&x[++i] 【答案】C 25.设有语句段:int t=0;while(t=1){……},则下列叙述中正确的一项是(   ) A.循环控制表达式的值为0,不执行循环体 B.循环控制表达式的值为1,执行循环体 C.循环控制表达式不合法 D.以上说法均不正确 【答案】B 26.执行以下程序段的输出结果是(   ) int main() {int i=10,s=2; while(i<15){s+=i;i+=2;} printf("%d",s);getch();} A.32 B.34 C.36 D.38 【答案】D 27.执行以下程序段的输出结果是(   ) main() {int n=0; while(n++<=2); printf("%d ",n);getch();} A.2 B.3 C.4 D.有语法错误 【答案】C 28.在while循环语句中,while后面的一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为 的操作,否则,循环将无限制地进行下去。(   ) A.0 B.-1 C.1 D.2 【答案】A 29.执行以下程序段的输出结果是(   ) main() {int n=9; while(n>6) {n--;printf("%d",n);}getch();} A.987 B.876 C.8765 D.9876 【答案】B 30.执行以下程序段的输出结果是(   ) main() {int k=0; while(k<=2) {k++;printf("%d",k);}getch();} A.1234 B.123 C.12 D.1 【答案】B 二、程序设计题(本大题共1小题,每题10分,共10分) 31.输入一行字符,输出其中字母的个数。 提示:n=0;                 //计算器n置0 ch=getchar();        //输入第1个字符 while(ch!=' ') {if(ch为英文字母)     n++;              //计算器n加1     ch=getchar();     //输入下一个字符 } 【答案】#include <stdio.h> main() {     int n = 0;     char ch;     ch = getchar();     while (ch != ' ') {         if (ch >= 'a' && ch <= 'z'||ch >= 'A' && ch <= 'Z')             n++;         ch = getchar();     }     printf("%d", n); } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

第19卷 while语句 重庆市高等职业教育分类考试-计算机类《C语言程序设计知识考点双析卷》
1
第19卷 while语句 重庆市高等职业教育分类考试-计算机类《C语言程序设计知识考点双析卷》
2
第19卷 while语句 重庆市高等职业教育分类考试-计算机类《C语言程序设计知识考点双析卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。