内容正文:
编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。
本专辑第20卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】:
(六)选择结构程序设计:理解switch语句实现多分支选择;
江苏省中职职教高考专业综合理论考试 计算机类
《C语言程序设计》考点双析卷 第20卷
多分支语句 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序段的输出结果是( )
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
2.以下程序段的输出结果是( )
int n='a';
switch(++n)
{default:printf("error");break;
case 'a':printf("good");break;
case 'b':printf("luck");}
A.error B.good C.luck D.luckerror
3.执行以下程序段时输入: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.不及格
4.执行以下程序段的输出结果是( )
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.
5.以下程序段的输出结果是( )
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**
6.若有以下程序段,且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!
7.已有定义: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”);}
8.执行以下程序段的输出结果是( )
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
9.在C语言中,switch语句后一对圆括号中表达式的类型( )
switch(表达式){……}
A.可以是整型或字符型 B.只能是int型
C.只能是字符型 D.只能是整型或实型
10.执行以下程序段的输出结果是( )
int a=10,b=11,c=0;switch(a%3)
{case 0:c++;break;case 1:c++;
switch(b%2){default:c++;case 0:c++;}}printf("%d
",c);
A.0 B.1 C.2 D.3
11.执行以下程序段的输出结果是( )
int m=1;
switch(m){case 1:m++;case 2:m--;case 3:m--;}printf("%d",m);
A.0 B.1 C.2 D.3
12.若有定义:int x=1;,执行下列程序段后,变量x的值为.( )
switch(x*10)
{case 9:x+=1;case 10:x+=1;case 11:x+=1;break;default:x+=1;}
A.1 B.2 C.3 D.4
13.执行下列程序段的输出结果是( )
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
14.若有定义:float x;int a,b;,则以下正确的switch语句是( )
A.switch(a+b){case 1.0:printf(“*”);case 2.0:printf(“$
”);
B.switch(x){case 3:printf(“*”);case 4:printf(“$
”);
C.switch(a+b){case 1:printf(“*”);case 2:printf(“$
”);
D.switch(a+b){case 1:printf(“*”);case 2+3:printf(“$
”);
15.执行以下程序段的输出结果是( )
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.$-$-$*
16.以下代码的输出结果是( )
int num = 4;
switch (num) {
case 1: printf("A"); break;
case 4: printf("B");
default: printf("C");
}
A.B B.BC C.C D.无输出
17.以下关于C语言中switch语句的描述,正确的是( )
A.case后面的表达式可以是变量
B.default子句可以存在多个
C.switch的条件表达式可以是浮点类型
D.case后面的值必须是整型常量表达式
18.以下代码的输出结果是( )
int a = 10;
switch (a) {
default: printf("Default");
case 1: printf("1");
}
A.Default1 B.Default C.1 D.编译错误
19.以下代码的输出结果是( )
int num = 2;
switch (num) {
case 1: printf("A");
case 2: printf("B");
case 3: printf("C"); break;
default: printf("D");
}
A.B B.C C.D D.BC
20.关于 switch 语句,错误的是( )
A.switch 表达式可以是字符型 B.reak 用于跳出 switch
C.default 分支可以省略 D.bcase 后的常量可以是变量
二、判断题(本大题共5小题,每题3分,共15分)
21.iswitch 语句的 case 分支可以使用范围。( )
22.icase 后的代码块可以为空。( )
23.iswitch 语句中必须包含 default 分支。( )
24.idefault 分支必须放在 switch 语句的最后。( )
25.case 后的常量值可以重复。( )
三、读程序写答案题(本大题共5小题,每题5分,共25分)
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int k=10;
switch(k+1)
{case 10:k++;break;
case 11:++k;
case 12:++k;break;
default:k+=1;}
printf("%d
",k);
getch();}
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{char n='c';
switch(n)
{case 'a':
case 'b':printf("you ");break;
case 'c':printf("pass ");
case 'd':printf("test ");
default:printf("error!");break;}
getch();}
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int x=1,y=2,z=3;
switch(x>0)
{case 1:switch(y<0)
{case 1:printf("?");break;
case 2:printf("%");break;}
case 0:switch(z==3)
{case 0:printf("@");break;
case 1:printf("#");break;
case 2:printf("$");break;}
default:printf("&");}
getch();}
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int x=0,y=2,z=3;
switch(x)
{case 0:switch(y=2)
{case 1:printf("*");break;
case 2:printf("%%");break;}
case 1:switch(z)
{case 1:printf("$");
case 2:printf("*");break;
default:printf("#");}}
getch();}
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int k=2;
switch(k)
{case 1:printf("%d ",k++);break;
case 2:printf("%d ",k++);
case 3:printf("%d ",k++);break;
case 4:printf("%d ",k++);
default:printf("FULL!");}
getch();}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。
本专辑第20卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】:
(六)选择结构程序设计:理解switch语句实现多分支选择;
江苏省中职职教高考专业综合理论考试 计算机类
《C语言程序设计》考点双析卷 第20卷
多分支语句 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序段的输出结果是( )
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
2.以下程序段的输出结果是( )
int n='a';
switch(++n)
{default:printf("error");break;
case 'a':printf("good");break;
case 'b':printf("luck");}
A.error B.good C.luck D.luckerror
【答案】C
3.执行以下程序段时输入: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
4.执行以下程序段的输出结果是( )
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
5.以下程序段的输出结果是( )
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
6.若有以下程序段,且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
7.已有定义: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
8.执行以下程序段的输出结果是( )
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
9.在C语言中,switch语句后一对圆括号中表达式的类型( )
switch(表达式){……}
A.可以是整型或字符型 B.只能是int型
C.只能是字符型 D.只能是整型或实型
【答案】A
10.执行以下程序段的输出结果是( )
int a=10,b=11,c=0;switch(a%3)
{case 0:c++;break;case 1:c++;
switch(b%2){default:c++;case 0:c++;}}printf("%d
",c);
A.0 B.1 C.2 D.3
【答案】D
11.执行以下程序段的输出结果是( )
int m=1;
switch(m){case 1:m++;case 2:m--;case 3:m--;}printf("%d",m);
A.0 B.1 C.2 D.3
【答案】A
12.若有定义:int x=1;,执行下列程序段后,变量x的值为.( )
switch(x*10)
{case 9:x+=1;case 10:x+=1;case 11:x+=1;break;default:x+=1;}
A.1 B.2 C.3 D.4
【答案】C
13.执行下列程序段的输出结果是( )
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
14.若有定义:float x;int a,b;,则以下正确的switch语句是( )
A.switch(a+b){case 1.0:printf(“*”);case 2.0:printf(“$
”);
B.switch(x){case 3:printf(“*”);case 4:printf(“$
”);
C.switch(a+b){case 1:printf(“*”);case 2:printf(“$
”);
D.switch(a+b){case 1:printf(“*”);case 2+3:printf(“$
”);
【答案】C
15.执行以下程序段的输出结果是( )
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
16.以下代码的输出结果是( )
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
17.以下关于C语言中switch语句的描述,正确的是( )
A.case后面的表达式可以是变量
B.default子句可以存在多个
C.switch的条件表达式可以是浮点类型
D.case后面的值必须是整型常量表达式
【答案】D
18.以下代码的输出结果是( )
int a = 10;
switch (a) {
default: printf("Default");
case 1: printf("1");
}
A.Default1 B.Default C.1 D.编译错误
【答案】A
19.以下代码的输出结果是( )
int num = 2;
switch (num) {
case 1: printf("A");
case 2: printf("B");
case 3: printf("C"); break;
default: printf("D");
}
A.B B.C C.D D.BC
【答案】D
20.关于 switch 语句,错误的是( )
A.switch 表达式可以是字符型 B.reak 用于跳出 switch
C.default 分支可以省略 D.bcase 后的常量可以是变量
【答案】D
二、判断题(本大题共5小题,每题3分,共15分)
21.iswitch 语句的 case 分支可以使用范围。( )
【答案】错误
22.icase 后的代码块可以为空。( )
【答案】正确
23.iswitch 语句中必须包含 default 分支。( )
【答案】错误
24.idefault 分支必须放在 switch 语句的最后。( )
【答案】错误
25.case 后的常量值可以重复。( )
【答案】错误
三、读程序写答案题(本大题共5小题,每题5分,共25分)
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int k=10;
switch(k+1)
{case 10:k++;break;
case 11:++k;
case 12:++k;break;
default:k+=1;}
printf("%d
",k);
getch();}
【答案】12
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{char n='c';
switch(n)
{case 'a':
case 'b':printf("you ");break;
case 'c':printf("pass ");
case 'd':printf("test ");
default:printf("error!");break;}
getch();}
【答案】pass test error!
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int x=1,y=2,z=3;
switch(x>0)
{case 1:switch(y<0)
{case 1:printf("?");break;
case 2:printf("%");break;}
case 0:switch(z==3)
{case 0:printf("@");break;
case 1:printf("#");break;
case 2:printf("$");break;}
default:printf("&");}
getch();}
【答案】#&
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int x=0,y=2,z=3;
switch(x)
{case 0:switch(y=2)
{case 1:printf("*");break;
case 2:printf("%%");break;}
case 1:switch(z)
{case 1:printf("$");
case 2:printf("*");break;
default:printf("#");}}
getch();}
【答案】%#
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int k=2;
switch(k)
{case 1:printf("%d ",k++);break;
case 2:printf("%d ",k++);
case 3:printf("%d ",k++);break;
case 4:printf("%d ",k++);
default:printf("FULL!");}
getch();}
【答案】2 3
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$