第 1 页:选择题 |
第 3 页:程序填空题 |
第 4 页:程序修改题 |
第 5 页:程序设计题 |
21[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.Zhao,m,85,90,Qian,f,95,92
B.Zhao,m,85,90,Zha0,m,85,90
C.Qian,f,95,92,Qian,f,95,92
D.Qian,f,95,92,Zha0,m,85,90
参考答案:A
参考解析:本题考查的是函数调用时的参数传递问题。程序在调用函数f时,传给函数f的参数只是结构变量c在栈中的一个拷贝,函数f所做所有操作只是针对这个数据拷贝进行的修改,这些都不会影响变量c的值。
22[单选题] 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。
A.提高耦合性降低内聚性有利于提高模块的独立性
B.降低耦合性提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块问互相连接的紧密程度
参考答案:B
参考解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素问彼此结合的紧密程度,所以C与D错误。
23[单选题] 以下不能输出字符A的语句是( )。(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
ABCD参考答案:B
参考解析:B选项输出的格式为%d,即为整型格式,所以输出字符A的ASCII码值65,而不是字符A。由于大写字母比与其对应的小写字母的ASCII码值小32,所以A正确。字符A的ASCII码值就是65,所以以%c格式输出可以输出字符A,所以C正确。由于字符A的ASCII码值比字符B的小1,所以D正确。
24[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.120
B.11
C.6
D.21
参考答案:D
参考解析:fun函数中的变量x为静态局部变量,占用固定的内存单元,下一次调用时仍可以保留上次调用时的值。也就是说,如果多次调用fun函数,s的定义只在第一次调用时有效,从第二次调用开始,X的定义相当于不存在,直接使用上次x的值。fun函数被调用了5次,每次调用后的返回值累加到s上。5次调用后,x的值为6,s的值为1+2+3+4+5+6=21。因此D选项正确。
25[单选题] 软件设计中划分模块的一个准则是( )。
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
参考答案:B
参考解析:一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
26[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.2,3,1,6,8.7,5,4,10,9,
B.10,9,8,7,6,5,4,3,2,1,
C.1,2,3,4,5,6,7,8,9,10,
D.10,9,8,7,6,1,2,3,4,5,
参考答案:C
参考解析:本题的子函数f的功能是对结构体变量8中第二个成员数组中所有的数据进行从小到大的冒泡排序,所以结果是C。
27[单选题] 有三个关系R、S和T如下:
其中关系T由关系R和S通过某种操作得到,该操作为( )。
A.选择
B.投影
C.交
D.并
参考答案:D
参考解析:关系T中包含了关系R与S中的所有元组,所以进行的是并的运算。
28[单选题] 有以下程序:
程序执行后的输出结果是( )。
A.20
B.25
C.45
D.36
参考答案:B
参考解析:统计1~9九个数中的奇数和,此题考察指向数组的指针。C语言规定数组名代表数组的首地址,也就是第一个元素的地址。因此*(t+i)代表数组的第i+1个元素。程序运行的结果是l+3+5+7+9=25。
29[单选题] 下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
A.循环队列
B.栈
C.队列
D.二叉树
参考答案:B
参考解析:栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。
30[单选题] 以下叙述中错误的是( )。
A.gets函数用于从终端读入字符串
B.getchar函数用于从磁盘文件读入字符
C.fput,函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
参考答案:B
参考解析:本题考查字符处理函数和文件操作函数,属于基础知识,其中B选项getehar函数是用于从终端读入一个字符。
31[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.33
B.197
C.143
D.28
参考答案:C
参考解析:本题考查带参数的宏定义,s为带参数的宏定义,运行S(k+j)为4*(k+j)*k+j+1=143,选项C正确。
32[单选题] 以下选项中能表示合法常量的是( )。
A.1,200
B.1.5E2.0
C.'\'
D."\007"
参考答案:D
参考解析:A选项中整型常量应表示为1200,不能包含“,”。B选项中E后面的指数必须为整数。C选项中转义字符以“\”开始,若要表示字符“\”,应写为“\\”。
33[单选题] 设有如下函数定义:
若执行调用语句“n=fun(3);”,则函数fun总共被调用的次数是( )。
A.2
B.3
C.4
D.5
参考答案:B
参考解析:首先n=fun(3),3被当作参数传递进去,这就进行了一次调用,3被当作参数传进去后,程序会执行这句else returnfun(k-1)+1;这就调用了第二次,而参数是3-l也就是2。2被当作参数传进去后,程序会执行这句elsereturn fun(k-1)+1;这就调用了第三次,而参数是2-1也就是1。1被当作参数传进去后,程序会执行这句else if(k==1)return 1;不再递归调用,所以最终结果为3次。
34[单选题] 若有定义语句:
char s[10]="1234567\0\0";
则strlen(S)的值是( )。
A.7
B.8
C.9
D.10
参考答案:A
参考解析:strlen()函数在计算字符串长度时,遇到结束标识为止,且长度不包括结束标识。本题中字符串,从第一个字符开始,遇到第一个结束标识‘\0’为止,注意‘\0’不占字符串长度,所以字符串长度为7。因此A选项正确。
35[单选题] C源程序中不能表示的数制是( )。
A.十六进制
B.八进制
C.十进制
D.二进制
参考答案:D
参考解析:在C语言中整型常量可以用十进制、八进制和十六进制等形式表示,但不包括二进制,所以选择D。
36[单选题] 若有以下定义:
则对x数组元素的正确引用是( )。
A.pt+3
B.*&x[10]
C.*(pt+10)
D.*(x+3)
参考答案:D
参考解析:没有A选项的引用形式。*与&放在一起作用抵消,所以B选项错误,最大只能引用到x[9]。*(pt+i)表示引用指针pt所指元素后的第i个元素,所以c选项错误,最大只能为*(pt+9)。因此D选项正确。
37[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.A B E F
B.C D E F
C.A B C D
D.C D A B
参考答案:B
参考解析:本题考察的是变量的作用范围。如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量被“屏蔽”,即不起作用。本题中,在funl()和main()函数内访问的是全局变量a和b,在fun2()函数中访问的是形参变量a和b。所以,main()函数中的printf()函数输出的是在fun1()函数中被改变的全局变量a和b的值C、D,而fun2()函数中输出的是传递给它的实参值E、F。因此B选项正确。
38[单选题] 有以下程序:
若运行时输入:246<回车>,则输出结果为( )。
A.204
B.200
C.240
D.246
参考答案:A
参考解析:奉题中输入的3个数据2,4,6分别赋值给了x[0][0],x[1][0],x[2][0]。x[0][1]仍为初始时的0,所以打印输出时的结果为A选项。
39[单选题] 设有定义:
int a=1,b=2,e=3;
以下语句中执行效果与其他三个不同的是( )。
A.if(a>b) c=a,a=b,b=c;
B.if(a>b) {e=a,a=b,b=e;}
C.if(a>b)e=a;a=b;b=C;
D.if(a>b) {c-7-a;a=b;b=e;}
参考答案:C
参考解析:由于a小于b,所以所有选项中的条件都为假,c选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立.所以什么也没有做,所以选择C选项。
40[单选题] 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。
A.编译程序
B.操作系统
C.教务管理系统
D.汇编程序
参考答案:C
参考解析:编译软件、操作系统、汇编程序都属于系统软件,只有C教务管理系统才是应用软件。
相关推荐:
【考试吧整理】计算机等级考试各科目历年真题