1[简答题]下列给定程序中,函数fun的功能是:求出如下分数序列的前n项之和,和值通过函数值返回。
例如,若n=5,则应输出8.391667。
请改正程序中的错误,使其得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
参考解析:
【参考答案】
(1)doublefun(intn) /b;
【考点分析】
本题考查:函数定义,函数定义的一般形式为“类型标识符函数名(形式参数表列)”,其中类型标识符用来说明函数值的类型,函数的类型实际上是函数返回值的类型。
【解题思路】
(1)由语句“return(s);”和变量s定义为double型可知,该函数定义时其类型标识符为double类型。
(2)注意数据类型double的书写格式。
【解题宝典】
确定函数类型标识符在填空和改错题中经常考到,如果函数没有返回值,则函数定义为void型;如果函数有返回值,则函数类型应与返回值类型一致;如果不定义函数类型标识符,则系统默认为int型。
2[简答题]下列给定程序中函数fun的功能是:把从主函数中输人的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。
例如,若输入的数为:5512 34,输出的结果应当是:
a=5-5.0,b=34.0,c=12.0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
参考解析:
【参考答案】
(1)float k;
(2)if(*a
【考点分析】
本题考查:变量定义,根据给定程序语句确定变量类型;if语句条件表达式。
【解题思路】
(1)观察程序中的k,在赋值语句中,k是以变量的形式进行赋值而非指针,所以将k定义为指针是错误的。
(2)此处if语句是为了将小于*C的值放入*c中,所以改为if(*a
3[单选题] C语言程序的模块化通过以下哪个选项来实现( )
A.变量B.函数C.程序行D.语句
参考答案:B
参考解析:C语言程序的模块化通过函数来体现,所以选择B。
4[单选题] 流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中输入输出框的图形是 ( )
A.平行四边形B.长方形C.椭圆型D.菱形
参考答案:A
参考解析:算法可以用各种描述方法进行描述,目前最常用的有3种:伪代码、流程图和N—S结构图。传统的流程图由下图所示的几种基本图形组成。A选项正确。
5[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.3B.1C.2D.0
参考答案:A
参考解析:本愿考查位运算符以及相关运算,‘为按位或,&为按位与,部么a'b为3,再与c按位与仍然为3,所以答案为A选项。
6[单选题]以下叙述中正确的是
A.在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上
B.在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔
C.在Printf函数中,各个输出项只能是变量
D.使用Printf函数无法输出百分号%
参考答案:A
参考解析:scanf函数中的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,所以A正确。scanf()的格式控制串可以使用其他非空白字符,如逗号,但在输入时必须输入这些字符,以保证匹配就可以,所以B错误。Printf函数可以输出常量也可以输出变量,所以C错误。Printf函数可以用“\%”来输出百分号%,所以D错误。
7[单选题] 有以下程序(strcat函数用于连接两个字符串):
程序运行后的输出结果是( )。
A.U-KB.ABCDE\0FG\0UKC.ABCDUKD.EFGUK
参考答案:C
参考解析:字符数组a中包含两个‘、O’,遇到第一个‘O’时就表示字符串a结束。字符串处理函数由c吐(字符数组a,字符数组b),功能是连接两个字符数组中的字符串,把字符串b连接到a的后面,结果放在字符数组a中。连接时将字符串a后的‘、0’取消,只在新串最后保留一个‘、0’。本题相当于将“ABCD”和“IJK”连接。因此C选项正确。
8[单选题] 若有定义语句:char a='\82';则变量a( )
A.说明不合法B.包含1个字符C.包含2个字符D.包含3个字符
参考答案:B
参考解析:char a='\82',定义字符量a,char型变量值为1个字节长度,并从右侧开始运算,所以a的值应为'2'。因此B选项正确。
9[单选题] 以下选项中关于程序模块化的叙述错误的是( )。
A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C.把程序分成若干相对独立的模块,可便于编码和调试
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
参考答案:A
参考解析:程序模块化思想中,可以采用自顶向下、逐步细化的方法。所以选项A中“自底向上”的说法是错误的。
10[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.IB.JC.KD.H
参考答案:B
参考解析:
(”%e\n”,’A’+x),x=oxg(16)转为十进制x=9,因此prinff(”%e\n”,7A’+9),打印格式要求是%c,因此需要从字符A,按字母顺序向后偏移9个位置,可得结果为J。故答案为B选项。
相关推荐: