2016年东北理工大学机械与电子工程学院C语言程序设计(同等学力加试)复试笔试最后押题五套卷
● 摘要
一、选择题
1. 关于地址和指针,以下说法正确的是( )。
A. 通过强制类型转换可以将一种类型的指针变量赋值给另一种类型的指针变量 B. 可以取一个常数的地址赋值给同类型的指针变量 C. 可以取一个表达式的地址赋值给同类型的指针变量 D. 可以取一个指针变量的地址赋值给基类型相同的指针变量 答:A
【解析】常数的地址存储在内存的常量区,常量区存储的都是常量,值都是不可修改的,所以直接取常量的 地址赋给指针变量没有任何意义,C 语言也不允许这样做,编译会出错,B 选项错误;表达式的值存储在临时变 量中,内存中存在专门用来存储临时变量的区域,对这块地址进行操作也是没有意义的,C 语言不允许这样做,编译会出错,C 选项错误;可以取一个指针变量的地址,但是指针变量的地址属于指针,只能赋值给指针类型的指针变量,D 选项错误。故答案为A 选项。
2. 有以下程序:
程序的运行结果是( )。 A.21,18 B.81,81 C.21,21 D.18,18 答:A
,替换过程是,用宏调用提供的实参字符串,【解析】带参数的宏的调用格式:宏名(实参表)S 直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。(k+j+2•被置换成k+j+2*k+j+2,计算时先计算2*k,结果为21; S (j+k+2.被置换成j+k+2*j+k+2,计算时先计算2*j,结果为18。程序的运行结果是21,18,故A 选项正确。
3. 有以下程序:
程序运行后的输出结果是( )。 A.12 B.13 C.15 D.11 答:A
【解析】直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。
将
用
换结果为
4. 有定义语句:
A. B. C. D. 答:D
【解析】采用首地址。A 项,的首地址;D 项
,
5. 有以下程序
程序的运行结果是( )。 A.accbbxxyy ,bbxxyy B.acc ,bbxxyy C.accxxyy ,bbxxyy D.accxyy ,bbxxyy
替换,
将
替换,再将F (5)用2.84+5替换,最后替
运行结果为:12<回车>。
若要从终端给s 输入5个字符,错误的输入语句是( )。
函数输入时,输入项为变量的地址。为数组的首地址;B 项,
不是地址。【程序有错
,
其中输入项为存放字符串的应
为
最后一行应
为
为数组中第二个元素的地址;C 项,s 也为数组
答:A
【解析】函数fun 的功能是将第二个字符串链接到第一个字符串的末尾,第二个字符串不变。
6. 若有定义语句:且则错误的赋值是( )。
答:A
【解析】二维数组名是指向指针的指针,所以a 和q 都为指向指针的指针,而p 为指向int 类型的指针,p 和a 不同类型,故A 项用返回整数的地址,然后复赋值P 。
7. 下列叙述中正确的是( )。
A. 可以用关系运算符比较字符串的大小 B. 空字符串不占用内存,其内存空间大小是0 C. 两个连续的单引号是合法的字符常量 D. 两个连续的双引号是合法的字符串常量 答:D
【解析】A 项错误,关系运算符不能比较字符串大小,可以用函数库中的字符串比较函数来比较字符串的大小;B 项错误,空字符串占用一个字节的内存;C 项错误,字符常量是用单引号把一个字符括起来;D 项正确,两个连续的双引号是一个字符串常量,称为空串。
8. 若有以下程序
则程序的输出结果是( )。 A.1, 2 B.0, 2 C.1, 3 D.2, 3 答:A 【解析】
是先判定a 是否等于0, 如果a 等于0, 跳出循环;否则进入循环;但是不
管判定是否成功,判定结束后都要执行a++操作。
第一次循环,a 等于-2, 满足条件,执行a++,++b, a 变成-1,b 变成1; 第二次循环,a 等于-1,满足条件,执行a++,++b, a 变成0,b 变成2;
赋值语句错误。其余选项可以正确赋值,其中D 项是