内容正文:
编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。
本专辑第17卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】:
(六)选择结构程序设计:掌握if语句;
江苏省中职职教高考专业综合理论考试 计算机类
《C语言程序设计》考点双析卷 第17卷
掌握if语句 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.有一函数,以下程序段中错误的是( )
A.if(x>0) y=1 ;
else if(x==0) y=0;
else y=-1;
B.y=0;
if(x>0)y=1;
else if(x<0) y=-1;
C.y=0;
if(x>=0);
if(x>0)y=1;
else y=-1;
D.if (x>=0)
if(x>0)y=1;
else y=0;
else y=-1;
2.两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是( )
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d
",x - -); }
A.7和5 B.6和3 C.7和4 D.6和4
3.给出以下问题:
①求面积为1的正三角形的周长;
②求键盘所输入的三个数的算术平均数;
③求键盘所输入的两个数中较小数;
④求函数当自变量取x0时的函数值.
其中不需要用条件语句来描述算法的问题有( )
A.1个 B.2个 C.3个 D.4个
4.在嵌套使用if语句时,C语言规定else总是( )
A.和之前与其具有相同缩进位置的if配对
B.和之前与其最近的if配对
C.和之前与其最近的且不带else的if配对
D.和之前的第一个if配对
5.以下运算符中优先级最高的是( )
A.&& B.+ C.!= D.?:
6.若执行下面的程序时从键盘上输入3和4,则输出是( )
main()
{ int a,b,s;
scanf("%d %d",&a,&b);
s=a;
if(a<b)s=b;
s=s*s;
printf("%d
",s);}
A.14 B.16 C.18 D.20
7.为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与 组成配对关系。( )
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
8.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( )
A.必须是逻辑值 B.必须是整数值
C.必须是正数 D.可以是任意合法的数值
9.在执行以下程序时,为使输出结果为:t=4,则给a和b输入的值应满足的条件是( )
Int main(void)
{
Int a,b,s,t;
scanf(“%d,%d”,&a,&b);
s=1;t=1;
if(a>0)s=s+1;
if(a>b)t=s+t;
else if(a==b) t=5;
else t=2*s;
printf(“t=%d
”,t);
return 0;
}
A.a>b B.a<b<0 C.0<a<b D.0>a>b
10.以下不正确的if语句是( )
A.if(x<y);
B.if(x!=y) scanf(“%d” ,&x) else scanf(“%d”,&y);
C.if(x==y) x+=y;
D.if(x<y) {x++;--y;}
11.以下程序段的运行结果是( )
int a=5,b=4,c=2,d=1;
if(a>b>c)d=3;
else d--:
printf("%d
",d);
A.0 B.1 C.2 D.3
12.C语言对于嵌套if语句规定 else总是与____匹配。( )
A.与最外层的if B.与之前最近的if
C.与之前最近的不带else 的if D.与最近的{}之前的if
13.已知 int a=1,b=2,c=3,d=4;,则条件表达式 a>b? a:c<d?c:d的值是( )
A.4 B.3 C.2 D.1
14.以下程序段的输出结果是( )
int x=1,y=0;
if(!x) y++;
else if(x==0)if(x) y+=5;else y+=6;printf("%d",y);
A.0 B.1 C.2 D.3
15.执行下列程序段时输入:153<回车>,输出结果是( )
int a,b,c,x;scanf("%d",&x);
if(x<1000&&x>=100)
{a=x/100;b=x/10%10;c=x%10;
if(x==a*a*a+b*b*b+c*c*c)printf("是水仙花数");
else printf("不是水仙花数");}
else printf("输入错误");
A.是水仙花数 B.不是水仙花数 C.输入错误 D.无输出
16.执行以下程序段时输入:35<回车>,输出结果为( )
int x;scanf("%d",&x);
if(x%3==0) {if(x%5==0)printf("yes");}
else printf("no");
A.yes B.no C.35 D.无输出
17.执行以下程序段时输入:12 35 5<回车>,输出结果是( )
int x,y,z,t;scanf("%d%d%d",&x,&y,&z);
if(x>y){t=x;x=y;y=t;}
if(x>z){t=x;x=z;z=t;}
if(y>z){t=y;y=z;z=t;}printf("%d,%d,%d",x,y,z);
A.12,35,5 B.5,12,35 C.12,5,35 D.35,12,5
18.执行以下程序段的输出结果是( )
int x=1,y=2,z=3;
if(x<y)
if(y<z)printf("%d",++z);
else printf("%d",++y);
else printf("%d",++x);
A.4 B.2 C.3 D.1
19.执行以下程序段时输入:M<回车>,输出结果是( )
char ch;
scanf("%c",&ch);
if(ch>='a'&&ch<='z') ch-='a'-'A';
else if(ch>='A'&&ch<='Z') ch+='a'-'A';
printf("%c",ch);
A.m B.M C.109 D.77
20.执行以下程序段的输出结果是( )
int x,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;
x=(x<c)?x:c;
x=(d>x)?x:d;
printf("%d",x);
A.1 B.2 C.3 D.4
二、判断题(本大题共5小题,每题3分,共15分)
21.条件表达式a ? b : c的结果类型由b和c中较大的类型决定。( )
22.if 语句的条件表达式可以是赋值表达式。( )
23.在嵌套 if 语句中,内层 if 语句的条件判断不会受到外层 if 语句的影响。( )
24.多分支 if - else if - else 结构中,else 子句是可选的。( )
25.若 if 语句中的 “表达式” 值为 0,则会执行 else 子句(如果存在)。( )
三、读程序写答案题(本大题共5小题,每题5分,共25分)
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=100,x=10,y=20,k1=0,k2=1;
if(x<y)
if(y!=10)
if(!k1)a=1;
else
if(!k2)a=10;
a=-1;
printf("%d",a);
getch();}
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=5,b=4,c=3,d=2;
if(a>b)
if(b>c)
printf("%d",d+++1);
else printf("%d",++d+1);
printf("%d",d);
getch();}
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=100,x=10,y=20,okl=5,ok2=0;
if(x<y)
if(y!=10)
if(!okl)a=1;
else
if (ok2) a=10;
a=-1;
printf("%d
",a);
getch();}
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=12,b=8,c=7,max;
max=a;
if(c>b)
if(c>a)max=c;
else if(b>a)max=b;
printf("max=%d
",max);
getch();}
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=1,b=3,c=5,d=4,e;
if(a<b)
if(c<d) e=1;
else
if(a<c)
if(b<d) e=2;
else e=5;
else e=7;
else e=9;
printf("%d",e);
getch();}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。
本专辑第17卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】:
(六)选择结构程序设计:掌握if语句;
江苏省中职职教高考专业综合理论考试 计算机类
《C语言程序设计》考点双析卷 第17卷
掌握if语句 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.有一函数,以下程序段中错误的是( )
A.if(x>0) y=1 ;
else if(x==0) y=0;
else y=-1;
B.y=0;
if(x>0)y=1;
else if(x<0) y=-1;
C.y=0;
if(x>=0);
if(x>0)y=1;
else y=-1;
D.if (x>=0)
if(x>0)y=1;
else y=0;
else y=-1;
【答案】C
2.两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是( )
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d
",x - -); }
A.7和5 B.6和3 C.7和4 D.6和4
【答案】A
3.给出以下问题:
①求面积为1的正三角形的周长;
②求键盘所输入的三个数的算术平均数;
③求键盘所输入的两个数中较小数;
④求函数当自变量取x0时的函数值.
其中不需要用条件语句来描述算法的问题有( )
A.1个 B.2个 C.3个 D.4个
【答案】B
4.在嵌套使用if语句时,C语言规定else总是( )
A.和之前与其具有相同缩进位置的if配对
B.和之前与其最近的if配对
C.和之前与其最近的且不带else的if配对
D.和之前的第一个if配对
【答案】C
5.以下运算符中优先级最高的是( )
A.&& B.+ C.!= D.?:
【答案】B
6.若执行下面的程序时从键盘上输入3和4,则输出是( )
main()
{ int a,b,s;
scanf("%d %d",&a,&b);
s=a;
if(a<b)s=b;
s=s*s;
printf("%d
",s);}
A.14 B.16 C.18 D.20
【答案】B
7.为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与 组成配对关系。( )
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
【答案】C
8.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( )
A.必须是逻辑值 B.必须是整数值
C.必须是正数 D.可以是任意合法的数值
【答案】D
9.在执行以下程序时,为使输出结果为:t=4,则给a和b输入的值应满足的条件是( )
Int main(void)
{
Int a,b,s,t;
scanf(“%d,%d”,&a,&b);
s=1;t=1;
if(a>0)s=s+1;
if(a>b)t=s+t;
else if(a==b) t=5;
else t=2*s;
printf(“t=%d
”,t);
return 0;
}
A.a>b B.a<b<0 C.0<a<b D.0>a>b
【答案】C
10.以下不正确的if语句是( )
A.if(x<y);
B.if(x!=y) scanf(“%d” ,&x) else scanf(“%d”,&y);
C.if(x==y) x+=y;
D.if(x<y) {x++;--y;}
【答案】B
11.以下程序段的运行结果是( )
int a=5,b=4,c=2,d=1;
if(a>b>c)d=3;
else d--:
printf("%d
",d);
A.0 B.1 C.2 D.3
【答案】C
12.C语言对于嵌套if语句规定 else总是与____匹配。( )
A.与最外层的if B.与之前最近的if
C.与之前最近的不带else 的if D.与最近的{}之前的if
【答案】C
13.已知 int a=1,b=2,c=3,d=4;,则条件表达式 a>b? a:c<d?c:d的值是( )
A.4 B.3 C.2 D.1
【答案】B
14.以下程序段的输出结果是( )
int x=1,y=0;
if(!x) y++;
else if(x==0)if(x) y+=5;else y+=6;printf("%d",y);
A.0 B.1 C.2 D.3
【答案】A
15.执行下列程序段时输入:153<回车>,输出结果是( )
int a,b,c,x;scanf("%d",&x);
if(x<1000&&x>=100)
{a=x/100;b=x/10%10;c=x%10;
if(x==a*a*a+b*b*b+c*c*c)printf("是水仙花数");
else printf("不是水仙花数");}
else printf("输入错误");
A.是水仙花数 B.不是水仙花数 C.输入错误 D.无输出
【答案】A
16.执行以下程序段时输入:35<回车>,输出结果为( )
int x;scanf("%d",&x);
if(x%3==0) {if(x%5==0)printf("yes");}
else printf("no");
A.yes B.no C.35 D.无输出
【答案】B
17.执行以下程序段时输入:12 35 5<回车>,输出结果是( )
int x,y,z,t;scanf("%d%d%d",&x,&y,&z);
if(x>y){t=x;x=y;y=t;}
if(x>z){t=x;x=z;z=t;}
if(y>z){t=y;y=z;z=t;}printf("%d,%d,%d",x,y,z);
A.12,35,5 B.5,12,35 C.12,5,35 D.35,12,5
【答案】B
18.执行以下程序段的输出结果是( )
int x=1,y=2,z=3;
if(x<y)
if(y<z)printf("%d",++z);
else printf("%d",++y);
else printf("%d",++x);
A.4 B.2 C.3 D.1
【答案】A
19.执行以下程序段时输入:M<回车>,输出结果是( )
char ch;
scanf("%c",&ch);
if(ch>='a'&&ch<='z') ch-='a'-'A';
else if(ch>='A'&&ch<='Z') ch+='a'-'A';
printf("%c",ch);
A.m B.M C.109 D.77
【答案】A
20.执行以下程序段的输出结果是( )
int x,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;
x=(x<c)?x:c;
x=(d>x)?x:d;
printf("%d",x);
A.1 B.2 C.3 D.4
【答案】A
二、判断题(本大题共5小题,每题3分,共15分)
21.条件表达式a ? b : c的结果类型由b和c中较大的类型决定。( )
【答案】正确
22.if 语句的条件表达式可以是赋值表达式。( )
【答案】正确
23.在嵌套 if 语句中,内层 if 语句的条件判断不会受到外层 if 语句的影响。( )
【答案】错误
24.多分支 if - else if - else 结构中,else 子句是可选的。( )
【答案】正确
25.若 if 语句中的 “表达式” 值为 0,则会执行 else 子句(如果存在)。( )
【答案】正确
三、读程序写答案题(本大题共5小题,每题5分,共25分)
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=100,x=10,y=20,k1=0,k2=1;
if(x<y)
if(y!=10)
if(!k1)a=1;
else
if(!k2)a=10;
a=-1;
printf("%d",a);
getch();}
【答案】-1
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=5,b=4,c=3,d=2;
if(a>b)
if(b>c)
printf("%d",d+++1);
else printf("%d",++d+1);
printf("%d",d);
getch();}
【答案】33
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=100,x=10,y=20,okl=5,ok2=0;
if(x<y)
if(y!=10)
if(!okl)a=1;
else
if (ok2) a=10;
a=-1;
printf("%d
",a);
getch();}
【答案】-1
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=12,b=8,c=7,max;
max=a;
if(c>b)
if(c>a)max=c;
else if(b>a)max=b;
printf("max=%d
",max);
getch();}
【答案】max=12
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=1,b=3,c=5,d=4,e;
if(a<b)
if(c<d) e=1;
else
if(a<c)
if(b<d) e=2;
else e=5;
else e=7;
else e=9;
printf("%d",e);
getch();}
【答案】2
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$