第10卷 多分支语句 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》

2025-10-29
| 2份
| 26页
| 87人阅读
| 1人下载

内容正文:

编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第10卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (五)多分支语句 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第10卷 多分支语句 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.在 switch 语句中,break 语句的作用是(   ) A.结束整个程序 B.结束当前 case 分支 C.跳出 switch 语句 D.跳过后续所有 case 分支 2.若 switch 语句的表达式为字符型变量 ch,以下 case 语句合法的是(   ) A.case 'a': B.case "a": C.case ch: D.case 1 + 'a': 3.以下 switch 语句中,default 分支的作用是(   ) int num = 5; switch (num) {     case 1: printf("1"); break;     case 2: printf("2"); break;     default: printf("其他"); } A.当 num 的值为 1 或 2 时执行 B.当 num 的值不为 1 和 2 时执行 C.无论 num 的值是什么都执行 D.以上都不对 4.以下代码的输出是(   ) int x = 0; switch (x = 1) {  // 赋值表达式返回1     case 0: printf("A"); break;     case 1: printf("B"); } A.AA B.AB C.A D.B 5.以下代码的错误是(   ) int x = 1; switch (x) {     int y = 5;     case 1: printf("%d", y); break; } A.switch内不能定义变量 B.y未初始化 C.case标签后不能有变量声明 D.无错误 6.以下代码的错误是(   ) int x = 5; switch (x) {     case 1: printf("A");     case 5: printf("B");     default: printf("C"); } A.case值必须为常量 B.case 5重复 C.无错误 D.缺少break 7.以下代码的错误是(   ) float f = 3.14; switch (f) {     case 3.14: printf("A");     default: printf("B"); } A.case值类型不匹配 B.switch表达式不能是浮点型 C.缺少break D.无错误 8.以下代码的输出是(   ) int x = 0; switch (x) {     case 0: printf("A"); break;     case 1: printf("B");     default: printf("C"); } A.A B.AC C.C D.无输出 9.以下代码段的输出是(   ) int a = 2; switch (a) {     case 1: printf("A");     case 2: printf("B");     default: printf("C"); } A.B B.BC C.ABC D.编译错误 10.以下关于 switch 语句的描述,正确的是(   ) A.default 必须放在所有 case 之后 B.case 后的常量表达式可以是变量 C.break 用于终止当前循环 D.switch 表达式必须为整型或字符型 11.以下代码的输出结果是(   ) int x = 1;   switch(x) {       case 1: x += 1;       case 2: x += 2; break;       case 3: x += 3;   }   printf("%d", x); A.2 B.3 C.4 D.5 12.设有以下程序,运行后的输出结果是(   ) main() {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.2,2 B.2,1 C.1,1 D.1,0 13.以下程序的运行结果是(   ) #include <stdio.h> main() {     int k = 1, j = 2;     {         switch (k) {             case 1 :                 j += k;             case 2 :             case 3 :                 j += k;             default :                 break;         }         k--;     }     printf("%d ", j); } A.5 B.7 C.6 D.4 14.以下程序的运行结果是 (   ) #include <stdio.h> main( ) { int x = 2, y = 2, z = 5, j = 5; switch (x) { case 1:switch (x) { case 2:    j++; case 1:x++;break; } case 2:z++;x++;break; } printf("%d,%d", j, z); } A.5,5 B.6,6 C.5,6 D.6,5 15.执行以下语句后m的值是(   ) inta=21,b=20,m=0; switch (a % 3) { case 0:m++; case 1:m++; switch (b% 2) { case 0:m++; break; default:m++;} default:++m;} A.4 B.5 C.3 D.2 16.执行下面程序段,该程序的输出结果为(   ) int a = 1,b = 2,c = 3; switch(a) { case 0:b++; case 1:b++;c++; case 2:c++; } printf("b = %d,c = %d",b,c); A.b =  5, c =  3 B.b =  3, c =  5 C.b =  3, c =  1 D.b =  1, c =  5 17.以下代码的输出结果是(   ) int num = 0; while (num < 3) {     switch (num) {         case 0:             printf("Zero");             break;         case 1:             printf("One");             break;         case 2:             printf("Two");             break;     }     num++; } A.ZeroOneTwo B.Zero C.OneTwo D.编译错误 18.以下代码的输出结果是(   ) int x = 3; switch (x) {     case 1:         printf("One");         break;     case 2:         printf("Two");         break;     case 3:         printf("Three");         break;     default:         printf("Other"); } A.One B.Two C.Three D.Other 19.以下代码的错误是(   ) const int y = 2; switch (y) {     case y: printf("A");       case 3: printf("B"); } A.case标签不能使用const变量 B.switch表达式必须为变量 C.无错误 D.缺少default 20.以下代码的输出是(   ) int x = 5; switch (x) {     case 5:         x = 10;     case 10:         printf("%d", x); break;     default:         printf("0"); } A.5 B.10 C.0 D.编译错误 二、程序设计题(本大题共4小题,每题10分,共40分) 21.输入一个0~6的整数,输出星期几。 22.实现以下功能,要求:输入两个整数和一个运算符(+、-、*、/),输出运算结果。若除数为0或运算符非法,输出错误信息。 23.实现以下功能,根据月份输出季节,输入月份(1~12),输出对应的季节(春:3~5,夏:6~8,秋:9~11,冬:12~2)。 24.输入一个年月日,计算出该日期是该年的第几天    #include<stdio.h>    main(){        int year,month,day,days;        /*******space*******/       /*******space*******/    } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第10卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (五)多分支语句 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第10卷 多分支语句 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.在 switch 语句中,break 语句的作用是(   ) A.结束整个程序 B.结束当前 case 分支 C.跳出 switch 语句 D.跳过后续所有 case 分支 【答案】C 2.若 switch 语句的表达式为字符型变量 ch,以下 case 语句合法的是(   ) A.case 'a': B.case "a": C.case ch: D.case 1 + 'a': 【答案】A 3.以下 switch 语句中,default 分支的作用是(   ) int num = 5; switch (num) {     case 1: printf("1"); break;     case 2: printf("2"); break;     default: printf("其他"); } A.当 num 的值为 1 或 2 时执行 B.当 num 的值不为 1 和 2 时执行 C.无论 num 的值是什么都执行 D.以上都不对 【答案】B 4.以下代码的输出是(   ) int x = 0; switch (x = 1) {  // 赋值表达式返回1     case 0: printf("A"); break;     case 1: printf("B"); } A.AA B.AB C.A D.B 【答案】D 5.以下代码的错误是(   ) int x = 1; switch (x) {     int y = 5;     case 1: printf("%d", y); break; } A.switch内不能定义变量 B.y未初始化 C.case标签后不能有变量声明 D.无错误 【答案】B 6.以下代码的错误是(   ) int x = 5; switch (x) {     case 1: printf("A");     case 5: printf("B");     default: printf("C"); } A.case值必须为常量 B.case 5重复 C.无错误 D.缺少break 【答案】C 7.以下代码的错误是(   ) float f = 3.14; switch (f) {     case 3.14: printf("A");     default: printf("B"); } A.case值类型不匹配 B.switch表达式不能是浮点型 C.缺少break D.无错误 【答案】B 8.以下代码的输出是(   ) int x = 0; switch (x) {     case 0: printf("A"); break;     case 1: printf("B");     default: printf("C"); } A.A B.AC C.C D.无输出 【答案】A 9.以下代码段的输出是(   ) int a = 2; switch (a) {     case 1: printf("A");     case 2: printf("B");     default: printf("C"); } A.B B.BC C.ABC D.编译错误 【答案】B 10.以下关于 switch 语句的描述,正确的是(   ) A.default 必须放在所有 case 之后 B.case 后的常量表达式可以是变量 C.break 用于终止当前循环 D.switch 表达式必须为整型或字符型 【答案】D 11.以下代码的输出结果是(   ) int x = 1;   switch(x) {       case 1: x += 1;       case 2: x += 2; break;       case 3: x += 3;   }   printf("%d", x); A.2 B.3 C.4 D.5 【答案】C 12.设有以下程序,运行后的输出结果是(   ) main() {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.2,2 B.2,1 C.1,1 D.1,0 【答案】B 13.以下程序的运行结果是(   ) #include <stdio.h> main() {     int k = 1, j = 2;     {         switch (k) {             case 1 :                 j += k;             case 2 :             case 3 :                 j += k;             default :                 break;         }         k--;     }     printf("%d ", j); } A.5 B.7 C.6 D.4 【答案】D 【详解】变量k初始化为1,变量j初始化为2。进入switch(k)语句,控制表达式是k的值,即1。switch语句找到case 1:匹配,开始执行该case下的代码块。j += k; 执行后,j的值变为 2 + 1 = 3。由于case 1后面没有break语句,程序会发生"fall through"现象,继续执行下一个case分支。程序继续执行case 2:和case 3:,这两个case分支也没有break语句,所以j的值再次增加k的值(此时k的值仍为1)。j += k; 执行后,j的值变为 3 + 1 = 4。由于case 3后面也没有break语句,但这是最后一个case,所以没有更多的代码要执行。switch语句执行完毕,然后执行k--;,k的值减少1,变为0。最后,printf("%d ", j); 打印变量j的值,此时j的值为4。程序的输出结果是4。 14.以下程序的运行结果是 (   ) #include <stdio.h> main( ) { int x = 2, y = 2, z = 5, j = 5; switch (x) { case 1:switch (x) { case 2:    j++; case 1:x++;break; } case 2:z++;x++;break; } printf("%d,%d", j, z); } A.5,5 B.6,6 C.5,6 D.6,5 【答案】C 【详解】执行第一个switch(x)匹配case 2,执行z++;x++,打印值j和z分别为5和6。 15.执行以下语句后m的值是(   ) inta=21,b=20,m=0; switch (a % 3) { case 0:m++; case 1:m++; switch (b% 2) { case 0:m++; break; default:m++;} default:++m;} A.4 B.5 C.3 D.2 【答案】A 16.执行下面程序段,该程序的输出结果为(   ) int a = 1,b = 2,c = 3; switch(a) { case 0:b++; case 1:b++;c++; case 2:c++; } printf("b = %d,c = %d",b,c); A.b =  5, c =  3 B.b =  3, c =  5 C.b =  3, c =  1 D.b =  1, c =  5 【答案】B 【详解】a的值为1,执行case 1后的“b++;c++”语句,b的值此时为3,c的值此时为4。因没有break语句,故继续执行case 2后的c++语句,c的值此时为5。 17.以下代码的输出结果是(   ) int num = 0; while (num < 3) {     switch (num) {         case 0:             printf("Zero");             break;         case 1:             printf("One");             break;         case 2:             printf("Two");             break;     }     num++; } A.ZeroOneTwo B.Zero C.OneTwo D.编译错误 【答案】A 18.以下代码的输出结果是(   ) int x = 3; switch (x) {     case 1:         printf("One");         break;     case 2:         printf("Two");         break;     case 3:         printf("Three");         break;     default:         printf("Other"); } A.One B.Two C.Three D.Other 【答案】C 19.以下代码的错误是(   ) const int y = 2; switch (y) {     case y: printf("A");       case 3: printf("B"); } A.case标签不能使用const变量 B.switch表达式必须为变量 C.无错误 D.缺少default 【答案】A 20.以下代码的输出是(   ) int x = 5; switch (x) {     case 5:         x = 10;     case 10:         printf("%d", x); break;     default:         printf("0"); } A.5 B.10 C.0 D.编译错误 【答案】B 二、程序设计题(本大题共4小题,每题10分,共40分) 21.输入一个0~6的整数,输出星期几。 【答案】#include <stdio.h> main() {     int i;     printf("请输入一个0-6的整数:");     scanf("%d", &i);     switch (i) {         case 0:             printf("星期日");             break;         case 1:             printf("星期一");             break;         case 2:             printf("星期二");             break;         case 3:             printf("星期三");             break;         case 4:             printf("星期四");             break;         case 5:             printf("星期五");             break;         case 6:             printf("星期六");             break;         default:             printf("输入错误");     } } 22.实现以下功能,要求:输入两个整数和一个运算符(+、-、*、/),输出运算结果。若除数为0或运算符非法,输出错误信息。 【答案】#include <stdio.h> int main() {       int a, b;       char op;       scanf("%d %d %c", &a, &b, &op);       switch (op) {           case '+':               printf("%d", a + b);               break;           case '-':               printf("%d", a - b);               break;           case '*':               printf("%d", a * b);               break;           case '/':               if (b != 0) {                   printf("%d", a / b);               } else {                   printf("除数不能为0");               }               break;           default:               printf("运算符错误");       }       return 0;   } 23.实现以下功能,根据月份输出季节,输入月份(1~12),输出对应的季节(春:3~5,夏:6~8,秋:9~11,冬:12~2)。 【答案】#include <stdio.h> int main() {       int month;       scanf("%d", &month);       switch (month) {           case 3: case 4: case 5:               printf("春季");               break;           case 6: case 7: case 8:               printf("夏季");               break;           case 9: case 10: case 11:               printf("秋季");               break;           case 12: case 1: case 2:               printf("冬季");               break;           default:               printf("输入错误");       }       return 0;   } 24.输入一个年月日,计算出该日期是该年的第几天    #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); 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

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