内容正文:
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第11卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(二)顺序结构程序设计:输入与输出
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第11卷
输入与输出 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.若x和y均定义为int型,z定义为double型,以下不合法的scanf()函数调用语句为( )
A.scanf(“%d%lx,%le”,&x,&y,&z);
B.scanf(“%2d*%d%lf”,&x,&y,&z);
C.scanf(“%x%*d%o”,&x,&y,);
D.scanf(“%x%o%6.2f”,&x,&y,&z);
【答案】D
2.设有如下程序
#include <stdio.h>
int main()
{char ch1=’A’,ch2=’a’;
printf”%c
”,(ch1,ch2));
return 0;
}
则以下叙述正确的是( )
A.程序的输出结果为大写字母A;
B.程序的输出结果为小写字母a;
C.运行时产生错误信息;
D.格式说明符的个数少于输出项个数,编译出错。
【答案】B
3.下列程序的输出结果是( )
void main( )
{ int a=7,b=5; printf("%d
",b=b%a); }
A.0 B.1 C.5 D.不确定值
【答案】C
4.已有如下定义语句和输入语句,若要求a1, a2, c1, c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是( )(注:□代表空格)
main()
{int a1,a2;char c1,c2;
scanf("%d%c□%d%c",&a1,&c1,&a2,&c2);
……}
A.10A□20B<回车> B.10□A□20□B<回车>
C.10□A□20B<回车> D.10A20□B<回车>
【答案】A
5.以下程序的运行结果是( )
#include<stdio.h>
#define X 5
#define Y X+1
#define Z Y*X/2
int main ( ) {
int a=Y;
printf("%d
",Z);
printf("%d
",--a);
return 0;
}
A.75 B.125 C.76 D.126
【答案】A
6.以下程序的运行结果是( )
#include<stdio.h>
#define MIN(x,y) (x)>(y) ? (x) : (y)
int main ( ) {
int i=10, j=15 , k;
k = 10*MIN(i,j);
printf("%d
",k);
return 0;
}
A.15 B.100 C.10 D.150
【答案】C
7.以下说法正确的是( )
A.输入项可以为一个实型常量,如scanf("%f", 3.5)
B.只有格式控制没有输入项也能进行正确输入,如scanf("%d")
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4f", &f)
D.当输入数据时,必须指定变量的地址,如scanf("%f", &f)
【答案】D
8.以下程序运行后的输出结果是( )
main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d",x,y,z);}
A.2,3,3 B.2,3,2 C.2,3,1 D.2,2,1
【答案】C
9.以下叙述中正确的是( ( )
A.调用printf函数时,必须至少有一个输出项
B.在C语言中,整数可以以多种进制。例如十二进制、八进制或十六进制的形式输出
C.调用printf函数时,可以省略格式控制串
D.使用printf函数时,必须在之前包含头文件stdio.h
【答案】D
10.以下程序运行的结果是( )
#define X 5
#define Y X+1
#define Z Y*X/2
void main( )
{
int a=Y ;
printf(" %d,%d" ,Z,--a ) ;
}
A.7,6 B.12,6 C.12,5 D.7,5
【答案】D
11.若有定义语句:char c1,c2;,则以下不正确的输入输出语句是( )
A.scanf(“c1=%cc2=%c”,&c1,&c2); B.c1=getchar();
C.putchar(c2); D.putchar(c1,c2);
【答案】D
12.设变量均已正确定义,对于语句:scanf(“x=%d,y=%d,z=%d”,&x,&y,&z);,正确的输入是( )(注:□表示空格)
A.10□20□30 B.10,20,30
C.x=10,y=20,z=30 D.x=10□y=20□z=30
【答案】C
13.设变量均已正确定义,若要通过语句:scanf(“%d%c%d%c”,%a1,&c1,&a2,&c2);为int型变量a1和a2赋值10和20,为char型变量c1和c2赋值a和b,下列正确的输入是( )(注:□表示空格)
A.10□e□30□f<回车> B.10□e30□f<回车>
C.10□e<回车>30□f<回车> D.10e<回车>30f<回车>
【答案】D
【详解】%c输入时会将空格当做字符型数值输入字符变量。
14.已有定义:double a,b;,若要求按输入方式:□□1.0□□2.0<回车>分别给a,b输入1,2,则能正确进行输入的语句是( )(注:□表示空格)
A.scanf(“%f%f”,&a,&b);
B.scanf(“%2.1f%2.1f”,&a,&b);
C.scanf(“%lf%lf”,&a,&b);
D.scanf(“%e%e”,&a,&b);
【答案】B
15.有以下程序,程序输出为( )
main()
{ int a=0,b=0,c=0,d=0;
if(a=1) b=1;c=2;
else d=3;
printf(“%d,%d,%d,%d
",a,b,c,d);}
A.0,1,2,0 B.0,0,0,3 C.1,1,2,0 D.编译有错
【答案】D
16.写出以下程序的执行结果( )
char c='z';
printf("%c",c-25);
A.a B.B.Z C.z-25 D.y
【答案】A
【详解】字符变量 c 被赋值为 'z',其ASCII值为122。
c-25 即 122 - 25 = 97,对应ASCII字符 'a'。
printf 使用 %c 格式输出,因此打印字符 'a'。
17.下列程序的结果是( )
#include<stdio.h>
int fun(int x)
{int p;
if(x==0||x==1) p=3;
else p=x-fun(x-2);
return p;}
main(){printf("%d
",fun(7));}
A.1 B.2 C.3 D.4
【答案】B
18.以下程序段的运行结果是( )
int a;char c=10;float f=125.0;double x;a=f/=c*=(x=5.5);
printf("%d,%d,%.1f,%.1f",a,c,f,x);
A.2,55,2.3,5.5 B.3,55,2.3,5.5 C.2,55.0,2.3,5.5 D.2,55,2.3,6.0
【答案】A
19.以下程序段的输出结果是( )
float a=3.4;int b,c=45,d;b=256;d=c/3;
printf("a=%.1f,b=%u,d=%x",a,b,d);
A.a=3.4,b=-256,d=f B.a=3.400000,b=256,d=f
C.a=3.4,b=256,d=15 D.a=3.4,b=256,d=f
【答案】D
20.以下程序段的运行结果是( )
float a=3.4;int b,c=45,d;b=256;d=c/3;
printf("c=%o,a=%.2e" ,c,a*4);
A.c=55,a=1.360000e1 B.c=55,a=1.36e1
C.c=55,a=1.36e+001 D.c=45,a=1.36e+001
【答案】C
二、程序设计题(本大题共2小题,每题20分,共40分)
21.输入3个字符,然后按输入的顺序输出这三个字符,,并依次输出它们的代码值(ASCII码),最后再按与输入字符相反的次序输出这三个字符。
【答案】#include <stdio.h>
main() {
char ch1, ch2, ch3;
printf("请输入三个字符:");
scanf("%c%c%c", &ch1, &ch2, &ch3);
printf("输入的字符顺序为:%c,%c,%c
", ch1, ch2, ch3);
printf("输入的字符的 ASCII码为:%d,%d,%d
", ch1, ch2, ch3);
printf("输入的字符相反次序顺序为:%c,%c,%c
", ch3, ch2, ch1);
}
22.编程:输入三个数,求出这三个数的平均值,并在屏幕上输出。
【答案】#include <stdio.h>
int main() {
float a, b, c, avg; // 避免整数除法误差
printf("请输入三个数(空格分隔):");
scanf("%f%f%f", &a, &b, &c);
avg = (a + b + c) / 3; // 计算平均值
printf("三个数的平均值为:%.2f
", avg);
return 0;
}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第11卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(二)顺序结构程序设计:输入与输出
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第11卷
输入与输出 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.若x和y均定义为int型,z定义为double型,以下不合法的scanf()函数调用语句为( )
A.scanf(“%d%lx,%le”,&x,&y,&z);
B.scanf(“%2d*%d%lf”,&x,&y,&z);
C.scanf(“%x%*d%o”,&x,&y,);
D.scanf(“%x%o%6.2f”,&x,&y,&z);
2.设有如下程序
#include <stdio.h>
int main()
{char ch1=’A’,ch2=’a’;
printf”%c
”,(ch1,ch2));
return 0;
}
则以下叙述正确的是( )
A.程序的输出结果为大写字母A;
B.程序的输出结果为小写字母a;
C.运行时产生错误信息;
D.格式说明符的个数少于输出项个数,编译出错。
3.下列程序的输出结果是( )
void main( )
{ int a=7,b=5; printf("%d
",b=b%a); }
A.0 B.1 C.5 D.不确定值
4.已有如下定义语句和输入语句,若要求a1, a2, c1, c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是( )(注:□代表空格)
main()
{int a1,a2;char c1,c2;
scanf("%d%c□%d%c",&a1,&c1,&a2,&c2);
……}
A.10A□20B<回车> B.10□A□20□B<回车>
C.10□A□20B<回车> D.10A20□B<回车>
5.以下程序的运行结果是( )
#include<stdio.h>
#define X 5
#define Y X+1
#define Z Y*X/2
int main ( ) {
int a=Y;
printf("%d
",Z);
printf("%d
",--a);
return 0;
}
A.75 B.125 C.76 D.126
6.以下程序的运行结果是( )
#include<stdio.h>
#define MIN(x,y) (x)>(y) ? (x) : (y)
int main ( ) {
int i=10, j=15 , k;
k = 10*MIN(i,j);
printf("%d
",k);
return 0;
}
A.15 B.100 C.10 D.150
7.以下说法正确的是( )
A.输入项可以为一个实型常量,如scanf("%f", 3.5)
B.只有格式控制没有输入项也能进行正确输入,如scanf("%d")
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4f", &f)
D.当输入数据时,必须指定变量的地址,如scanf("%f", &f)
8.以下程序运行后的输出结果是( )
main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d",x,y,z);}
A.2,3,3 B.2,3,2 C.2,3,1 D.2,2,1
9.以下叙述中正确的是( ( )
A.调用printf函数时,必须至少有一个输出项
B.在C语言中,整数可以以多种进制。例如十二进制、八进制或十六进制的形式输出
C.调用printf函数时,可以省略格式控制串
D.使用printf函数时,必须在之前包含头文件stdio.h
10.以下程序运行的结果是( )
#define X 5
#define Y X+1
#define Z Y*X/2
void main( )
{
int a=Y ;
printf(" %d,%d" ,Z,--a ) ;
}
A.7,6 B.12,6 C.12,5 D.7,5
11.若有定义语句:char c1,c2;,则以下不正确的输入输出语句是( )
A.scanf(“c1=%cc2=%c”,&c1,&c2); B.c1=getchar();
C.putchar(c2); D.putchar(c1,c2);
12.设变量均已正确定义,对于语句:scanf(“x=%d,y=%d,z=%d”,&x,&y,&z);,正确的输入是( )(注:□表示空格)
A.10□20□30 B.10,20,30
C.x=10,y=20,z=30 D.x=10□y=20□z=30
13.设变量均已正确定义,若要通过语句:scanf(“%d%c%d%c”,%a1,&c1,&a2,&c2);为int型变量a1和a2赋值10和20,为char型变量c1和c2赋值a和b,下列正确的输入是( )(注:□表示空格)
A.10□e□30□f<回车> B.10□e30□f<回车>
C.10□e<回车>30□f<回车> D.10e<回车>30f<回车>
14.已有定义:double a,b;,若要求按输入方式:□□1.0□□2.0<回车>分别给a,b输入1,2,则能正确进行输入的语句是( )(注:□表示空格)
A.scanf(“%f%f”,&a,&b);
B.scanf(“%2.1f%2.1f”,&a,&b);
C.scanf(“%lf%lf”,&a,&b);
D.scanf(“%e%e”,&a,&b);
15.有以下程序,程序输出为( )
main()
{ int a=0,b=0,c=0,d=0;
if(a=1) b=1;c=2;
else d=3;
printf(“%d,%d,%d,%d
",a,b,c,d);}
A.0,1,2,0 B.0,0,0,3 C.1,1,2,0 D.编译有错
16.写出以下程序的执行结果( )
char c='z';
printf("%c",c-25);
A.a B.B.Z C.z-25 D.y
17.下列程序的结果是( )
#include<stdio.h>
int fun(int x)
{int p;
if(x==0||x==1) p=3;
else p=x-fun(x-2);
return p;}
main(){printf("%d
",fun(7));}
A.1 B.2 C.3 D.4
18.以下程序段的运行结果是( )
int a;char c=10;float f=125.0;double x;a=f/=c*=(x=5.5);
printf("%d,%d,%.1f,%.1f",a,c,f,x);
A.2,55,2.3,5.5 B.3,55,2.3,5.5 C.2,55.0,2.3,5.5 D.2,55,2.3,6.0
19.以下程序段的输出结果是( )
float a=3.4;int b,c=45,d;b=256;d=c/3;
printf("a=%.1f,b=%u,d=%x",a,b,d);
A.a=3.4,b=-256,d=f B.a=3.400000,b=256,d=f
C.a=3.4,b=256,d=15 D.a=3.4,b=256,d=f
20.以下程序段的运行结果是( )
float a=3.4;int b,c=45,d;b=256;d=c/3;
printf("c=%o,a=%.2e" ,c,a*4);
A.c=55,a=1.360000e1 B.c=55,a=1.36e1
C.c=55,a=1.36e+001 D.c=45,a=1.36e+001
二、程序设计题(本大题共2小题,每题20分,共40分)
21.输入3个字符,然后按输入的顺序输出这三个字符,,并依次输出它们的代码值(ASCII码),最后再按与输入字符相反的次序输出这三个字符。
22.编程:输入三个数,求出这三个数的平均值,并在屏幕上输出。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$