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

2025-10-31
| 2份
| 24页
| 106人阅读
| 0人下载

内容正文:

编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。 本专辑第20卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】: (三)选择结构程序设计:掌握 switch 语句的使用 广西高等职业教育考试 电子与信息类 《C语言程序设计》考点双析卷 第20卷 多分支语句 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.执行以下程序段的输出结果是(   ) int x=1,a=0,b=0; switch(x) {case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d",a,b); A.a=1,b=1 B.a=1,b=0 C.a=2,b=2 D.a=2,b=1 【答案】D 2.在C语言中,switch语句后一对圆括号中表达式的类型(   ) switch(表达式){……} A.可以是整型或字符型 B.只能是int型 C.只能是字符型 D.只能是整型或实型 【答案】A 3.以下有关于switch语句和break语句的描述中,正确的是(   ) A.break只能用于switch语句 B.在switch语句中必须使用break语句 C.break语句是组成switch语句的一部分 D.在switch语句中,可以根据需要使用或不使用break语句 【答案】D 4.执行下列程序段的输出结果是(   ) int a=0,b=0,c=0; switch(c){case 0:b++;case 1:a++;case 2:a++;b++;} printf("a=%d,b=%d ",a,b); A.a=2,b=2 B.a=1,b=1 C.a=1.b=0 D.a=1,b=2 【答案】A 5.执行下列程序段的输出结果是(   ) int a=0,i;; for(i=1;i<10;i++) {switch(i) {case 0:case 3:a+=1;break; case 1:case 2:a+=2; default:a+=3;} }printf("%d",a); A.29 B.30 C.19 D.28 【答案】A 6.执行以下程序段的输出结果是(   ) int i;for(i=1;i<=5;i++) switch(i%5){case 0:printf("*"); break; case 1:printf("#");break; default:printf("-"); case 2:printf("$");} A.*#-$ B.#$$$* C.#$-$-$* D.$-$-$* 【答案】C 7.执行以下程序段的输出结果是(   ) main() {enum name{zhao=1,qian,sun,li}man; man=qian; switch(man) {case 0:printf("people ");break; case 1:printf("man ");break; case 2:printf("woman ");break; default:printf("error! ");break;}getch();} A.people B.man C.woman D.error! 【答案】C 8.以下代码的输出结果是(   ) int num = 4; switch (num) {     case 1: printf("A"); break;     case 4: printf("B");     default: printf("C"); } A.B B.BC C.C D.无输出 【答案】B 9.以下关于C语言中switch语句的描述,正确的是(   ) A.case后面的表达式可以是变量 B.default子句可以存在多个 C.switch的条件表达式可以是浮点类型 D.case后面的值必须是整型常量表达式 【答案】D 10.以下代码的输出结果是(   ) int a = 10; switch (a) {     default: printf("Default");     case 1: printf("1"); } A.Default1 B.Default C.1 D.编译错误 【答案】A 11.关于 switch 语句,错误的是(   ) A.switch 表达式可以是字符型 B.reak 用于跳出 switch C.default 分支可以省略 D.bcase 后的常量可以是变量 【答案】D 12.以下哪个switch语句的格式是正确的(   ) A.switch (a) { case 1: printf("One"); case 2: printf("Two"); } B.switch (a) {   case 1: { printf("One"); } case 2: { printf("Two"); } } C.switch(a) { case 1: printf("One"); break; case 2: printf("Two"); } D.switch (a) { case 1: printf("One"); break; case 2: printf("Two"); break; } 【答案】D 【详解】switch-case语句的标准语法当中,每个case后应当有break,除非我们希望执行下一个break。 13.执行以下程序段的运行结果是(   ) main() {int i; for(i=0; i<3; i++) switch(i) {case 1:printf("%d",i); case 2: printf("%d", i); default : printf("%d", i);}getch();} A.011122 B.120 C.012020 D.012 【答案】A 14.若有定义语句int a,b; double x; 则下列选项中没有错误的是(   ) A.switch(x%2){case 0:a++;break;case 1:b++;break;default:a++;b++;} B.switch((int)x/2.0){case 0:a++;break;case 1:b++;break; default:a++;b++;} C.switch((int)x%2){case 0:a++;break;case 1:b++;break; default:a++;b++;} D.switch((int)(x)%2){case 0.0:a++;break;case 1.0:b++;break; default:a++;b++;} 【答案】C 15.以下选项中与 if (a==1) a=b; else a++; 语句功能不同的switch 语句是(   ) A.switch (a ){case :a=b;break;default:a++;} B.switch (a==1){case 0:a=b;break;case 1:a++;} C.switch (a){default:a++;break;case 1:a=b;} D.switch (a==1){case 1:a=b;break;case 0:a++;} 【答案】B 16.在C语言的switch语句中,case后(   ) A.只能为常量 B.只能为常量或常量表达式 C.可以为常量及表达式或有确定值的变量及表达式 D.可以为任何变量或常量 【答案】B 17.下列语句中,属于多分支语句的是(   ) A.if语句 B.switch语句 C.do while语句 D.for语句 【答案】B 18.若inti=10;,执行下列程序后,变量i的正确结果是(   ) switch(i) {case 9:i+=1; case 10:i+=1; case 11:i+=1; default:i+=1; } A.10 B.11 C.12 D.13 【答案】D 19.运行以下程序后,如果从键盘上输入 china#〈回车〉,则输出结果是(   ) #include <stdio.h> int main() { int v1 = 0, v2 = 0; char ch; while ((ch = getchar( )) != '#')   switch (ch) {    case 'a':    case 'h':    case 'o':     v2++;    default:     v1++;   } printf("%d,%d ", v1, v2); } A.2,0 B.5,0 C.5,5 D.5, 2 【答案】D 20.以下程序的运行结果是(   ) #include <stdio.h> int main() { int k = 5, n = 0; do {   switch (k) {    default:     break;    case 1:     n += k;    case 2:    case 3:     n += k;   }   k --; } while (k > 0); printf("%d ", n); } A.5 B.7 C.6 D.4 【答案】B 二、判断题判断题(本大题共5小题,每题2分,共10分) 21.switch 语句的表达式可以是字符串。( ) 【答案】错误 22.switch语句中,default子句必须放在最后,否则会导致语法错误。( ) 【答案】错误 23.case 后的常量值可以重复。( ) 【答案】错误 24.break 语句在 switch 语句中的作用是防止代码 “穿透” 到下一个 case 语句。( ) 【答案】正确 25.switch 语句中的 case 标签后面必须跟常量表达式。( ) 【答案】正确 三、程序设计题(本大题共3小题,每题10分,共30分) 26.输入一个年月日,计算出该日期是该年的第几天    #include<stdio.h>    main(){        int year,month,day,days;        /*******space*******/       /*******space*******/    } 【答案】scanf(“%d-%d-%d”,&year,&month,&day);        switch(month){            case 1:days=0;break;            case 2:days=31;break;            case 3:days=31+28;break;            case 4:days=31+28+31;break;            case 5:days=31+28+31+30;break;            case 6:days=31+28+31+30+31;break;            case 7:days=31+28+31+30+31+30;break;            case 8:days=31+28+31+30+31+30+31;break;            case 9:days=31+28+31+30+31+30+31+31;break;            case 10:days=31+28+31+30+31+30+31+31+30;break;            case 11:days=31+28+31+30+31+30+31+31+30+31;break;            case 12:days=31+28+31+30+31+30+31+31+30+31+30;break;        }        days=days+day;        if(year%4==0 && month>2) days=days+1;        printf(“%d年-%d月-%d日是该年的第%d天”,year,month,day,days); 27.有两个降序排列的集合A和B,A中无重复元素,B中也无重复元素,求集合B-A的差集(即:这些元素属于集合B但不属于集合A),存放于数组c中,并输出   #include<stdio.h> void main() {        int a[3],b[5],c[5];        int t=0,i,j=0;        printf("请输入3个整数: ");        for(i=0;i<3;i++) scanf("%d",&a[i]);        printf("请输入5个整数: ");        for(i=0;i<5;i++){            scanf("%d",&b[i]);        }        i=0;        /*******space*******/               /*******space*******/        while(j<5){            c[t++]=b[j++];        }        printf("结果为: ");        for(i=0;i<t;i++){           printf("%d ",c[i]);        } } 【答案】while(i<3 &&j<5)        {            if(a[i]<b[j])c[t++]=b[j++];            else if(a[i]>b[j]) i++;            else            {                i++;  j++;             } } 28.该程序实现的功能是:已知数列1,3,6,10,15,…… ,计算该数列的第n项   #include<stdio.h> #include<math.h> double fun(int n) {         double u=0.0;         /*******space*******/                  /*******space*******/     } void main() {         int n=0;         double u=0.0;         scanf("%d",&n);         u=fun(n);         printf("该数的第n项为:%f",u);         } 【答案】if(n==1)             u=1.0;          else             u=fun(n-1)+n; return u; 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。 本专辑第20卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】: (三)选择结构程序设计:掌握 switch 语句的使用 广西高等职业教育考试 电子与信息类 《C语言程序设计》考点双析卷 第20卷 多分支语句 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.执行以下程序段的输出结果是(   ) int x=1,a=0,b=0; switch(x) {case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d",a,b); A.a=1,b=1 B.a=1,b=0 C.a=2,b=2 D.a=2,b=1 2.在C语言中,switch语句后一对圆括号中表达式的类型(   ) switch(表达式){……} A.可以是整型或字符型 B.只能是int型 C.只能是字符型 D.只能是整型或实型 3.以下有关于switch语句和break语句的描述中,正确的是(   ) A.break只能用于switch语句 B.在switch语句中必须使用break语句 C.break语句是组成switch语句的一部分 D.在switch语句中,可以根据需要使用或不使用break语句 4.执行下列程序段的输出结果是(   ) int a=0,b=0,c=0; switch(c){case 0:b++;case 1:a++;case 2:a++;b++;} printf("a=%d,b=%d ",a,b); A.a=2,b=2 B.a=1,b=1 C.a=1.b=0 D.a=1,b=2 5.执行下列程序段的输出结果是(   ) int a=0,i;; for(i=1;i<10;i++) {switch(i) {case 0:case 3:a+=1;break; case 1:case 2:a+=2; default:a+=3;} }printf("%d",a); A.29 B.30 C.19 D.28 6.执行以下程序段的输出结果是(   ) int i;for(i=1;i<=5;i++) switch(i%5){case 0:printf("*"); break; case 1:printf("#");break; default:printf("-"); case 2:printf("$");} A.*#-$ B.#$$$* C.#$-$-$* D.$-$-$* 7.执行以下程序段的输出结果是(   ) main() {enum name{zhao=1,qian,sun,li}man; man=qian; switch(man) {case 0:printf("people ");break; case 1:printf("man ");break; case 2:printf("woman ");break; default:printf("error! ");break;}getch();} A.people B.man C.woman D.error! 8.以下代码的输出结果是(   ) int num = 4; switch (num) {     case 1: printf("A"); break;     case 4: printf("B");     default: printf("C"); } A.B B.BC C.C D.无输出 9.以下关于C语言中switch语句的描述,正确的是(   ) A.case后面的表达式可以是变量 B.default子句可以存在多个 C.switch的条件表达式可以是浮点类型 D.case后面的值必须是整型常量表达式 10.以下代码的输出结果是(   ) int a = 10; switch (a) {     default: printf("Default");     case 1: printf("1"); } A.Default1 B.Default C.1 D.编译错误 11.关于 switch 语句,错误的是(   ) A.switch 表达式可以是字符型 B.reak 用于跳出 switch C.default 分支可以省略 D.bcase 后的常量可以是变量 12.以下哪个switch语句的格式是正确的(   ) A.switch (a) { case 1: printf("One"); case 2: printf("Two"); } B.switch (a) {   case 1: { printf("One"); } case 2: { printf("Two"); } } C.switch(a) { case 1: printf("One"); break; case 2: printf("Two"); } D.switch (a) { case 1: printf("One"); break; case 2: printf("Two"); break; } 13.执行以下程序段的运行结果是(   ) main() {int i; for(i=0; i<3; i++) switch(i) {case 1:printf("%d",i); case 2: printf("%d", i); default : printf("%d", i);}getch();} A.011122 B.120 C.012020 D.012 14.若有定义语句int a,b; double x; 则下列选项中没有错误的是(   ) A.switch(x%2){case 0:a++;break;case 1:b++;break;default:a++;b++;} B.switch((int)x/2.0){case 0:a++;break;case 1:b++;break; default:a++;b++;} C.switch((int)x%2){case 0:a++;break;case 1:b++;break; default:a++;b++;} D.switch((int)(x)%2){case 0.0:a++;break;case 1.0:b++;break; default:a++;b++;} 15.以下选项中与 if (a==1) a=b; else a++; 语句功能不同的switch 语句是(   ) A.switch (a ){case :a=b;break;default:a++;} B.switch (a==1){case 0:a=b;break;case 1:a++;} C.switch (a){default:a++;break;case 1:a=b;} D.switch (a==1){case 1:a=b;break;case 0:a++;} 16.在C语言的switch语句中,case后(   ) A.只能为常量 B.只能为常量或常量表达式 C.可以为常量及表达式或有确定值的变量及表达式 D.可以为任何变量或常量 17.下列语句中,属于多分支语句的是(   ) A.if语句 B.switch语句 C.do while语句 D.for语句 18.若inti=10;,执行下列程序后,变量i的正确结果是(   ) switch(i) {case 9:i+=1; case 10:i+=1; case 11:i+=1; default:i+=1; } A.10 B.11 C.12 D.13 19.运行以下程序后,如果从键盘上输入 china#〈回车〉,则输出结果是(   ) #include <stdio.h> int main() { int v1 = 0, v2 = 0; char ch; while ((ch = getchar( )) != '#')   switch (ch) {    case 'a':    case 'h':    case 'o':     v2++;    default:     v1++;   } printf("%d,%d ", v1, v2); } A.2,0 B.5,0 C.5,5 D.5, 2 20.以下程序的运行结果是(   ) #include <stdio.h> int main() { int k = 5, n = 0; do {   switch (k) {    default:     break;    case 1:     n += k;    case 2:    case 3:     n += k;   }   k --; } while (k > 0); printf("%d ", n); } A.5 B.7 C.6 D.4 二、判断题判断题(本大题共5小题,每题2分,共10分) 21.switch 语句的表达式可以是字符串。( ) 22.switch语句中,default子句必须放在最后,否则会导致语法错误。( ) 23.case 后的常量值可以重复。( ) 24.break 语句在 switch 语句中的作用是防止代码 “穿透” 到下一个 case 语句。( ) 25.switch 语句中的 case 标签后面必须跟常量表达式。( ) 三、程序设计题(本大题共3小题,每题10分,共30分) 26.输入一个年月日,计算出该日期是该年的第几天    #include<stdio.h>    main(){        int year,month,day,days;        /*******space*******/       /*******space*******/    } 27.有两个降序排列的集合A和B,A中无重复元素,B中也无重复元素,求集合B-A的差集(即:这些元素属于集合B但不属于集合A),存放于数组c中,并输出   #include<stdio.h> void main() {        int a[3],b[5],c[5];        int t=0,i,j=0;        printf("请输入3个整数: ");        for(i=0;i<3;i++) scanf("%d",&a[i]);        printf("请输入5个整数: ");        for(i=0;i<5;i++){            scanf("%d",&b[i]);        }        i=0;        /*******space*******/               /*******space*******/        while(j<5){            c[t++]=b[j++];        }        printf("结果为: ");        for(i=0;i<t;i++){           printf("%d ",c[i]);        } } 28.该程序实现的功能是:已知数列1,3,6,10,15,…… ,计算该数列的第n项   #include<stdio.h> #include<math.h> double fun(int n) {         double u=0.0;         /*******space*******/                  /*******space*******/     } void main() {         int n=0;         double u=0.0;         scanf("%d",&n);         u=fun(n);         printf("该数的第n项为:%f",u);         } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

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