全国计算机等级考试二级教程(高教版)习题(有答案).doc

上传人:marr****208 文档编号:132214590 上传时间:2020-05-13 格式:DOC 页数:93 大小:151.50KB
返回 下载 相关 举报
全国计算机等级考试二级教程(高教版)习题(有答案).doc_第1页
第1页 / 共93页
全国计算机等级考试二级教程(高教版)习题(有答案).doc_第2页
第2页 / 共93页
全国计算机等级考试二级教程(高教版)习题(有答案).doc_第3页
第3页 / 共93页
全国计算机等级考试二级教程(高教版)习题(有答案).doc_第4页
第4页 / 共93页
全国计算机等级考试二级教程(高教版)习题(有答案).doc_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《全国计算机等级考试二级教程(高教版)习题(有答案).doc》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级教程(高教版)习题(有答案).doc(93页珍藏版)》请在金锄头文库上搜索。

1、全国计算机等级考试二级教程C 语言程序设计课后题及参考答案(教育部考试中心)高等教育出版社出版(第一章、第二章、第三章)第一章程序设计基本概念1.3 结构化程序由_、_、_三种基本结构组成。答案:顺序、选择、循环二、填空题2.16 函数体由符号_开始,用符号_结束。函数体的前面是_部分,其后是_部分。答案:、定义、执行第三章、顺序结构一、选择题3.1 3.2 以下选项中不是C 语句的是A) int i; i+; printf(%dn, i); B) ; C) a=5,c=10 D) ; 答案:C分析:语句必须以分号结尾。选项A是一个复合语句,复合语句是用括号多条语句。选项B是一个空语句,只有一

2、个分号。选项C不是语句,因为没有以分号结尾。3.6 若变量已正确说明为float 类型,要通过以下赋值语句给a 赋予10、b 赋予22、c 赋予33,以下不正确的输入形式是A) 10 22 33 B) 10.0,22.0,33.0 C) 10.0 22.0 33.0 D) 10 22 33scanf(%f %f %f, &a, &b, &c);答案:B分析:使用scanf输入整数,输入的每个整数中间以空格、回车、tab作分隔,输入整数时要看scanf的格式控制符,如果格式控制符中除空格以外有其它字符要原样输入。选项B格式不正确,因为scanf的格式控制符为%f %f %f并没有逗号,而输入10

3、.0,22.0,33.0是不对的。3.7 若变量以正确定义,要将a 和b 中的数进行交换,下面不正确的语句组是A) a=a+b,b=a-b,a=a-b; B) t=a,a=b,b=t;C) a=t; t=b; b=a; D) t=b; b=a; a=t;答案:C分析:可以假设a和b的值分别为3、5通过执行A、B、D中的语句发现都可以实现a和b的值交换。选项C不能实现a、b值交换。3.8 3.9 3.10 3.11 当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是A) a=98,b=765,c=4321 B) a=10,b=432,c=87

4、65C) a=98,b=765.000000,c=4321.000000 D) a=98,b=765,c=4321.0main()int a; float b,c;scanf(%2d%3f%4f,&a,&b,&c);printf(na=%d,b=%f,c=%fn,a,b,c);答案:C分析:该题目考察对scanf格式控制符宽度的掌握。在scanf函数格式控制符中间加一个整数用来表示匹配数据的宽度。scanf(%2d%3f%4f,&a,&b,&c);匹配输入数据2位赋值给a,匹配输入数据3位赋值给b, 匹配输入数据4位赋值给c,本题目输入9876543210然后回车,即将98赋值给a,765赋值

5、给b,4321赋值给c,使用printf(na=%d,b=%f,c=%fn,a,b,c);输出a、b、c的值,a以整型输出,b和c以小数形式输出,即输出:98,765.000000,4321.000000选项C正确。scanf在输入多个数据是以回车、空格、tab作为分隔符,而当在格式控制符中间使用宽度时会依次配置输入数据的宽度,如果从输入数据中能够匹配到指定宽度的数据则scanf就对变量进行赋值,但是如果匹配不到则还是停留在输入状态让用户输入,例如:输入:123回车这时scanf先匹配两位数据12赋值给a,现在只剩下一位3赋值给b这时再输入4 回车,将4赋值给c例如:输入:123456回车将1

6、2赋值给a将345赋值给b将6赋值给c大家多多练习体会一下格式控制符宽度的使用。3.12 以下程序的输出结果是A) a=%2,b=%5 B) a=2,b=5 C) a=%d,b=%d D) a=%d,b=%dmain() int a=2,b=5;printf(a=%d,b=%dn,a,b);答案:D分析:本题目考察输出%的问题。格式控制符以%开头,如果要输出%符号则必须使用两个%号。printf(a=%d,b=%dn,a,b);该语句输出:a=%d,b=%d,并没有输出a和b的值,可见当两个%符号一起使用时则输出%,而格式控制符不起作用。3.13 3.14 以下程序段的输出是A) *496 *

7、 B) * 496* C) *000496* D)输出格式符不合法int x=496;printf(*%-06d*n,x);答案:A分析:考察对printf格式控制符中宽度和对齐的用法printf(*%-06d*n,x);表示输出x的值,总共输出6位,并且左对齐,如果x的位数比6小则在右边补足空格,输出:*496 *也可以写为:printf(*%-6d*n,x);输出:*496 *如果:printf(*%06d*n,x);则输出:*000496*如果:printf(*%6d*n,x);则输出:* 496*3.15 以下程序段的输出是A) |3.1415| B) | 3.0| C) | 3| D

8、) | 3.|float a=3.1415;printf(|%6.0f|n,a);答案:C分析:考察%f中间加整数1.整数2的形式整数1表示总位数,整数2表示小数位,如果总位数比整数1小,则在左边补空格。输出:| 3|(注意:3前边有5个空格,因为3.1415不输出小数位只能输出一位3,%f中间的整数1部分是6,所以在3前边补5个空格)如果改为:printf(|%-6.0f|n,a);则输出:|3 |(加-符号左对齐显示)3.16 以下程序段的输出是A) |2345.67800| B) |12345.6780| C) |12345.67800| D) |12345.678|printf(|%1

9、0.5f|n,12345.678);答案:C分析:%10.5f表示输出5位小数位,不够小数位的补0,总位数是10,那么12345.678以%10.5f形式输出为:|12345.67800|3.17 以下程序段的输出是A) *0000057.66* B) * 57.66* C) *0000057.67* D) * 57.67*float a=57.666;printf(*%010.2f*n,a);答案:C分析:%010.2f格式控制符表示显示2位小数,总位数是10,如果输出数据的总位数比10小则左边补0。本题目输出57.666,两位整数+一位小数位+两位小数总共5,所以还需要在前边补5个0凑够1

10、0位。输出:*0000057.67*,注意小数第三位进行了四舍五入。3.19 若变量已正确说明,要求用以下语句给a 赋予3.12、给b 赋予9.0,则正确的输入形式是(代表空格)A) 3.129.0 B) a=3.12b=9C) a=3.12,b=9 D) a=3.12,b=9scanf(a=%f,b=%f,&a,&b); 表示Enter 键答案:C分析:考察对scanf的使用scanf中格式控制符中除了格式控制符的其它字符要原样输入,把原样输入的字符称为固定字符。以上选项中原样输入固定字符的是选项C3.20 以下程序的输出结果是A) 9 8 B) 8 9 C) 6 6 D) 以上三个都不对#

11、include math.hmain() double a=-3.0, b=2;printf(%3.0f %3.0fn,pow(b,fabs(a),pow(fabs(a),b);答案:B分析:pow二、填空题3.21 若有以下定义,请写出以下程序段中输出语句执行后的输出结果。(1)_(2)_(3)_int i=-200,j=2500;printf(1) %d %d,i,j);printf(2) i=%d, j=%dn,i,j);printf(3) i=%dn j=%dn,i,j);答案:-200 2500i=-200, j=2500i=-200 j=25003.22 变量i、j、k 已定义为i

12、nt 类型并有初值0,用以下语句进行输入时scanf(%d,&i); scanf(%d,&j); scanf(%d,&k);当执行第一个输入语句,从键盘输入:12.3 表示Enter 键则变量i、j、k 的值分别是_、_、_。答案:12、0、03.23 复合语句在语法上被认为是_。空语句的形式是_。答案:一条语句、;3.24 C 语句的最后用_结束。答案:;3.25 以下程序段,要求通过scanf 语句给变量赋值,然后输出变量的值。写出运行时给k 输入100,给a 输入25.81,给x 输入1.89234 时的三种可能的输入形式_、_、_。int k; float a; double x;sc

13、anf(%d%f%lf,&k,&a,&x);printf(k=%d,a=%f,x=%fn,k,a,x);答案:(1) 100 25.81 1.89234(2) 100 25.811.89234(3) 100 25.81 1.892343.26 以下程序段的输出结果是_。int x=0177;printf(x=%3d,x=%6d,x=$%6o,x=%6x,x=%6un,x,x,x,x,x);答案:x=127,x= 127,x= 177,x= 7f,x= 1273.27 以下程序段的输出结果是_。int x=0177;printf(x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=

14、%06dn,x,x,x,x,x);答案:27、x=127,x=127 ,x=$127 ,x=$000127,x=%06d3.28 以下程序段的输出结果是_。double a=513.789215;printf(a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn,a,a,a,a);答案:a=513.789215,a= 513.79,a= 513.78921500,a= 513.78921500第四章、选择结构一、选择题4.1 下列运算符中优先级最高的运算符是A) ! B) % C) -= D) &答案:A4.2 下列运算符中优先级最低的运算符是A) | B) != C) =y)&(y=z) B) (x=y)AND(y=z)C) (x=y=z) D) (x=y)&(y=z)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号