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

2025-10-29
| 2份
| 30页
| 104人阅读
| 1人下载

内容正文:

编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第9卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (五)多分支语句 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第9卷 多分支语句 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.以下代码的输出结果是(   ) int x = 2;   switch(x) {       case 1: printf("A");       case 2: printf("B");       case 3: printf("C"); break;       default: printf("D");   } A.B B.BC C.BCD D.B C D 2.以下程序段的输出结果是(   ) #define  PR(ar)    printf("ar = %d ", ar) main() {  int  j, a[] = { 1, 3, 5, 7, 9, 11, 13, 15},  *p = a + 5; for(j = 3;  j ; j--) switch( j ) {  case  1:     case  2: PR(*p++);  break;     case  3: PR(*(--p)); } getch();} A.ar = 9 ar = 9 ar = 9 B.ar = 11 ar = 9 ar = 11 C.ar = 11 ar = 11 ar = 9 D.ar = 9 ar = 9 ar = 11 3.下列关于switch语句叙述正确的一项是(   ) A.break语句只能用于switch语句 B.在switch语句中必须使用default C.break语句必须与switch语句中的case配对使用 D.在switch语句中,可以选择是否使用break语句 4.有如下 switch 语句: int grade = 85; switch (grade / 10) {     case 9: printf("优秀"); break;     case 8: printf("良好"); break;     case 7: printf("中等"); break;     case 6: printf("及格"); break;     default: printf("不及格"); } 输出结果是(   ) A.优秀 B.良好 C.中等 D.及格 5.以下代码: int m = 2; switch (m) {     case 1: printf("one");     case 2: printf("two");     case 3: printf("three");     break;     case 4: printf("four"); } 输出结果是(   ) A.two B.two three C.one two three D.two three four 6.以下关于 switch 语句的说法,正确的是(   ) A.switch 后面的表达式只能是整型或字符型 B.case 后面的常量表达式可以是变量 C.switch 语句中必须有 default 分支 D.break 语句在 switch 语句中是必须的 7.以下代码的输出是(   ) int x = 3; switch (x--) {  // x--返回原值3     case 3: printf("A");     case 2: printf("B"); break;     default: printf("C"); } A.A B.AB C.B D.C 8.以下代码的输出是(   ) int x = 0; switch (x) {     case 0:         if (x == 0) printf("A");         break;     case 1: printf("B"); } A.A B.B C.AB D.无输出 9.以下代码的输出是(   ) int x = 3; switch (x) {     case 1:     case 2: printf("A"); break;     case 3:     case 4: printf("B");     default: printf("C"); } A.B B.BC C.C D.无输出 10.以下代码的输出是(   ) int x = 0; switch (x) {     case 0:         int y = 5;         printf("%d", y);         break;     default: printf("0"); } A.5 B.0 C.编译错误 D.不确定 11.以下代码的输出是(   ) int x = 4; switch (x % 3) {     case 1: x += 1;     case 2: x += 2;     default: x += 3; } printf("%d", x); A.4 B.6 C.9 D.10 12.以下代码的输出是(   ) int x = 2; switch (x) {     case 1: printf("A");     case 2: printf("B");     case 3: printf("C");     default: printf("D"); } A.B B.BC C.BCD D.D 13.下列语句中说法正确的是(   ) A.Switch后表达式的类型可以和case后表达式或常量类型不一致。 B.case后可以是任何类型表达式。 C.case语句后面必须要有break。 D.不同的case可以共用一个语句组。 14.若有以下定义int a,b;float c;char d;变量均正确赋值,下列语句中,语法正确的是(   ) A.switch a+b        { case  1: a++;         case  2:b++;       case  3:d++; } B.switch (a+1)        { case  a: a++;         case  b:b++;         case  d:d++; } C.switch (d)   { case  ‘C’: a++;    case  ‘B’:b++;    case  ‘c’:a++;b++; } D.switch (a+b)    { case  ‘A’: a++;    case  ‘B’:b++;    case  ‘C’:d++; } 15.假定等级和分数有以下对应关系: 等级: 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("等级错误! "); } B.switch (grade) { case 'A':printf("85--100 ");break; case 'B':printf("60--84 "); case 'C':printf("60 以下 "); default:printf(" 等级错误! "); } C.switch (grade) { case 'A':printf("85--100 ");break; case 'B':printf("60--84 ");break; case 'C':printf("60 以下 "); default:printf("等级错误! "); } D.switch (grade) { case 'A':printf("85--100 ");break; case 'B':printf("60--84 ");break; case 'C':printf("60 以下 ");break; default:printf("等级错误! "); } 16.以下代码的输出结果是(   ) int x = 5;   switch(x) {       case 5: x += 2;       case 6: x += 3;       default: x += 4;   }   printf("%d", x); A.5 B.7 C.10 D.14 17.以下关于 switch 语句和 if - else if - else 语句的说法,错误的是(   ) A.switch 语句更适合处理多分支的等值判断 B.if - else if - else 语句可以处理范围判断,switch 语句一般不能 C.switch 语句的执行效率一定比 if - else if - else 语句高 D.switch 语句和 if - else if - else 语句都可以实现多分支选择结构 18.以下代码: char c = 'B'; switch (c) {     case 'A': printf("等级 A"); break;     case 'B': printf("等级 B");     case 'C': printf("等级 C");     default: printf("其他等级"); } 输出结果是(   ) A.等级 B B.等级 B 等级 C C.等级 B 等级 C 其他等级 D.等级 B 其他等级 19.有如下代码: int n = 3; switch (n) {     case 1:     case 2: printf("小"); break;     case 3:     case 4: printf("中"); break;     default: printf("大"); } 输出结果是(   ) A.小 B.中 C.大 D.无输出 20.有如下 switch 语句: int a = 2; switch (a) {     case 1: printf("1");     case 2: printf("2");     case 3: printf("3");     default: printf("default"); } 其输出结果是(   ) A.2 B.default C.23 D.23default 二、程序设计题(本大题共4小题,每题10分,共40分) 21.请编fun函数写程序,从键盘输入百分制成绩,要求输出等级制成绩A、B、C、D。90~100分为A,80~89分为B,60~79分为C,1~59分为D。不考虑小数,输入为整数,输出为字符    #include <stdio.h>    /*******space*******/    /*******space*******/    void main() {        int score,n;        char p;        scanf("%d",&score);        n=score/10;        p=fun(n);        printf("%c" , p); } 22.有两个降序排列的集合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]);        } } 23.该程序实现的功能是:已知数列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);         } 24.写给多个学生的成绩评定等级的程序。等级说明:成绩大于等于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页 学科网(北京)股份有限公司 $ 编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第9卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (五)多分支语句 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第9卷 多分支语句 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.以下代码的输出结果是(   ) int x = 2;   switch(x) {       case 1: printf("A");       case 2: printf("B");       case 3: printf("C"); break;       default: printf("D");   } A.B B.BC C.BCD D.B C D 【答案】B 2.以下程序段的输出结果是(   ) #define  PR(ar)    printf("ar = %d ", ar) main() {  int  j, a[] = { 1, 3, 5, 7, 9, 11, 13, 15},  *p = a + 5; for(j = 3;  j ; j--) switch( j ) {  case  1:     case  2: PR(*p++);  break;     case  3: PR(*(--p)); } getch();} A.ar = 9 ar = 9 ar = 9 B.ar = 11 ar = 9 ar = 11 C.ar = 11 ar = 11 ar = 9 D.ar = 9 ar = 9 ar = 11 【答案】D 3.下列关于switch语句叙述正确的一项是(   ) A.break语句只能用于switch语句 B.在switch语句中必须使用default C.break语句必须与switch语句中的case配对使用 D.在switch语句中,可以选择是否使用break语句 【答案】D 4.有如下 switch 语句: int grade = 85; switch (grade / 10) {     case 9: printf("优秀"); break;     case 8: printf("良好"); break;     case 7: printf("中等"); break;     case 6: printf("及格"); break;     default: printf("不及格"); } 输出结果是(   ) A.优秀 B.良好 C.中等 D.及格 【答案】B 5.以下代码: int m = 2; switch (m) {     case 1: printf("one");     case 2: printf("two");     case 3: printf("three");     break;     case 4: printf("four"); } 输出结果是(   ) A.two B.two three C.one two three D.two three four 【答案】B 6.以下关于 switch 语句的说法,正确的是(   ) A.switch 后面的表达式只能是整型或字符型 B.case 后面的常量表达式可以是变量 C.switch 语句中必须有 default 分支 D.break 语句在 switch 语句中是必须的 【答案】A 7.以下代码的输出是(   ) int x = 3; switch (x--) {  // x--返回原值3     case 3: printf("A");     case 2: printf("B"); break;     default: printf("C"); } A.A B.AB C.B D.C 【答案】B 8.以下代码的输出是(   ) int x = 0; switch (x) {     case 0:         if (x == 0) printf("A");         break;     case 1: printf("B"); } A.A B.B C.AB D.无输出 【答案】A 9.以下代码的输出是(   ) int x = 3; switch (x) {     case 1:     case 2: printf("A"); break;     case 3:     case 4: printf("B");     default: printf("C"); } A.B B.BC C.C D.无输出 【答案】B 10.以下代码的输出是(   ) int x = 0; switch (x) {     case 0:         int y = 5;         printf("%d", y);         break;     default: printf("0"); } A.5 B.0 C.编译错误 D.不确定 【答案】C 11.以下代码的输出是(   ) int x = 4; switch (x % 3) {     case 1: x += 1;     case 2: x += 2;     default: x += 3; } printf("%d", x); A.4 B.6 C.9 D.10 【答案】D 12.以下代码的输出是(   ) int x = 2; switch (x) {     case 1: printf("A");     case 2: printf("B");     case 3: printf("C");     default: printf("D"); } A.B B.BC C.BCD D.D 【答案】C 13.下列语句中说法正确的是(   ) A.Switch后表达式的类型可以和case后表达式或常量类型不一致。 B.case后可以是任何类型表达式。 C.case语句后面必须要有break。 D.不同的case可以共用一个语句组。 【答案】D 【详解】A选项A.Switch后表达式的类型可以和case后表达式或常量类型要一致。B选项case后只能是整型、字符型或者枚举型。C选项case语句后面可以有break。 14.若有以下定义int a,b;float c;char d;变量均正确赋值,下列语句中,语法正确的是(   ) A.switch a+b        { case  1: a++;         case  2:b++;       case  3:d++; } B.switch (a+1)        { case  a: a++;         case  b:b++;         case  d:d++; } C.switch (d)   { case  ‘C’: a++;    case  ‘B’:b++;    case  ‘c’:a++;b++; } D.switch (a+b)    { case  ‘A’: a++;    case  ‘B’:b++;    case  ‘C’:d++; } 【答案】C 【详解】A选项中,switch后表达式没有加括号;B选项中,case后面不能是变量;D选项中,switch表达式的数据类型要和case后面常量的数据类型保持一致。故选C。 15.假定等级和分数有以下对应关系: 等级: 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("等级错误! "); } B.switch (grade) { case 'A':printf("85--100 ");break; case 'B':printf("60--84 "); case 'C':printf("60 以下 "); default:printf(" 等级错误! "); } C.switch (grade) { case 'A':printf("85--100 ");break; case 'B':printf("60--84 ");break; case 'C':printf("60 以下 "); default:printf("等级错误! "); } D.switch (grade) { case 'A':printf("85--100 ");break; case 'B':printf("60--84 ");break; case 'C':printf("60 以下 ");break; default:printf("等级错误! "); } 【答案】D 【详解】选项A缺少所有的 break 语句,这将导致程序执行“级联”到下一个 case。选项B在 'A' 和 'B' 之后的 printf 语句缺少 break 语句,这同样会导致级联问题。同时 'C' 之后的 printf 语句也缺少 break。选项C在 'A' 和 'B' 之后的 printf 语句同样缺少 break 语句。 16.以下代码的输出结果是(   ) int x = 5;   switch(x) {       case 5: x += 2;       case 6: x += 3;       default: x += 4;   }   printf("%d", x); A.5 B.7 C.10 D.14 【答案】D 17.以下关于 switch 语句和 if - else if - else 语句的说法,错误的是(   ) A.switch 语句更适合处理多分支的等值判断 B.if - else if - else 语句可以处理范围判断,switch 语句一般不能 C.switch 语句的执行效率一定比 if - else if - else 语句高 D.switch 语句和 if - else if - else 语句都可以实现多分支选择结构 【答案】C 18.以下代码: char c = 'B'; switch (c) {     case 'A': printf("等级 A"); break;     case 'B': printf("等级 B");     case 'C': printf("等级 C");     default: printf("其他等级"); } 输出结果是(   ) A.等级 B B.等级 B 等级 C C.等级 B 等级 C 其他等级 D.等级 B 其他等级 【答案】C 19.有如下代码: int n = 3; switch (n) {     case 1:     case 2: printf("小"); break;     case 3:     case 4: printf("中"); break;     default: printf("大"); } 输出结果是(   ) A.小 B.中 C.大 D.无输出 【答案】B 20.有如下 switch 语句: int a = 2; switch (a) {     case 1: printf("1");     case 2: printf("2");     case 3: printf("3");     default: printf("default"); } 其输出结果是(   ) A.2 B.default C.23 D.23default 【答案】D 二、程序设计题(本大题共4小题,每题10分,共40分) 21.请编fun函数写程序,从键盘输入百分制成绩,要求输出等级制成绩A、B、C、D。90~100分为A,80~89分为B,60~79分为C,1~59分为D。不考虑小数,输入为整数,输出为字符    #include <stdio.h>    /*******space*******/    /*******space*******/    void main() {        int score,n;        char p;        scanf("%d",&score);        n=score/10;        p=fun(n);        printf("%c" , p); } 【答案】char fun(int n){        char p;        switch(n){            case 10:            case  9: p=’A’;break;            case  8: p=’B’;break;            case  7:            case  6: p=’C’;break;            default: p=’D’;break;        }        return p; } 22.有两个降序排列的集合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++;             } } 23.该程序实现的功能是:已知数列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; 24.写给多个学生的成绩评定等级的程序。等级说明:成绩大于等于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页 学科网(北京)股份有限公司 $

资源预览图

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