第19卷 多分支语句 广西对口考试-电子与信息类《C语言程序设计》考点双析卷

2025-10-31
| 2份
| 26页
| 93人阅读
| 0人下载

内容正文:

编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。 本专辑第19卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】: (三)选择结构程序设计:掌握 switch 语句的使用 广西高等职业教育考试 电子与信息类 《C语言程序设计》考点双析卷 第19卷 多分支语句 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.下列程序段的执行结果是(   ) main() {     int i;     for (i = 0; i < 3; i++)         switch (i) {             case 1:                 printf("%d", i);             case 2:                 printf("%d", i);                 break;             default:                 printf("%d", i);         } } A.0112 B.0 1 1 2 C.0,1,1,2 D.程序错误 【答案】A 2.下列程序段的执行结果是(   ) 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.5 B.6 C.7 D.8 【答案】C 3.有如下程序,该程序的输出结果是(   )     # include<stdio.h> main(){ int x=1,a=10,b=10; switch(x){ case 0:b++: case l:a++: case 2:a++;b++;) printf("%d",a);} A.10 B.11 C.12 D.13 【答案】C 4.假定等级和分数有以下对应关系: 等级:A       分数:85-100     等级:B       分数:60-84     等级:C       分数:60以下     对于等级grade 输出相应的分数区间,能够完成该功能的程序段是(   ) A.switch(grade){     case 'A':printf("85--100 "); case 'B’:printf("60--84 "); case 'C’:printf("<60 "); default:printf( "grade is etror! "); B.switch(grade){     case 'A':printf("85--100 ");break;     case 'B':printf("60--84 ");     case 'C’:printf("<60 ");     default :printf( "grade is error! ");} C.switch(grade)     case 'A’:printf("85--100 "):break; case 'B’:printf("60--84 ");breaks; case ’C’:printf("<60 "); default: printf("grade is error! ");} D.switch (grade){     case 'C':printf("<60 ");break;     case 'B’:printf("60--84 ");break;     default: printf("grade is error! ") ;break:     case 'A':printf("85--100 ");}     【答案】D 5.switch 语句中每个case后应该是(   ) A.常量 B.常量或常量表达式 C.变量 D.常量、变量均可 【答案】B 6.下列程序的执行结果是(   ) main() { int a=4,m=0; switch(a%2==0) { case 0:m++; case l:m++;break; case 2:m++;} printf(“%d”,m);} A.1 B.2 C.3 D.0 【答案】A 7.若有定义 float xtint a,b;,则下列四段代码中合法的一段是(   ) A.switch(x) { case 0: printf(“**”); case l: printf(“++”);} B.switch(a) { case 0:printf(“**”); case l:printf(“++”);} C.switch(a) { case l.0:printf(“**”); case 2.0:printf(“++”);} D.switch(x) { case l:printf(“**”); case 2+3:printf(“++”);} 【答案】B 8.以下程序段的运行结果是(   ) int i; for(i=0ni<=3;i++) switch(i) {case l:printf("%d",i); break; case 2:printf("%d",i):break: default:printf("%d",++i);} A.012 B.023 C.123 D.124 【答案】D 9.执行以下程序段的输出结果是(   ) int x=0,y=2,z=3; switch(x+1) {case 1:switch(y==2) {case 1:printf("*");break; case 2:printf("%");break;} case 2:switch(z) {case 1:printf("$");break; case 2:printf("*");break; default:printf("#");}} A.*# B.*$* C.*%$*# D.* 【答案】A 10.执行下列程序段时输入:A<回车>后的输出结果是(   ) char ch;scanf("%c",&ch); switch(ch%2) {case 0:printf("偶数");break; case 1:printf("奇数");break; default:printf("error");} A.偶数 B.奇数 C.error D.无输出 【答案】B 11.执行以下程序段时输入:H<回车>,输出结果是(   ) char ch;ch=getchar(); switch(ch) {case 'H':printf("%s","Hello! "); case 'G':printf("%s","Good morning! ");break; default:printf("%s","Bye Bye!");} A.Hello! B.Hello! Good morning! C.Hello! Good morning! Bye Bye! D.Good morning! Bye Bye! 【答案】B 12.执行下列程序段时输入:A<回车>,输出结果是(   ) char a;a=getchar(); switch(++a) {case 65:printf("%c",'A'); case 66:printf("%d",'A');break; default:printf("%s","other");} A.65 B.A C.66 D.B 【答案】A 13.执行下列程序段时输入:A<回车>,输出结果是(   ) char a;a=getchar(); switch(a) {case 65:printf("%c",'A'); case 66:printf("%d",'A'); default:printf("%s","other");} A.AAother B.65Aother C.6565other D.A65other 【答案】D 14.以下程序段的输出结果是(   ) int k=8;switch(k) {case 9:k++; case 10:k++; case 11:k++;break; default:k++;}printf("%d",k); A.9 B.10 C.11 D.12 【答案】A 15.以下程序段的输出结果是(   ) int a=1; switch(a) {printf("good");case 0:printf("a");case 1:printf("b"); default:printf("c");case 3:printf("d");} A.bcd B.goodabcd C.good D.bdc 【答案】A 16.执行以下程序段时输入:D<回车>,输出结果为(   ) char grade;grade=getchar(); switch(grade) {case 'A':printf("优秀");break; case 'B':printf("良好"); break; case 'C':printf("及格"); break; case 'D':printf("不及格");} A.优秀 B.良好 C.及格 D.不及格 【答案】D 17.执行以下程序段的输出结果是(   ) int x=5,y; switch(x) { case 1:case 2:case 3:case 4:printf("x<5,"); case 5:printf("x=5,",x);default:printf("The value of x is unknown. ");} A.x<5,The value of x is unknown. B.x<5, C.x=5,The value of x is unknown. D.The value of x is unknown. 【答案】C 18.以下程序段的输出结果是(   ) int x=1,y=0; switch(x) {case 1:switch(y) {case 0:printf("**1**");break; case 1:printf("**2**");break;} case 2:printf("**3**");} A.**1****2****3** B.**1****2** C.**1****3** D.**2****3** 【答案】C 19.若有以下程序段,且grade 的值为C,则输出结果是(   ) switch(grade){ case 'A':printf("85~100;"); case 'B':printf("70~84;"); case 'C' :printf("60~69;"); case 'D':printf("〈60;"); default:printf("error!");} A.60~69;<60;error! B.60~69; C.<60;error! D.error! 【答案】A 20.已有定义:int x,y;下列正确的switch语句是(   ) A.switch(x){case 1.0:printf(“1”);case 2.0:printf(“2”);} B.switch(int(x)){case 1.0:printf(“1”);case 2.0:printf(“2”);} C.switch(x/1.0){case 1:printf(“1”);case 2:printf(“2”);} D.switch(x+y){case 1:printf(“1”);case 2:printf(“2”);} 【答案】D 二、判断题(本大题共5小题,每题2分,共10分) 21.case语句后可以跟多个语句,无需用花括号括起。( ) 【答案】正确 22.switch语句中可以嵌套另一个switch语句( ) 【答案】正确 23.在 switch 语句中,default 分支是必须的。( ) 【答案】错误 24.多个 case 分支可以共用同一个执行语句。( ) 【答案】正确 25.switch (ch)中,ch可以是浮点型变量。( ) 【答案】错误 三、程序设计题(本大题共3小题,每题10分,共30分) 26.下面是一个计算出租车收费的程序,当里程在3公里以内含3公里时收费12元,超过3公里的部分每公里收费2元    #include<stdio.h>    main(){ int m,n; scanf("%d",&m); /*******space*******/ /*******space*******/ printf("n=%d",n);    } 【答案】switch(m){ case 1: case 2: case 3:n=12;break; default:n=12+(n-3)*2; } 【详解】利用switch语句的一个执行特点,当匹配到某个case后执行对应的语句后,一直遇到break语句时,switch才会停止。1,2,3公里收费均为12元,故省略了相同结果的break,否则是按照超出3公里部分每公里收费2元,即满足公式n=12+(n-3)*2; 27.函数fun的功能是:统计长整数n的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、 c3返回主函数。例如,当n= 123114350时,结果应该为: c1=3 c2=1 c3=2。     #include <stdio.h> void fun(long n) {      int c1,c2,c3;          c1=c2=c3=0;          while(n)          {                 /*******space*******/ /*******space*******/          } } void main() {          long n=123114350L;          fun(n);          printf("【The result: 】 ");          printf("c1=%d c2=%d c3=%d ",c1,c2,c3); } 【答案】switch(n%10)            {                  case 1:c1++;break;                  case 2:c2++;break;                  case 3:c3++;break; } 【详解】利用数为分离将其个位进行分离,再利用switch..case进行匹配,匹配上对应的值时让其对应的计数器累计即可。 28.写给多个学生的成绩评定等级的程序。等级说明:成绩大于等于90小于等于100是A等,小于90大于等于70是B等,小于70大于等于60是C等,小于60大于等于0是D等.    #include<stdio.h>    main(){        int score;        char level;        /*******space*******/       /*******space*******/    } 【答案】scanf(“%d”,&score);       switch(score/10){           case 10:              case  9: level=’A’;break;           case  8:           case  7: level=’B’;break;           case  6: level=’C’;break;           default: level=’D’;      }       printf(“等级为%c”,level); 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。 本专辑第19卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】: (三)选择结构程序设计:掌握 switch 语句的使用 广西高等职业教育考试 电子与信息类 《C语言程序设计》考点双析卷 第19卷 多分支语句 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.下列程序段的执行结果是(   ) main() {     int i;     for (i = 0; i < 3; i++)         switch (i) {             case 1:                 printf("%d", i);             case 2:                 printf("%d", i);                 break;             default:                 printf("%d", i);         } } A.0112 B.0 1 1 2 C.0,1,1,2 D.程序错误 2.下列程序段的执行结果是(   ) 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.5 B.6 C.7 D.8 3.有如下程序,该程序的输出结果是(   )     # include<stdio.h> main(){ int x=1,a=10,b=10; switch(x){ case 0:b++: case l:a++: case 2:a++;b++;) printf("%d",a);} A.10 B.11 C.12 D.13 4.假定等级和分数有以下对应关系: 等级:A       分数:85-100     等级:B       分数:60-84     等级:C       分数:60以下     对于等级grade 输出相应的分数区间,能够完成该功能的程序段是(   ) A.switch(grade){     case 'A':printf("85--100 "); case 'B’:printf("60--84 "); case 'C’:printf("<60 "); default:printf( "grade is etror! "); B.switch(grade){     case 'A':printf("85--100 ");break;     case 'B':printf("60--84 ");     case 'C’:printf("<60 ");     default :printf( "grade is error! ");} C.switch(grade)     case 'A’:printf("85--100 "):break; case 'B’:printf("60--84 ");breaks; case ’C’:printf("<60 "); default: printf("grade is error! ");} D.switch (grade){     case 'C':printf("<60 ");break;     case 'B’:printf("60--84 ");break;     default: printf("grade is error! ") ;break:     case 'A':printf("85--100 ");}     5.switch 语句中每个case后应该是(   ) A.常量 B.常量或常量表达式 C.变量 D.常量、变量均可 6.下列程序的执行结果是(   ) main() { int a=4,m=0; switch(a%2==0) { case 0:m++; case l:m++;break; case 2:m++;} printf(“%d”,m);} A.1 B.2 C.3 D.0 7.若有定义 float xtint a,b;,则下列四段代码中合法的一段是(   ) A.switch(x) { case 0: printf(“**”); case l: printf(“++”);} B.switch(a) { case 0:printf(“**”); case l:printf(“++”);} C.switch(a) { case l.0:printf(“**”); case 2.0:printf(“++”);} D.switch(x) { case l:printf(“**”); case 2+3:printf(“++”);} 8.以下程序段的运行结果是(   ) int i; for(i=0ni<=3;i++) switch(i) {case l:printf("%d",i); break; case 2:printf("%d",i):break: default:printf("%d",++i);} A.012 B.023 C.123 D.124 9.执行以下程序段的输出结果是(   ) int x=0,y=2,z=3; switch(x+1) {case 1:switch(y==2) {case 1:printf("*");break; case 2:printf("%");break;} case 2:switch(z) {case 1:printf("$");break; case 2:printf("*");break; default:printf("#");}} A.*# B.*$* C.*%$*# D.* 10.执行下列程序段时输入:A<回车>后的输出结果是(   ) char ch;scanf("%c",&ch); switch(ch%2) {case 0:printf("偶数");break; case 1:printf("奇数");break; default:printf("error");} A.偶数 B.奇数 C.error D.无输出 11.执行以下程序段时输入:H<回车>,输出结果是(   ) char ch;ch=getchar(); switch(ch) {case 'H':printf("%s","Hello! "); case 'G':printf("%s","Good morning! ");break; default:printf("%s","Bye Bye!");} A.Hello! B.Hello! Good morning! C.Hello! Good morning! Bye Bye! D.Good morning! Bye Bye! 12.执行下列程序段时输入:A<回车>,输出结果是(   ) char a;a=getchar(); switch(++a) {case 65:printf("%c",'A'); case 66:printf("%d",'A');break; default:printf("%s","other");} A.65 B.A C.66 D.B 13.执行下列程序段时输入:A<回车>,输出结果是(   ) char a;a=getchar(); switch(a) {case 65:printf("%c",'A'); case 66:printf("%d",'A'); default:printf("%s","other");} A.AAother B.65Aother C.6565other D.A65other 14.以下程序段的输出结果是(   ) int k=8;switch(k) {case 9:k++; case 10:k++; case 11:k++;break; default:k++;}printf("%d",k); A.9 B.10 C.11 D.12 15.以下程序段的输出结果是(   ) int a=1; switch(a) {printf("good");case 0:printf("a");case 1:printf("b"); default:printf("c");case 3:printf("d");} A.bcd B.goodabcd C.good D.bdc 16.执行以下程序段时输入:D<回车>,输出结果为(   ) char grade;grade=getchar(); switch(grade) {case 'A':printf("优秀");break; case 'B':printf("良好"); break; case 'C':printf("及格"); break; case 'D':printf("不及格");} A.优秀 B.良好 C.及格 D.不及格 17.执行以下程序段的输出结果是(   ) int x=5,y; switch(x) { case 1:case 2:case 3:case 4:printf("x<5,"); case 5:printf("x=5,",x);default:printf("The value of x is unknown. ");} A.x<5,The value of x is unknown. B.x<5, C.x=5,The value of x is unknown. D.The value of x is unknown. 18.以下程序段的输出结果是(   ) int x=1,y=0; switch(x) {case 1:switch(y) {case 0:printf("**1**");break; case 1:printf("**2**");break;} case 2:printf("**3**");} A.**1****2****3** B.**1****2** C.**1****3** D.**2****3** 19.若有以下程序段,且grade 的值为C,则输出结果是(   ) switch(grade){ case 'A':printf("85~100;"); case 'B':printf("70~84;"); case 'C' :printf("60~69;"); case 'D':printf("〈60;"); default:printf("error!");} A.60~69;<60;error! B.60~69; C.<60;error! D.error! 20.已有定义:int x,y;下列正确的switch语句是(   ) A.switch(x){case 1.0:printf(“1”);case 2.0:printf(“2”);} B.switch(int(x)){case 1.0:printf(“1”);case 2.0:printf(“2”);} C.switch(x/1.0){case 1:printf(“1”);case 2:printf(“2”);} D.switch(x+y){case 1:printf(“1”);case 2:printf(“2”);} 二、判断题(本大题共5小题,每题2分,共10分) 21.case语句后可以跟多个语句,无需用花括号括起。( ) 22.switch语句中可以嵌套另一个switch语句( ) 23.在 switch 语句中,default 分支是必须的。( ) 24.多个 case 分支可以共用同一个执行语句。( ) 25.switch (ch)中,ch可以是浮点型变量。( ) 三、程序设计题(本大题共3小题,每题10分,共30分) 26.下面是一个计算出租车收费的程序,当里程在3公里以内含3公里时收费12元,超过3公里的部分每公里收费2元    #include<stdio.h>    main(){ int m,n; scanf("%d",&m); /*******space*******/ /*******space*******/ printf("n=%d",n);    } 27.函数fun的功能是:统计长整数n的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、 c3返回主函数。例如,当n= 123114350时,结果应该为: c1=3 c2=1 c3=2。     #include <stdio.h> void fun(long n) {      int c1,c2,c3;          c1=c2=c3=0;          while(n)          {                 /*******space*******/ /*******space*******/          } } void main() {          long n=123114350L;          fun(n);          printf("【The result: 】 ");          printf("c1=%d c2=%d c3=%d ",c1,c2,c3); } 28.写给多个学生的成绩评定等级的程序。等级说明:成绩大于等于90小于等于100是A等,小于90大于等于70是B等,小于70大于等于60是C等,小于60大于等于0是D等.    #include<stdio.h>    main(){        int score;        char level;        /*******space*******/       /*******space*******/    } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

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