内容正文:
编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。
本专辑第17卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】:
(三)选择结构程序设计:掌握 if 语句的使用,以及条件运算符和条件表达式
广西高等职业教育考试 电子与信息类
《C语言程序设计》考点双析卷 第17卷
条件语句 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下不正确的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
2.以下程序段的运行结果是( )
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
3.C语言对于嵌套if语句规定 else总是与____匹配。( )
A.与最外层的if B.与之前最近的if
C.与之前最近的不带else 的if D.与最近的{}之前的if
【答案】C
4.已知 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
5.以下程序段的输出结果是( )
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
6.执行下列程序段时输入: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
7.执行以下程序段时输入: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
8.执行以下程序段时输入: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
9.设有定义:int a=1,b=2,c=3;以下if语句中执行效果与其他3个不同的是( )
A.if(a>b)c=a,a=b,b=c; B.if(a>b){c=a,a=b,b=c;}
C.if(a>b)c=a;a=b;b=c; D.if(a>b){c=a;a=b;b=c;}
【答案】C
10.执行以下程序段的输出结果是( )
int a=100;
if(a>100)printf("%d",a>100);
else printf("%d",a<=100);
A.a>100 B.a<=100 C.0 D.1
【答案】D
11.执行以下程序段时输入:57<回车>,输出结果是( )
int x;scanf("%d",&x);
if(x%5==0&&x%7==0)printf("yes");else printf("no");
A.yes B.yesno C.noyes D.no
【答案】D
12.执行以下程序段时输入:6 8<回车>,输出结果是( )
int a,b,x,y;scanf("%d %d",&a,&b);x=a*a+b*b;
if(x>100)
{y=x/100;printf("%d",y);}
else printf("%d",a+b);
A.14 B.1 C.48 D.85
【答案】A
13.执行以下程序段的输出结果是( )
int a=-10,b=-3;printf("%d,",-a%b);
printf("%d,",(a-b,a+b));printf("%d
",a-b?a-b:a+b);
A.-1,-13,-7 B.1,-13,-7 C.-1,-13,7 D.1,13,-7
【答案】B
14.执行以下程序段时输入:2025<回车>,输出结果是( )
int y,f;scanf("%d",&y);
if(y%400==0) f=1;
else if(y%4==0&&y%100!=0) f=1;
else f=0;
if(f) printf("%d is",y);
else printf("%d is not",y);printf(" a leap year
");
A.2025 is a leap year B.2025 is not a leap year
C.2025 is D.2025 a leap year
【答案】B
15.执行以下程序段时输入:1 3<回车>,输出结果是( )
int s,t,a,b;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("s=%d,t=%d",s,t);
A.s=1,t=3 B.s=2,t=2 C.s=3,t=2 D.s=2,t=3
【答案】D
16.执行以下程序段时输入:z<回车>,输出结果是( )
char c;c=getchar( );
if(c>='a'&&c<='u') c=c+5;
else if(c>='v'&&c<='z') c=c-21;putchar(c);
A.e B.d C.f D.g
【答案】A
17.执行以下程序段时输入:5 8<回车>,输出结果是( )
int x,y,sum,product; scanf("%d,%d",&x,&y);
sum=x+y; product=x*y;
if(sum>product)printf("(x+y)>(x*y)");
else printf("(x*y)>=(x+y)");
A.(x+y)>(x*y) B.(x*y)>=(x+y) C.40 D.13
【答案】B
18.执行以下程序段时输入:m<回车>,输出结果是( )
char ch;
scanf("%c",&ch);
if(ch>='a'&&ch<='z') ch-='a'-'A';
else if(ch>='A'&&ch<='Z') ch+='a'-'A';
printf("%d",ch);
A.m B.M C.109 D.77
【答案】D
19.执行以下程序段的输出结果是( )
int a,b,c;a=2,b=3,c=1;
if(a>b)
if(a>c)printf("%d",a);
else printf("%d",b);printf("end");
A.2 B.3 C.1 D.end
【答案】D
20.执行以下程序段时输入:&<回车>,输出结果是( )
char ch;scanf("%c",&ch);
if(ch>='0'&&ch<='9') printf("it is a number!");
else
if(ch>='A'&&ch<='Z') printf("it is a capital letter!");
else if(ch>='A'&&ch<='Z') printf("it is a lowercase!");
printf("others!");
A.it is a number! B.it is a capital letter!
C.it is a lowercase! D.others!
【答案】D
二、判断题(本大题共5小题,每题2分,共10分)
21.条件表达式a ? b : c的结果类型由b和c中较大的类型决定。( )
【答案】正确
22.if 语句的条件表达式可以是赋值表达式。( )
【答案】正确
23.在嵌套 if 语句中,内层 if 语句的条件判断不会受到外层 if 语句的影响。( )
【答案】错误
24.在 if (表达式) 语句; 格式中,“表达式” 只能是布尔类型的值。( )
【答案】错误
25.if (a, b) 的条件判断结果由a和b共同决定( )
【答案】错误
三、程序设计题(本大题共3小题,每题10分,共30分)
26.输入月份和订购机票的数量,计算机票优惠率并输出。计算规则如表所示。
月份m
{7,8,9}
{1~5,10,11}
{6,12}
数量n
n>=20
n<20
n>=20
n<20
优惠率r(%)
15
5
30
20
10
【答案】#include <stdio.h>
main() {
float r;
int month, num;
printf("请输入月份和机票数量:");
scanf("%d%d", &month, &num);
if (month == 6 || month == 12)
r = 0.1;
else if (month == 7 || month == 8 || month == 9) {
if (num >= 20)
r = 0.15;
else
r = 0.05;
} else {
if (num >= 20)
r = 0.3;
else
r = 0.2;
}
printf("优惠率为:%.2f", r);
}
27.输入图书的定价和数量,计算购书金额并输出。其中,图书销售策略为:正常情况下按九折出售,超过十本按八五折出售,超过100本按八折出售。
【答案】#include <stdio.h>
main() {
float price, r; //r为折扣
int num;
printf("请输入定价和数量:");
scanf("%f %d", &price,&num);
if (num <= 10)
r = 0.9;
else if (num <= 100)
r = 0.85;
else
r = 0.8;
printf("购书金额为:%.2f", num * price * r);
}
28.输入三角形的三条边,判断能否构成三角形,若能,判断是直角三角形,还是等边三角形,还是等腰三角形或一般三角形。
#include<stdio.h>
void main(){
float a,b,c;
/*******space*******/
/*******space*******/
}
【答案】if(a+b>c && a+c>b && b+c>a){
if(a==b && b==c){
printf("等边三角形");
}
else if(a==b || b==c || a==c){
printf("等腰三角形");
}
else if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a){
printf("直角三角形");
}
else{
printf("一般三角形");
}
}
【详解】构成三角形的必要条件是任意两边之和大于第三边,等边三角形的必要条件是三边相等,等腰三角形是任意两边相等,直角三角形根据勾股定理,其它情况则是一般三角形。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。
本专辑第17卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】:
(三)选择结构程序设计:掌握 if 语句的使用,以及条件运算符和条件表达式
广西高等职业教育考试 电子与信息类
《C语言程序设计》考点双析卷 第17卷
条件语句 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下不正确的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;}
2.以下程序段的运行结果是( )
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
3.C语言对于嵌套if语句规定 else总是与____匹配。( )
A.与最外层的if B.与之前最近的if
C.与之前最近的不带else 的if D.与最近的{}之前的if
4.已知 int a=1,b=2,c=3,d=4;,则条件表达式 a>b? a:c<d?c:d的值是( )
A.4 B.3 C.2 D.1
5.以下程序段的输出结果是( )
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
6.执行下列程序段时输入: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.无输出
7.执行以下程序段时输入: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.无输出
8.执行以下程序段时输入: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
9.设有定义:int a=1,b=2,c=3;以下if语句中执行效果与其他3个不同的是( )
A.if(a>b)c=a,a=b,b=c; B.if(a>b){c=a,a=b,b=c;}
C.if(a>b)c=a;a=b;b=c; D.if(a>b){c=a;a=b;b=c;}
10.执行以下程序段的输出结果是( )
int a=100;
if(a>100)printf("%d",a>100);
else printf("%d",a<=100);
A.a>100 B.a<=100 C.0 D.1
11.执行以下程序段时输入:57<回车>,输出结果是( )
int x;scanf("%d",&x);
if(x%5==0&&x%7==0)printf("yes");else printf("no");
A.yes B.yesno C.noyes D.no
12.执行以下程序段时输入:6 8<回车>,输出结果是( )
int a,b,x,y;scanf("%d %d",&a,&b);x=a*a+b*b;
if(x>100)
{y=x/100;printf("%d",y);}
else printf("%d",a+b);
A.14 B.1 C.48 D.85
13.执行以下程序段的输出结果是( )
int a=-10,b=-3;printf("%d,",-a%b);
printf("%d,",(a-b,a+b));printf("%d
",a-b?a-b:a+b);
A.-1,-13,-7 B.1,-13,-7 C.-1,-13,7 D.1,13,-7
14.执行以下程序段时输入:2025<回车>,输出结果是( )
int y,f;scanf("%d",&y);
if(y%400==0) f=1;
else if(y%4==0&&y%100!=0) f=1;
else f=0;
if(f) printf("%d is",y);
else printf("%d is not",y);printf(" a leap year
");
A.2025 is a leap year B.2025 is not a leap year
C.2025 is D.2025 a leap year
15.执行以下程序段时输入:1 3<回车>,输出结果是( )
int s,t,a,b;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("s=%d,t=%d",s,t);
A.s=1,t=3 B.s=2,t=2 C.s=3,t=2 D.s=2,t=3
16.执行以下程序段时输入:z<回车>,输出结果是( )
char c;c=getchar( );
if(c>='a'&&c<='u') c=c+5;
else if(c>='v'&&c<='z') c=c-21;putchar(c);
A.e B.d C.f D.g
17.执行以下程序段时输入:5 8<回车>,输出结果是( )
int x,y,sum,product; scanf("%d,%d",&x,&y);
sum=x+y; product=x*y;
if(sum>product)printf("(x+y)>(x*y)");
else printf("(x*y)>=(x+y)");
A.(x+y)>(x*y) B.(x*y)>=(x+y) C.40 D.13
18.执行以下程序段时输入:m<回车>,输出结果是( )
char ch;
scanf("%c",&ch);
if(ch>='a'&&ch<='z') ch-='a'-'A';
else if(ch>='A'&&ch<='Z') ch+='a'-'A';
printf("%d",ch);
A.m B.M C.109 D.77
19.执行以下程序段的输出结果是( )
int a,b,c;a=2,b=3,c=1;
if(a>b)
if(a>c)printf("%d",a);
else printf("%d",b);printf("end");
A.2 B.3 C.1 D.end
20.执行以下程序段时输入:&<回车>,输出结果是( )
char ch;scanf("%c",&ch);
if(ch>='0'&&ch<='9') printf("it is a number!");
else
if(ch>='A'&&ch<='Z') printf("it is a capital letter!");
else if(ch>='A'&&ch<='Z') printf("it is a lowercase!");
printf("others!");
A.it is a number! B.it is a capital letter!
C.it is a lowercase! D.others!
二、判断题(本大题共5小题,每题2分,共10分)
21.条件表达式a ? b : c的结果类型由b和c中较大的类型决定。( )
22.if 语句的条件表达式可以是赋值表达式。( )
23.在嵌套 if 语句中,内层 if 语句的条件判断不会受到外层 if 语句的影响。( )
24.在 if (表达式) 语句; 格式中,“表达式” 只能是布尔类型的值。( )
25.if (a, b) 的条件判断结果由a和b共同决定( )
三、程序设计题(本大题共3小题,每题10分,共30分)
26.输入月份和订购机票的数量,计算机票优惠率并输出。计算规则如表所示。
月份m
{7,8,9}
{1~5,10,11}
{6,12}
数量n
n>=20
n<20
n>=20
n<20
优惠率r(%)
15
5
30
20
10
27.输入图书的定价和数量,计算购书金额并输出。其中,图书销售策略为:正常情况下按九折出售,超过十本按八五折出售,超过100本按八折出售。
28.输入三角形的三条边,判断能否构成三角形,若能,判断是直角三角形,还是等边三角形,还是等腰三角形或一般三角形。
#include<stdio.h>
void main(){
float a,b,c;
/*******space*******/
/*******space*******/
}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$