第四章 基本输入输出和顺序程序设计《C语言程序设计教程》(清华大学出版社第三版)章节过关卷

2025-04-17
| 2份
| 10页
| 135人阅读
| 1人下载

内容正文:

<C语言程序设计教程>清华大学出版社(第3版) 第四章 基本输入输出和顺序程序设计 章节过关卷 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 选择题(共15题,每小题2分,共30分) 1、 下列程序段执行后的输出结果是 : unsigned short a=65535; printf(“a=%%hd”,a); A.a=-1 B.a=65535 C.a=%hd D.a=1 2、下列程序段执行后的输出结果是 : unsigned int x=032; printf(“%d”,++x); A.32 B.26 C.33 D.27 3、下列描述中,正确的是 : A.%O是以八进制形式输入输出一个无符号整型数据。 B.%u是以十进制形式输入输出一个无符号整型数据。 C.%05d的0是指在左对齐时,当数据实际宽度小于5,则在空位补0。 D.%f输出时,默认保留六位小数,第七位不进行四舍五入。 4、下列语句执行后的输出结果是 : printf(“%d,%u”,-1,-1); A.-1,65535 B.65535,-1 C.-1,4294967295 D. 4294967295,-1 5、若有以下定义,则输出结果是 : float f=0.045987856; printf(“f=%12f,f=%-12f ”,f,f); printf(“f=%12.3E,f=%-12.3E ”,f,f); A. B. f= 0.045987,f=0.045987 f= 4.598E-002,f=4.598E-002 B.f= 0.045988,f=0.045988 f= 4.599E-002,f=4.599E-002 C.f= 0.045988,f=0.045988 f= 4.599E-2,f=4.599E-2 D.f= 0.045988,f=0.045988 f= 4.599e-002,f=4.599e-002 6、以下不是用来输出整型的格式控制符的是 : A.%c B.%X C.%o D. %u 7、 若有以下定义,则输出结果是 : char ch=’A’; printf(“%c,%d ”,ch,ch+1); printf(“%04c,%-04d”,ch,ch+1); A. B. A,66 000A,0066 C. A,B 000A,B D. A,B 000A,000B D.A,66 000A,66 8、 若有以下语句,则输出结果是 : int a=65535; printf(“a=%x,%X ”,a,a) ; printf(“a=%6x,%#6X ”,a,a);原创精品资源学科网独家享有版权,侵权必究! A.a=FFFF,FFFF a= FFFF,FFFF B.a=ffff,FFFF a=ffff ,FFFF C.a=ffff,FFFF a= ffff,0xFFFF D.a=ffff,FFFF a=ffff ,0xFFFF 9、 10、 若有以下语句,则输出结果是 : int a=-3; printf(“a=%x,a=%o”,a,a); A.a=fffffffd,a=37777777775 a=fffd,a=177775 C. a=FFFFFFFD,a=37777777775 D. a=FFFd,a=177775 11、 12、 若有以下语句,则输出结果是 : int a,b; scanf(“%3d%2d”,&a,&b); printf(“%d,%d”,a,b); 从键盘输入数据:123456<回车> A.123,456 B.a=123,b=45 C.123,45 D.a=123,b=456 13、 若有以下语句,则从c,c1的值为 : char c,c1; scanf(“%3c%3c”,&c,&c1); 从键盘输入数据:ABC<空格>DBGE A. A,B B.A,<空格> C.A,D D. 数据输入错误 14、 若要给a赋值为12,给b赋值为’A’,则正确的输入方法是 : int a; char b; scanf(“a=%d,b=%c”,&a,&b); A.12 A B.a=12 b=A C.12,A D. a=12,b=A 15、 若有以下程序段,则输出结果为 : int a,b; scanf(“%d%d ”,&a,&b); printf(“%d ”,a*b); 从键盘输入数据:12a45 A.值无法确定 B.2 C.12 D.540 16、 若有以下定义:int a,b; float f;下列语句中,正确的是 : A.sacnf(“%d,%d,%f ”,a,b,f); B.scanf(“%d,%d,%f ”&a,&b,&f); C.scanf(“%d,%d,%f ”,&a,&b,&f); D.scanf(“%2d,%2d,%.2f ”,&a,&b,&f); 17、 在执行下面程序段时,正确的输出结果是 : int a,b;char c; scanf(“%d%2c%3d”,&a,&c,&b); printf(“%d,%c,%d”,a,c,b); 从键盘输入数据:15<空格>12458 A. 值无法确定 B.15,<空格>,245 C.15,1,458 D. 15,<空格>,124 2、 填空题(共15空,每空2分,共30分) 1、 格式控制符是以 打头。 2、 若要从键盘输入一个字符赋值给ch1,可用语句 和语句 来实现。原创精品资源学科网独家享有版权,侵权必究! 3、 以下语句 printf(“123\\N%%%s”,”ABCD”);的输出结果是 。 4、 算法的基本结构分为 、 、 。 5、 若有以下定义:int a=-1;执行printf(“%O ”,a);输出结果: 。 6、 格式控制符中,是大写的有 。 7、 若有语句:int a,b,c;scanf(“%d%d%d ”,&a,&b,&c);,输入值时可以使用 、 Tab键、 把数据分隔开。 8、 已有定义float f1=12.4567;用十进制小数形式输出,保留2为小数,正确的输出语句是 。 9、一个有效的算法应该具有以下特点: 、确定性、可行性、零个或多个输入、 。 10、用非格式化的方式输出字符串“ABCD”的值,语句为 。 3、 程序运行题(共5题,每小题3分,共15分) 1、下列程序运行的结果是 。 #include<stdio.h> void main( ) { char a,b; int c=50; a=getchar(); b=getchar(); putchar(a); printf(“%c\t%c ”,b,c); } 从键盘输入AbCd<回车> 2、下列程序运行的结果是 。 #include<stdio.h> void main( ) { unsigned a=32767,b; b=a>>2; printf(“a=%#x,b=%#x ”,~a,b); } 3、下列程序运行的结果是 。 #include<stdio.h> void main( ) { int x=017; float f1=12.5687958; printf(“x=%05o,%-05X ”,x,x); printf(“f1=%#.0f,%#.2E ”,f1,f1); } 4、下列程序运行的结果是 。 #include<stdio.h> void main( ) 原创精品资源学科网独家享有版权,侵权必究! { float f1,f2; scanf(“%2f%*2f%2f”,&f1,&f2); printf(“f1=%f,f2=%f ”,f1,f2); } 从键盘输入2345684212<回车> 5、下列程序运行的结果是 。 #include<stdio.h> void main( ) { int a=0x23; printf(“%#6.3x\t%06.3x”,a,a); printf(“%-8s***%.3”,”&#12&”,” &#12&”); } 4、 程序填空题(共5空,每空3分,共15分) 1、 程序功能是输入一个四位数的正整数,输出组成该数的各个数字中的最大数,例如输入8562,则输出max=9。 #include<stdio.h> void main( ) { int n,n1,n2,n3,n4,max; n1=n%10; n4=n/1000; max= ?n1:n2; max=max>n3?max:n3; printf(“max=%d”,max); } 5、 程序改错题(共10分) 1、 从键盘输入圆柱底面圆的半径r和圆柱的高h(半径和高均为整数),求圆柱的体积,输出体积保留3位小数。程序有两处错误,请找出并改正。(找出错误行号2分,该出正确语句3分) L1 #include<stdio.h> L2 #define PI 3.14 L3 void main( ) L4 { int r,h; float tj; L5 scanf(“%f,%f”,&r,&h); L6 tj=PI*r*r*h; L7 printf(“圆柱的体积为:tj=%f”,tj); 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$<C语言程序设计教程>清华大学出版社(第3版) 第四章 基本输入输出和顺序程序设计 章节过关卷 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 选择题(共15题,每小题2分,共30分) 1、 下列程序段执行后的输出结果是 : unsigned short a=65535; printf(“a=%%hd”,a); A.a=-1 B.a=65535 C.a=%hd D.a=1 【答案】C 【解析】两个%%,输出一个%,不会当成格式控制符,故选C。 2、下列程序段执行后的输出结果是 : unsigned int x=032; printf(“%d”,++x); A.32 B.26 C.33 D.27 【答案】D 【解析】%d,以十进制有符号数进行输出,八进制32转换成十进制为26,输出时先进行前置加1,故选D。 3、下列描述中,正确的是 : A.%O是以八进制形式输入输出一个无符号整型数据。 B.%u是以十进制形式输入输出一个无符号整型数据。 C.%05d的0是指在左对齐时,当数据实际宽度小于5,则在空位补0。 D.%f输出时,默认保留六位小数,第七位不进行四舍五入。 【答案】B 【解析】A选项%O为大写,故错误;C选项%05d的0是指在右对齐时,当数据实际宽度小于5,则在左边空位补0,故错误。D选项%f输出时,默认保留六位小数,第七位进行四舍五入。 4、下列语句执行后的输出结果是 : printf(“%d,%u”,-1,-1); A.-1,65535 B.65535,-1 C.-1,4294967295 D. 4294967295,-1 【答案】C 【解析】%d以十进制形式输出一个有符号整型数据,%u是以十进制形式输出一个无符号整型数据,默认为四个字节,考虑有符号和无符号数的范围,故选C。 5、若有以下定义,则输出结果是 : float f=0.045987856; printf(“f=%12f,f=%-12f ”,f,f); printf(“f=%12.3E,f=%-12.3E ”,f,f); A. 学科网(北京)股份有限公司 B. f= 0.045987,f=0.045987 f= 4.598E-002,f=4.598E-002 B.f= 0.045988,f=0.045988 f= 4.599E-002,f=4.599E-002原创精品资源学科网独家享有版权,侵权必究! C.f= 0.045988,f=0.045988 f= 4.599E-2,f=4.599E-2 D.f= 0.045988,f=0.045988 f= 4.599e-002,f=4.599e-002 【答案】B 【解析】%f是以十进制小数形式输出一个实数,%E是以十进制指数形式输出一个实数,都默认保留六位小数,后面一位进行四舍五入,用%E输出要注意阶码标志占一位,符号占一位,尾数占3位;辅助格式控制符“-”表示输出数据左对齐,默认右对齐;辅助格式控制符“.precision”,规定输出实数时,小数部分的位数,故选B。 6、以下不是用来输出整型的格式控制符的是 : A.%c B.%X C.%o D. %u 【答案】A 【解析】%c输出一个字符型数据,故选A。 7、 若有以下定义,则输出结果是 : char ch=’A’; printf(“%c,%d ”,ch,ch+1); printf(“%04c,%-04d”,ch,ch+1); A. B. A,66 000A,0066 C. A,B 000A,B D. A,B 000A,000B D.A,66 000A,66 【答案】D 【解析】%c是输出一个字符型数据;%d以十进制形式输出一个整型数据,用%d输出一个字符时,输出字符所对应的ASCII码,%04c中0是指在右对齐时,当数据实际宽度小于4,则在左边空位补0,%-04c中,-是指输出数据左对齐。故选D。 8、 若有以下语句,则输出结果是 : int a=65535; printf(“a=%x,%X ”,a,a); printf(“a=%6x,%#6X ”,a,a); A.a=FFFF,FFFF a= FFFF,FFFF B.a=ffff,FFFF a=ffff ,FFFF C.a=ffff,FFFF a= ffff,0xFFFF D.a=ffff,FFFF a=ffff ,0xFFFF 【答案】C 【解析】格式控制符%x或%X是十六进制形式输出一个无符号整型数据,注意当格式控制符x是小写时,输出时十六进制的数码也是小写,x是大写时,输出时十六进制的数码也是大写;%#6X,#和X、o搭配时,表示输出十六进制和八进制前缀。故选C。 9、 若有以下语句,则输出结果是 : int a=-3; printf(“a=%x,a=%o”,a,a); A.a=fffffffd,a=37777777775 C. a=fffd,a=177775 C. a=FFFFFFFD,a=37777777775 D. a=FFFd,a=177775 10、 【答案】A 【解析】格式控制符%x或%X是十六进制形式输出一个无符号整型数据, 格式控制符%o是八进制形式输出一个无符号整型数据,默认输出占四个字节,又因为-3超出了无符号的范围,-3加四个字节的模4294967296,得到结果4294967293。故选A 11、 若有以下语句,则输出结果是 : int a,b; scanf(“%3d%2d”,&a,&b); printf(“%d,%d”,a,b); 原创精品资源学科网独家享有版权,侵权必究! 从键盘输入数据:123456<回车> A.123,456 B.a=123,b=45 C.123,45 D.a=123,b=456 【答案】C 【解析】scanf中,%3d是指定输入数据列宽为3,所以将123赋值给a,将45赋值给b,故选C。 12、 若有以下语句,则从c,c1的值为 : char c,c1; scanf(“%3c%3c”,&c,&c1); 从键盘输入数据:ABC<空格>DBGE A. A,B B.A,<空格> C.A,D D. 数据输入错误 【答案】B 【解析】scanf中,%3c是指定输入数据列宽为3,char占一个字节,且空格、回车等作为有效字符读入。所以将读取的字符ABC中A赋值给c,<空格>DB中将<空格>赋值给c1。故选B。 13、 若要给a赋值为12,给b赋值为’A’,则正确的输入方法是 : int a; char b; scanf(“a=%d,b=%c”,&a,&b); A.12 A B.a=12 b=A C.12,A D. a=12,b=A 【答案】D 【解析】scanf中,出现的常规字符原样输入,包括转义字符如’ ’等,题,题目中a=,b=均为常规字符,故选D 14、 若有以下程序段,则输出结果为 : int a,b; scanf(“%d%d ”,&a,&b); printf(“%d ”,a*b); 从键盘输入数据:12a45 A.值无法确定 B.2 C.12 D.540 【答案】A 【解析】%d是读入十进制整型数据,将12读入赋值给变量a,在次读入时遇到非法字符a后读入结束,b的值无法预测。故选A。 15、 若有以下定义:int a,b; float f;下列语句中,正确的是 : A.sacnf(“%d,%d,%f ”,a,b,f); B.scanf(“%d,%d,%f ”&a,&b,&f); C.scanf(“%d,%d,%f ”,&a,&b,&f); D.scanf(“%2d,%2d,%.2f ”,&a,&b,&f); 【答案】C 【解析】A选项,a,b,f变量没有取地址;B选项,后双引号和&间,应用逗号(,)分隔,产生语法错误;D选项,输入中,不能指定读入小数精度。故选C。 16、 在执行下面程序段时,正确的输出结果是 : int a,b;char c; scanf(“%d%2c%3d”,&a,&c,&b); printf(“%d,%c,%d”,a,c,b); 从键盘输入数据:15<空格>12458 A. 值无法确定 B.15,<空格>,245 C.15,1,458 D. 15,<空格>,124 原创精品资源学科网独家享有版权,侵权必究! 【答案】B 【解析】scanf中,%2c、%3d是指定输入数据列宽,char占一个字节,且空格、回车等作为有效字符读入。所以将读取15赋值给a,<空格>1中将<空格>赋值给c,读取245赋值给b,故选B。 2、 填空题(共15空,每空2分,共30分) 1、 格式控制符是以 打头。 【答案】% 2、 若要从键盘输入一个字符赋值给ch1,可用语句 和语句 来实现。 【答案】ch1=getchar(); scanf(“%c”,&ch1); (两条语句可交换顺序) 3、 以下语句 printf(“123\\N%%%s”,”ABCD”);的输出结果是 。 【答案】123\N%ABCD 4、 算法的基本结构分为 、 、 。 【答案】顺序结构 选择(分支)结构 循环结构 (顺序可改变) 5、 若有以下定义:int a=-1;执行printf(“%O ”,a);输出结果: 。 【答案】O 6、 格式控制符中,是大写的有 。 【答案】%X、%E、%G 7、 若有语句:int a,b,c;scanf(“%d%d%d ”,&a,&b,&c);,输入值时可以使用 、 Tab键、 把数据分隔开。 【答案】空格 回车(顺序可改变) 8、 已有定义float f1=12.4567;用十进制小数形式输出,保留2为小数,正确的输出语句是 。 【答案】printf(“%.2f ”,f1); 9、 一个有效的算法应该具有以下特点: 、确定性、可行性、零个或多个输入、 。 【答案】有穷性 一个或多个输出 10、 用非格式化的方式输出字符串“ABCD”的值,语句为 。 【答案】puts(“ABCD”); 3、 程序运行题(共5题,每小题3分,共15分) 1、下列程序运行的结果是 。 #include<stdio.h> void main( ) { char a,b; int c=50; a=getchar(); b=getchar(); putchar(a); printf(“%c\t%c ”,b,c); } 从键盘输入AbCd<回车> 【答案】Ab 2原创精品资源学科网独家享有版权,侵权必究! 2、下列程序运行的结果是 。 #include<stdio.h> void main( ) { unsigned a=32767,b; b=a>>2; printf(“a=%#x,b=%#x ”,~a,b); } 【答案】a=0xffff8000,b=0x1fff 3、下列程序运行的结果是 。 #include<stdio.h> void main( ) { int x=017; float f1=12.5687958; printf(“x=%05o,%-05X ”,x,x); printf(“f1=%#.0f,%#.2E ”,f1,f1); } 【答案】x=00017,F f1=13.,1.26E+001 4、下列程序运行的结果是 。 #include<stdio.h> void main( ) { float f1,f2; scanf(“%2f%*2f%2f”,&f1,&f2); printf(“f1=%f,f2=%f ”,f1,f2); } 从键盘输入2345684212<回车> 【答案】f1=23.000000,f2=68.000000 5、下列程序运行的结果是 。 #include<stdio.h> void main( ) { int a=0x23; printf(“%#6.3x\t%06.3x”,a,a); printf(“%-8s***%.3”,”&#12&”,” &#12&”); } 【答案】 0x023 023 &#12& ***&#1 4、 程序填空题(共5空,每空3分,共15分) 1、 程序功能是输入一个四位数的正整数,输出组成该数的各个数字中的最大数,例如输入8562,则输出max=9。 #include<stdio.h> void main( ) { int n,n1,n2,n3,n4,max; 原创精品资源学科网独家享有版权,侵权必究! n1=n%10; n4=n/1000; max= ?n1:n2; max=max>n3?max:n3; printf(“max=%d”,max); } 【答案】 1.scanf(“%4u”,&n); 2.n2=n/10%10;或n2=n%100/10; 3. n3=n/100%10;或n3=n%1000/100; 4.n1>n2 5.max=max>n4?max:n4; 5、 程序改错题(共10分) 1、 从键盘输入圆柱底面圆的半径r和圆柱的高h(半径和高均为整数),求圆柱的体积,输出体积保留3位小数。程序有两处错误,请找出并改正。(找出错误行号2分,该出正确语句3分) L1 #include<stdio.h> L2 #define PI 3.14 L3 void main( ) L4 { int r,h; float tj; L5 scanf(“%f,%f”,&r,&h); L6 tj=PI*r*r*h; L7 printf(“圆柱的体积为:tj=%f”,tj); 【答案】L5 scanf(“%d,%d”,&r,&h); L7 printf(“圆柱的体积为:tj=%.3f”,tj);原创精品资源学科网独家享有版权,侵权必究! 原创精品资源学科网独家享有版权,侵权必究! $$

资源预览图

第四章 基本输入输出和顺序程序设计《C语言程序设计教程》(清华大学出版社第三版)章节过关卷
1
第四章 基本输入输出和顺序程序设计《C语言程序设计教程》(清华大学出版社第三版)章节过关卷
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。