如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
快动网(HYPERLINK"http://www.kuaido.com"www.kuaido.com)推出计算机等级考试自学平台提供免费视频教程在线试题及解析《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案(教育部考试中心)高等教育出版社出版(第一章、第二章、第三章)第一章程序设计基本概念1.3结构化程序由_____、_____、_____三种基本结构组成。答案:顺序、选择、循环二、填空题2.16函数体由符号____开始,用符号____结束。函数体的前面是____部分,其后是____部分。答案:{、}、定义、执行第三章、顺序结构一、选择题3.13.2以下选项中不是C语句的是A){inti;i++;printf("%d\\n",i);}B);C)a=5,c=10D){;}答案:C分析:语句必须以分号结尾。选项A是一个复合语句,复合语句是用{}括号多条语句。选项B是一个空语句,只有一个分号。选项C不是语句,因为没有以分号结尾。3.6若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是A)10<CR>22<CR>33<CR>B)10.0,22.0,33.0C)10.0<CR>22.033.0D)1022<CR>33scanf("%f%f%f",&a,&b,&c);答案:B分析:使用scanf输入整数,输入的每个整数中间以空格、回车、tab作分隔,输入整数时要看scanf的格式控制符,如果格式控制符中除空格以外有其它字符要原样输入。选项B格式不正确,因为scanf的格式控制符为"%f%f%f"并没有逗号,而输入10.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.83.93.103.11当运行以下程序时,在键盘上从第一列开始输入9876543210<CR>(此处<CR>代表Enter),则程序的输出结果是A)a=98,b=765,c=4321B)a=10,b=432,c=8765C)a=98,b=765.000000,c=4321.000000D)a=98,b=765,c=4321.0main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\\na=%d,b=%f,c=%f\\n",a,b,c);}答案:C分析:该题目考察对scanf格式控制符宽度的掌握。在scanf函数格式控制符中间加一个整数用来表示匹配数据的宽度。scanf("%2d%3f%4f",&a,&b,&c);匹配输入数据2位赋值给a,匹配输入数据3位赋值给b,匹配输入数据4位赋值给c,本题目输入9876543210然后回车,即将98赋值给a,765赋值给b,4321赋值给c,使用printf("\\na=%d,b=%f,c=%f\\n",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回车将12赋值给a将345赋值给b将6赋值给c大家多多练习体会一下格式控制符宽度的使用。3.12以下程序的输出结果是A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%dmain(){inta=2,b=5;printf("a=%%d,b=%%d\\n",a,b);}答案:D分析:本题目考察输出%的问题。格式控制符以%开头,如果要输出%符号则必须使用两个%号。printf("a=%%d,b=%%d\\n",a,b);该语句输出:a=%d,b=%d,并没有输出a和b的值,可见当两个%符号一起使用时则输出%,而格式控制符不起作用。3.133.14以下程序段的输出是A)*496*B)*496*C)*