内容正文:
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第12卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(二)顺序结构程序设计:输入与输出
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第12卷
输入与输出 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序段的输出结果是( )
int a=1234;
printf("%2d
",a);
A.12 B.34 C.1234 D.提示出错,无结果
2.以下程序的输出结果是( )
int main()
{ int a=20,b=10;
printf("%d,%%d
",a+b,a-b); }
A.30,%d B.30,10 C.30,%10 D.以上答案均不正确
3.以下程序的运行结果是( )
#include<stdio.h>
#define ADD(x) x+x
int main ( )
{
int m=1,n=2,k=3,sum ;
sum = ADD(m+n)*k ;
printf(“%d
”,sum) ;
return 0;
}
A.18 B.9 C.12 D.10
4.#include <stdio.h>
main()
{ char a,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar(); d=getchar();
printf(“%c%c%c%c
”,a,b,c,d);
}
当执行程序时,按下列方式输入数据:
12<CR>
34<CR>
则输出结果是( )
A.1234 B.12 C.12 D.12
5.使用getchar和putchar函数进行单个字符输入输出时,必须使用预处理命令”#include”包括( )文件
A.stdio.h B.math.h C.string.h D.stdlib.h
6.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int a=201,b=012;
printf(“%2d,%2d
”,a,b);
return 0
}
A.01,12 B.201,10 C.01,10 D.20,01
7.以下不是C语言简单语句的是( )
A.声明语句 B.跳转语句 C.表达式语句 D.函数调用语句
8.执行下列程序段时,若键盘上输入EFG,则输出结果是( )
main( ){
char ch;
ch=getchar( );
putchar(ch) ;}
A.E B.EF C.EFG D.输出不确定的值
9.设变量均已定义,若要通过“scanf(“%d%c%d%c",&al,&c1,&a2,&c2);”语句为变量al和 a2 赋值10 和 30,为变量cl和c2赋字符e和f,以下正确的输入是( )
A.10 e 30 f<回车> B.10 e30 f<回车>
C.10 e<回车>30 f<回车> D.10e<回车>30f<回车>
10.以下程序运行时若从键盘输入:20 20 20<回车>,则输出结果是( )
int i=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d",i,j,k);
A.202020 B.20*2020 C.20200 D.20%*d20
11.下列程序段的输出结果是( )
int a=1234;
float b=123.456;
double c=12345.54321;
printf("%2d,%3.2f,%4.1f",a,b,c);
A.无输出 B.12, 123.46, 12345.5
C.1234,123.46,12345.5 D.1234,123.45, 1234.5
12.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int m=5,n=10;
printf(“%d,%d
”,m++,--n);
}
A.5,9 B.6,9 C.5,10 D.6,10
13.要使用putchar函数实现向显示器输出字符’A’,则可以使用( )
A.putchar(65) B.putchar(A) C.putchar(“A”) D.putchar(‘\65’)
14.阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为( )
main()
{int x,y,z;
scanf("%d,%d,%d",&x,&y,&z);
printf("x+z=",x+z);}
A.x+y+z=48 B.x+y+z=35
C.x+z=35 D.不确定值
15.有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c);为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是( )
A.123<回车>
B.1,3,2<回车>
C.a=1□b=3□c=2<回车>
D.a=1, b=3, c=2<回车>
16.下面是C语言合法的复合语句的是( )
A.{
#define PI=3.14;
double v1,r=3;
v1=PI*r*r;
}
B.{
double s,a=5,b=10,h=8
s=(a+b)*h/2.0
printf(“area=%lf”,s)
}
C.{
int t,a=4,b=7;
t=a,a=b,b=t
};
D.{
double v1,r=5;
v1=4*3.14*r*r*r/3;
{
double v2,h=12;
v2=3.14*r*r*h;
}
printf("%lf,%lf",v1,v2);
}
17.以下程序的运行结果是( )
#include <stdio.h>
int main( )
{ int m=5, n=10;
printf("%d, %d
",m++, --n);
return 0;
}
A.5,9 B.6,9 C.5,10 D.6,10
18.若执行下面的程序时从键盘上输入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
19.以下程序的输出结果是 ( )
int main( )
{ double d=3.2 ;
int x=1.2, y ;
y=(x+3.8)/5.0 ;
printf("%d
",d*y);}
A.3 B.3.2 C.0 D.3.07
20.若有以下程序:
main()
{int k=2,i=2,m;
m=(k+=i*=k);
printf("%d,%d
",m,i);
}
执行后的输出结果是( )
A.8,6 B.8,3 C.6,4 D.7,4
二、程序设计题(本大题共2小题,每题20分,共40分)
21.输入语数外三门功课的成绩,求总分和平均分,并保留两位小数
#include<stdio.h>
void main(){
float math,chinese,english;
float sum,avg;
/*******space*******/
/*******space*******/
}
22.从键盘输入两个数字,比较两个数的大小并进行输出
#include<stdio.h>
void main(){
/*******space*******/
/*******space*******/
}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第12卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(二)顺序结构程序设计:输入与输出
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第12卷
输入与输出 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序段的输出结果是( )
int a=1234;
printf("%2d
",a);
A.12 B.34 C.1234 D.提示出错,无结果
【答案】C
2.以下程序的输出结果是( )
int main()
{ int a=20,b=10;
printf("%d,%%d
",a+b,a-b); }
A.30,%d B.30,10 C.30,%10 D.以上答案均不正确
【答案】A
3.以下程序的运行结果是( )
#include<stdio.h>
#define ADD(x) x+x
int main ( )
{
int m=1,n=2,k=3,sum ;
sum = ADD(m+n)*k ;
printf(“%d
”,sum) ;
return 0;
}
A.18 B.9 C.12 D.10
【答案】D
4.#include <stdio.h>
main()
{ char a,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar(); d=getchar();
printf(“%c%c%c%c
”,a,b,c,d);
}
当执行程序时,按下列方式输入数据:
12<CR>
34<CR>
则输出结果是( )
A.1234 B.12 C.12 D.12
【答案】B
5.使用getchar和putchar函数进行单个字符输入输出时,必须使用预处理命令”#include”包括( )文件
A.stdio.h B.math.h C.string.h D.stdlib.h
【答案】A
【详解】这道题考查的是C语言中字符输入输出函数所需的头文件。getchar和putchar函数属于标准输入输出函数,其相关声明都包含在stdio.h头文件中
6.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int a=201,b=012;
printf(“%2d,%2d
”,a,b);
return 0
}
A.01,12 B.201,10 C.01,10 D.20,01
【答案】B
7.以下不是C语言简单语句的是( )
A.声明语句 B.跳转语句 C.表达式语句 D.函数调用语句
【答案】B
8.执行下列程序段时,若键盘上输入EFG,则输出结果是( )
main( ){
char ch;
ch=getchar( );
putchar(ch) ;}
A.E B.EF C.EFG D.输出不确定的值
【答案】A
【详解】getchar() 每次只读取一个字符(从输入缓冲区中读取第一个字符)。
输入"EFG"后,getchar() 只读取第一个字符'E',并赋值给变量ch。
putchar(ch) 输出字符'E'。
后续的"FG"仍留在输入缓冲区中,但程序没有继续读取,因此只输出'E'。
9.设变量均已定义,若要通过“scanf(“%d%c%d%c",&al,&c1,&a2,&c2);”语句为变量al和 a2 赋值10 和 30,为变量cl和c2赋字符e和f,以下正确的输入是( )
A.10 e 30 f<回车> B.10 e30 f<回车>
C.10 e<回车>30 f<回车> D.10e<回车>30f<回车>
【答案】D
【详解】10 e 30 f<回车>:空格会被%c读取(c1为空格,而不是'e')。
10 e30 f<回车>:c1读取空格,a2读取失败(e30不是数字)。
10e<回车>30f<回车>:c1读取'e',但换行符会被下一个%c读取(c2为换行,而不是'f')。
10.以下程序运行时若从键盘输入:20 20 20<回车>,则输出结果是( )
int i=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d",i,j,k);
A.202020 B.20*2020 C.20200 D.20%*d20
【答案】C
11.下列程序段的输出结果是( )
int a=1234;
float b=123.456;
double c=12345.54321;
printf("%2d,%3.2f,%4.1f",a,b,c);
A.无输出 B.12, 123.46, 12345.5
C.1234,123.46,12345.5 D.1234,123.45, 1234.5
【答案】C
12.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int m=5,n=10;
printf(“%d,%d
”,m++,--n);
}
A.5,9 B.6,9 C.5,10 D.6,10
【答案】A
13.要使用putchar函数实现向显示器输出字符’A’,则可以使用( )
A.putchar(65) B.putchar(A) C.putchar(“A”) D.putchar(‘\65’)
【答案】A
14.阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为( )
main()
{int x,y,z;
scanf("%d,%d,%d",&x,&y,&z);
printf("x+z=",x+z);}
A.x+y+z=48 B.x+y+z=35
C.x+z=35 D.不确定值
【答案】C
15.有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c);为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是( )
A.123<回车>
B.1,3,2<回车>
C.a=1□b=3□c=2<回车>
D.a=1, b=3, c=2<回车>
【答案】D
16.下面是C语言合法的复合语句的是( )
A.{
#define PI=3.14;
double v1,r=3;
v1=PI*r*r;
}
B.{
double s,a=5,b=10,h=8
s=(a+b)*h/2.0
printf(“area=%lf”,s)
}
C.{
int t,a=4,b=7;
t=a,a=b,b=t
};
D.{
double v1,r=5;
v1=4*3.14*r*r*r/3;
{
double v2,h=12;
v2=3.14*r*r*h;
}
printf("%lf,%lf",v1,v2);
}
【答案】D
17.以下程序的运行结果是( )
#include <stdio.h>
int main( )
{ int m=5, n=10;
printf("%d, %d
",m++, --n);
return 0;
}
A.5,9 B.6,9 C.5,10 D.6,10
【答案】A
18.若执行下面的程序时从键盘上输入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
19.以下程序的输出结果是 ( )
int main( )
{ double d=3.2 ;
int x=1.2, y ;
y=(x+3.8)/5.0 ;
printf("%d
",d*y);}
A.3 B.3.2 C.0 D.3.07
【答案】C
20.若有以下程序:
main()
{int k=2,i=2,m;
m=(k+=i*=k);
printf("%d,%d
",m,i);
}
执行后的输出结果是( )
A.8,6 B.8,3 C.6,4 D.7,4
【答案】C
【详解】该程序考察复合赋值运算符的运算顺序。执行过程分三步:
先计算i*=k(即i=ik=22=4),此时i=4
再计算k+=i(即k=k+i=2+4=6),此时k=6
最后将结果赋给m(m=6) 输出结果: 6,4
二、程序设计题(本大题共2小题,每题20分,共40分)
21.输入语数外三门功课的成绩,求总分和平均分,并保留两位小数
#include<stdio.h>
void main(){
float math,chinese,english;
float sum,avg;
/*******space*******/
/*******space*******/
}
【答案】scanf(“%f%f%f“,&math,&chinese.&english);
sum=math+chinese+english;
avg=sum/3;
printf("总分为%f,平均分为%f",sum,avg);
22.从键盘输入两个数字,比较两个数的大小并进行输出
#include<stdio.h>
void main(){
/*******space*******/
/*******space*******/
}
【答案】int a,b;
scanf(“%d%d”,&a,&b);
if(a>b) printf(“%d”,a);
else printf(“%d”,b);
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$