2018年华东师范大学教育学部885教育技术与C程序设计考研核心题库
● 摘要
一、选择题
1. 以下选项中,当x 为大于1的奇数时,值为0的表达式是( )。
A.x%2==l
B.x/2
D.x%2==0
【答案】D
【解析】x 为大于1的奇数,x%2的值为1,x%2==0为假。
2. 有以下程序:
程序运行后的输出结果是( )。
A.1, 12,13,4,15,
B.10,9, 8,7,6,
C.1, 7, 13, 9, 15,
D.10, 12, 8, 4,6,
【答案】A
【解析】fun ( )函数功能是:对数组中,下标对3求余为0的元素减去5, 下标对3求余不为0的元素累加5, 所以执行完fun ( )函数后,数组c 中元素值为1,12, 13, 4, 15, 答案为A 选项。
3. 有以下说明语句:
指针s 所指字符串的长度是( )。
A.17
B.15
C.14
D. 说明语句不合法
【答案】C
【解析】
以
4. 有以下定义:
inta ;
longh ;
double x,y ;
则以下选项中正确的表达式是( )。
【答案】C
【解析】C 项正确,(int )(x-y )是把x-y 得到的浮点数强制转换成整型。A 项错误,a*y结果是浮点数,不能参与模运算;B 项错误,C 语言中没有<>运算符;D 项错误,x+y是右值,不能给其赋值。
5. 有以下程序:
程序:
程序的运行结果是( )。
A.6
B.5
C.4
开头的转义字符也是字符常量。用一对双引号括起来的多个字符为字符串。
为转义字符,所以字符串长度为14。
D.3
【答案】A
【解析】程序执行过程为:定义字符串指针p 并为其初始化为“01234”,调用函数fun (p ), 将指针传入函 数。while 循环找到字符串的束符地址,然后使这个指针指向结束符下一个单元,结束循环。返回字符串首地址 与结束符下一个地址之差,也即是字符串长度加1。输出地址差为6, 故A 选项正确。
6. 若有函数声明
:
A. 函数参数array ,ptr 都是指针变量
B. 函数参数array 不是指针变量,ptr 是指针变量
C. 调用函数时,实参数组的值将一一复制给array 数组
D. 调用函数时,array 是按值传送,ptr 是按地址传送
【答案】A
【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。
7. 有以下程序
程序执行后的输出结果是( )。
A.lbc ,a23
B.abc ,123
C.123,abc
D.321,cba
【答案】A
si 应该指向的是数组的首地址,【解析】字符串是一个特殊的数组,按照数组的规则,即“abc ”
的第一个字符的地址。s2指向的是“123”的第一个字符的地址。调用swap 函数之后交换的是两个字符串的第一个字符W 和T 的内容,因此打印输出为A 。
以下叙述正确的是( )。