内容正文:
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第15卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(三)分支结构程序设计:条件语句
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第15卷
条件语句 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题2分,共40分)
1.以下运算符中优先级最高的是( )
A.&& B.+ C.!= D.?:
【答案】B
2.给出以下问题:
①求面积为1的正三角形的周长;
②求键盘所输入的三个数的算术平均数;
③求键盘所输入的两个数中较小数;
④求函数当自变量取x0时的函数值.
其中不需要用条件语句来描述算法的问题有( )
A.1个 B.2个 C.3个 D.4个
【答案】B
3.有一函数,以下程序段中错误的是( )
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
4.在嵌套使用if语句时,C语言规定else总是( )
A.和之前与其具有相同缩进位置的if配对
B.和之前与其最近的if配对
C.和之前与其最近的且不带else的if配对
D.和之前的第一个if配对
【答案】C
5.在执行以下程序时,为使输出结果为: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
6.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( )
A.必须是逻辑值 B.必须是整数值
C.必须是正数 D.可以是任意合法的数值
【答案】D
7.若执行下面的程序时从键盘上输入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
8.为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与 组成配对关系。( )
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
【答案】C
9.两次运行下面的程序,如果从键盘上分别输入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
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.执行以下程序的输出结果是( )
void fun (int x)
{ if (x/5>0) fun(x/5);
printf("%d ",x) ;}
main( )
{ fun(11); printf("
");getch();}
A.2 11 B.3 11 C.2 12 D.2 17
【答案】A
12.执行以下程序的输出结果是( )
int fun (int x,int y)
{ if (x!=y) return ((x+y)/2);
else return (x);}
main()
{ int a=4,b=5,c=6;
printf("%d
",fun(2*a,fun(b,c)));getch();}
A.3 B.6 C.8 D.12
【答案】B
13.执行以下程序的输出结果是( )
void fun(int x)
{if(x<10)printf("yes");
else printf("no");}
main()
{fun(10);getch();}
A.no B.yes C.有语法错误 D.可以通过编译但不能执行
【答案】A
14.在下述程序中,判断i>j共执行的次数是( )
main()
{ int i=0, j=10, k=2, s=0;
for (;;)
{ i+=k;
if(i>j)
{ printf("%d",s);
break;
} s+=i; } }
A.4 B.5 C.6 D.7
【答案】C
15.以下是if语句的基本形式:if(表达式)语句,其中“表达式” ( )
A.必须是逻辑表达式
B.必须是关系表达式
C.必须是逻辑表达式或关系表达式
D.可以是任意合法的表达式
【答案】D
16.下列程序的运行结果为( )
#include<stdio.h>
main()
{int a=2,b=-1,c=2;
if(a<b)
if(b<0)c=0;
else c+=1;
printf("%d
", c);
}
A.0 B.1 C.2 D.3
【答案】C
17.阅读下列程序,其运行结果是( )
#include<stdio.h>
main()
{
char c='A';
if('0'<=c<='39')
printf(" YES");
else
printf(" NO");
}
A.YES B.NO C.YESNO D.语句错误
【答案】A
18.若有说明:int,y;不能实现以下函数关系的程序段是( )
A.if(x<0)y=-1;
else if(x==0)y=0;
else y=1;
B.y=-1;
if(x!=0)
if(x>0)y=1;
else y=0;
C.y=0;
if(x>=0)
{if(x>0)y=1;}
D.if(x>=0)
【答案】B
19.若w=1,x=2,y=3,z=4;,则条件表达式w>x?w:y<z?y:z的结果为 ( )
A.4 B.3 C.2 D.1
【答案】B
20.下列程序的输出结果是( )
#include <stdio.h>
main() {
int i, s = 0;
for (i = 1; i < 10; i++)
if (!(i % 2) && !(i % 3))
s += i;
printf("%d
", s);
}
A.5 B.6 C.7 D.8
【答案】B
二、程序设计题(本大题共4小题,每题15分,共60分)
21.输入月份和订购机票的数量,计算机票优惠率并输出。计算规则如表所示。
月份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);
}
22.输入图书的定价和数量,计算购书金额并输出。其中,图书销售策略为:正常情况下按九折出售,超过十本按八五折出售,超过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);
}
23.编写程序输入三位数(100—999),然后按数字逆序输出
#include <stdio.h>
void main()
{
int n,ge,shi,bai;
scanf("%d",&n);
/*******space*******/
/*******space*******/
}
【答案】if(x<100 || x>999) {
printf("输入的数据有误");
}
else{
ge=n%10;
shi=n/10%10;
bai=n/100%10;
printf("%d%d%d",ge,shi,bai);
}
【详解】题目要求输入的数是三位数,所以对输入的数做判断先,不满足要求的数做提示。满足要求的数进行数位分离后输出即可,注意是逆序输出,即先输出个位。
24.编写程序,输出如下图形
#include<stdio.h>
main(){
int i,j;
/*******space*******/
/*******space*******/
}
【答案】for(i=1;i<=7;i++){
for(j=1;j<=12;j++){
if(i==1 || i==5 || j==1 || j==12){
printf("*");
}else{
printf(" ");
}
}
}
【详解】如图是一个7行12列的图形,只有第一行和最后一行以及第一列和最后一列输出的是*,其他都是空格。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第15卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(三)分支结构程序设计:条件语句
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第15卷
条件语句 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题2分,共40分)
1.以下运算符中优先级最高的是( )
A.&& B.+ C.!= D.?:
2.给出以下问题:
①求面积为1的正三角形的周长;
②求键盘所输入的三个数的算术平均数;
③求键盘所输入的两个数中较小数;
④求函数当自变量取x0时的函数值.
其中不需要用条件语句来描述算法的问题有( )
A.1个 B.2个 C.3个 D.4个
3.有一函数,以下程序段中错误的是( )
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;
4.在嵌套使用if语句时,C语言规定else总是( )
A.和之前与其具有相同缩进位置的if配对
B.和之前与其最近的if配对
C.和之前与其最近的且不带else的if配对
D.和之前的第一个if配对
5.在执行以下程序时,为使输出结果为: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
6.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( )
A.必须是逻辑值 B.必须是整数值
C.必须是正数 D.可以是任意合法的数值
7.若执行下面的程序时从键盘上输入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
8.为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与 组成配对关系。( )
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
9.两次运行下面的程序,如果从键盘上分别输入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
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.执行以下程序的输出结果是( )
void fun (int x)
{ if (x/5>0) fun(x/5);
printf("%d ",x) ;}
main( )
{ fun(11); printf("
");getch();}
A.2 11 B.3 11 C.2 12 D.2 17
12.执行以下程序的输出结果是( )
int fun (int x,int y)
{ if (x!=y) return ((x+y)/2);
else return (x);}
main()
{ int a=4,b=5,c=6;
printf("%d
",fun(2*a,fun(b,c)));getch();}
A.3 B.6 C.8 D.12
13.执行以下程序的输出结果是( )
void fun(int x)
{if(x<10)printf("yes");
else printf("no");}
main()
{fun(10);getch();}
A.no B.yes C.有语法错误 D.可以通过编译但不能执行
14.在下述程序中,判断i>j共执行的次数是( )
main()
{ int i=0, j=10, k=2, s=0;
for (;;)
{ i+=k;
if(i>j)
{ printf("%d",s);
break;
} s+=i; } }
A.4 B.5 C.6 D.7
15.以下是if语句的基本形式:if(表达式)语句,其中“表达式” ( )
A.必须是逻辑表达式
B.必须是关系表达式
C.必须是逻辑表达式或关系表达式
D.可以是任意合法的表达式
16.下列程序的运行结果为( )
#include<stdio.h>
main()
{int a=2,b=-1,c=2;
if(a<b)
if(b<0)c=0;
else c+=1;
printf("%d
", c);
}
A.0 B.1 C.2 D.3
17.阅读下列程序,其运行结果是( )
#include<stdio.h>
main()
{
char c='A';
if('0'<=c<='39')
printf(" YES");
else
printf(" NO");
}
A.YES B.NO C.YESNO D.语句错误
18.若有说明:int,y;不能实现以下函数关系的程序段是( )
A.if(x<0)y=-1;
else if(x==0)y=0;
else y=1;
B.y=-1;
if(x!=0)
if(x>0)y=1;
else y=0;
C.y=0;
if(x>=0)
{if(x>0)y=1;}
D.if(x>=0)
19.若w=1,x=2,y=3,z=4;,则条件表达式w>x?w:y<z?y:z的结果为 ( )
A.4 B.3 C.2 D.1
20.下列程序的输出结果是( )
#include <stdio.h>
main() {
int i, s = 0;
for (i = 1; i < 10; i++)
if (!(i % 2) && !(i % 3))
s += i;
printf("%d
", s);
}
A.5 B.6 C.7 D.8
二、程序设计题(本大题共4小题,每题15分,共60分)
21.输入月份和订购机票的数量,计算机票优惠率并输出。计算规则如表所示。
月份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
22.输入图书的定价和数量,计算购书金额并输出。其中,图书销售策略为:正常情况下按九折出售,超过十本按八五折出售,超过100本按八折出售。
23.编写程序输入三位数(100—999),然后按数字逆序输出
#include <stdio.h>
void main()
{
int n,ge,shi,bai;
scanf("%d",&n);
/*******space*******/
/*******space*******/
}
24.编写程序,输出如下图形
#include<stdio.h>
main(){
int i,j;
/*******space*******/
/*******space*******/
}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$