内容正文:
编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。
本专辑第12卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】:
(二)顺序结构程序设计:掌握输入、输出函数及格式字符的使用方法
广西高等职业教育考试 电子与信息类
《C语言程序设计》考点双析卷 第12卷
数据输入与输出 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序运行后的输出结果是( )
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
2.以下程序运行的结果是( )
#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
3.下面是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);
}
4.以下程序段的输出结果是( )
int a=1234;
printf("%2d
",a);
A.12 B.34 C.1234 D.提示出错,无结果
5.若执行下面的程序时从键盘上输入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
6.以下叙述中正确的是( ( )
A.调用printf函数时,必须至少有一个输出项
B.在C语言中,整数可以以多种进制。例如十二进制、八进制或十六进制的形式输出
C.调用printf函数时,可以省略格式控制串
D.使用printf函数时,必须在之前包含头文件stdio.h
7.执行下列程序段时,若键盘上输入EFG,则输出结果是( )
main( ){
char ch;
ch=getchar( );
putchar(ch) ;}
A.E B.EF C.EFG D.输出不确定的值
8.设变量均已定义,若要通过“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<回车>
9.若有定义语句:char c1,c2;,则以下不正确的输入输出语句是( )
A.scanf(“c1=%cc2=%c”,&c1,&c2); B.c1=getchar();
C.putchar(c2); D.putchar(c1,c2);
10.设变量均已正确定义,对于语句: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
11.设有定义语句int a,b,c;,若要通过语句scanf(“%d,%d”,&a,&b);使得变量a得到数值10,变量b得到数值2,下面输入形式中错误的是( )(注:□代表空格)
A.6,5<Enter> B.6,□□5<Enter>
C.65<Enter> D.6, <Enter>5<Enter>
12.下列有关scanf函数的叙述中,正确的是( )
A.输入项可以为一实型常量,如scanf(“%f”,3.5);
B.只有格式控制没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%3.1f”,&a);
D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&a);
13.下列有关输入输出函数的一般形式中,不正确的一项是( )
A.printf(“输出格式串”,表达式表);
B.putchar(字符常量/变量);
C.scanf(“输入格式串”,表达式表);
D.scanf(“输入格式串”,地址表);
14.下列选项中,可以按照指定的格式完成输入过程的函数是( )
A.printf() B.scanf() C.putchar() D.getchar()
15.若在定义语句:int a,b,c,*p=&c;之后,接着执行如下选项中的语句,则能正确执行的语句是( )
A.scanf("%d",&p); B.scanf("%d%d%d",a,b,c);
C.scanf("%d",p); D.scanf("%d",a,b,c);
16.执行以下程序段的输出结果是( )
int main()
{int a[10]={1,2,3,4, 5,6,7,8};int*p;p=&a[5];printf("%d",p[-3]); getch();}
A.2 B.3 C.4 D.不一定
17.当接受用户输入的含空格字符串时,应该使用 函数( )
A.scanf( ) B.gets( ) C.getchar( ) D.getc( )
18.若有定义:int x;则执行:scanf(“%3d”,&x);时,从第一列开始输入数据345678,则x的值为( )
A.345678 B.345 C.45 D.34
19.阅读以下程序, 当输入数据的形式为:25,13,10<CR>,正确的输出结果为 是( )
main()
{int x,y,z;
scanf("%d,%d,%d",&x,&y,&z);
printf("x+y+z=%d
",x+y+z);
}
A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值
20.若用:scanf(“%c%c”,&c1,&c2);为字符变量c1和c2分别赋值字符‘A’和‘B’,则正确的输入是( )
A.字符‘A’和字符‘B’之间用逗号分隔
B.字符‘A’和字符‘B’之间不能有任何间隔符
C.字符‘A’和字符‘B’之间可以用回车间隔
D.字符‘A’和字符‘B’之间用空格间隔
二、判断题(本大题共5小题,每题2分,共10分)
21.scanf 的格式控制字符串中可以使用
。( )
22.getchar() 函数可以读取包含空格的字符串。( )
23.scanf("%s", str)读取输入时,遇到空格会停止。( )
24.C语言的输入输出操作由关键字直接实现。( )
25.可以使用 scanf("%d", arr); 来输入一维数组的所有元素。( )
三、程序设计题(本大题共3小题,每题10分,共30分)
26.利用putchar和getchar实现输入一个小写字母显示其大写的形式。
27.输入商品的原价和折扣率,计算并输出折扣后的价格。
28.输入一个字符,输出该字符的 ASCII 码值。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。
本专辑第12卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】:
(二)顺序结构程序设计:掌握输入、输出函数及格式字符的使用方法
广西高等职业教育考试 电子与信息类
《C语言程序设计》考点双析卷 第12卷
数据输入与输出 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序运行后的输出结果是( )
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
2.以下程序运行的结果是( )
#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
3.下面是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
4.以下程序段的输出结果是( )
int a=1234;
printf("%2d
",a);
A.12 B.34 C.1234 D.提示出错,无结果
【答案】C
5.若执行下面的程序时从键盘上输入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
6.以下叙述中正确的是( ( )
A.调用printf函数时,必须至少有一个输出项
B.在C语言中,整数可以以多种进制。例如十二进制、八进制或十六进制的形式输出
C.调用printf函数时,可以省略格式控制串
D.使用printf函数时,必须在之前包含头文件stdio.h
【答案】D
7.执行下列程序段时,若键盘上输入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'。
8.设变量均已定义,若要通过“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')。
9.若有定义语句:char c1,c2;,则以下不正确的输入输出语句是( )
A.scanf(“c1=%cc2=%c”,&c1,&c2); B.c1=getchar();
C.putchar(c2); D.putchar(c1,c2);
【答案】D
10.设变量均已正确定义,对于语句: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
11.设有定义语句int a,b,c;,若要通过语句scanf(“%d,%d”,&a,&b);使得变量a得到数值10,变量b得到数值2,下面输入形式中错误的是( )(注:□代表空格)
A.6,5<Enter> B.6,□□5<Enter>
C.65<Enter> D.6, <Enter>5<Enter>
【答案】C
【详解】非格式符原样输入,在输入时int型数据时,空格和回车键可作为分隔符。
12.下列有关scanf函数的叙述中,正确的是( )
A.输入项可以为一实型常量,如scanf(“%f”,3.5);
B.只有格式控制没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%3.1f”,&a);
D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&a);
【答案】D
【详解】注意,scanf函数不能控制实型数据的精度。
13.下列有关输入输出函数的一般形式中,不正确的一项是( )
A.printf(“输出格式串”,表达式表);
B.putchar(字符常量/变量);
C.scanf(“输入格式串”,表达式表);
D.scanf(“输入格式串”,地址表);
【答案】C
14.下列选项中,可以按照指定的格式完成输入过程的函数是( )
A.printf() B.scanf() C.putchar() D.getchar()
【答案】B
15.若在定义语句:int a,b,c,*p=&c;之后,接着执行如下选项中的语句,则能正确执行的语句是( )
A.scanf("%d",&p); B.scanf("%d%d%d",a,b,c);
C.scanf("%d",p); D.scanf("%d",a,b,c);
【答案】C
16.执行以下程序段的输出结果是( )
int main()
{int a[10]={1,2,3,4, 5,6,7,8};int*p;p=&a[5];printf("%d",p[-3]); getch();}
A.2 B.3 C.4 D.不一定
【答案】B
17.当接受用户输入的含空格字符串时,应该使用 函数( )
A.scanf( ) B.gets( ) C.getchar( ) D.getc( )
【答案】B
18.若有定义:int x;则执行:scanf(“%3d”,&x);时,从第一列开始输入数据345678,则x的值为( )
A.345678 B.345 C.45 D.34
【答案】B
19.阅读以下程序, 当输入数据的形式为:25,13,10<CR>,正确的输出结果为 是( )
main()
{int x,y,z;
scanf("%d,%d,%d",&x,&y,&z);
printf("x+y+z=%d
",x+y+z);
}
A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值
【答案】A
20.若用:scanf(“%c%c”,&c1,&c2);为字符变量c1和c2分别赋值字符‘A’和‘B’,则正确的输入是( )
A.字符‘A’和字符‘B’之间用逗号分隔
B.字符‘A’和字符‘B’之间不能有任何间隔符
C.字符‘A’和字符‘B’之间可以用回车间隔
D.字符‘A’和字符‘B’之间用空格间隔
【答案】B
二、判断题(本大题共5小题,每题2分,共10分)
21.scanf 的格式控制字符串中可以使用
。( )
【答案】错误
22.getchar() 函数可以读取包含空格的字符串。( )
【答案】错误
23.scanf("%s", str)读取输入时,遇到空格会停止。( )
【答案】正确
24.C语言的输入输出操作由关键字直接实现。( )
【答案】错误
25.可以使用 scanf("%d", arr); 来输入一维数组的所有元素。( )
【答案】错误
三、程序设计题(本大题共3小题,每题10分,共30分)
26.利用putchar和getchar实现输入一个小写字母显示其大写的形式。
【答案】#include<stdio.h>
main()
{
char a;
a=getchar()-32;
putchar(a);
}
【详解】本题考查字符输入输出。
27.输入商品的原价和折扣率,计算并输出折扣后的价格。
【答案】#include <stdio.h>
int main() {
float original_price, discount_rate, discounted_price;
printf("请输入商品的原价和折扣率:");
scanf("%f %f", &original_price, &discount_rate);
discounted_price = original_price * discount_rate;
printf("折扣后的价格是:%.2f
", discounted_price);
return 0;
}
28.输入一个字符,输出该字符的 ASCII 码值。
【答案】#include <stdio.h>
int main() {
char ch;
printf("请输入一个字符:");
scanf(" %c", &ch);
printf("该字符的 ASCII 码值为:%d
", ch);
return 0;
}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$