2016年淮北师范大学物理与电子信息学院高级语言程序设计(同等学力加试)之C语言程序设计考研复试题库
● 摘要
一、选择题
1. 若有以下程序
则程序的输出结果是( )。
A.2, 3
B.0, 2
C.1, 2
D.1, 3
答:D 【解析】
2. 有以下程序:
程序运行后的输出结果是( )。
A.1, 2
B.1, 1
C.2, 3
D.3, 3
答:A
【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元,可以继续使 用存储单元中原来的值。程序先执行
行
2, 返回输出,即输出值为2, 然后n 再
第 2 页,共 34 页 1. 是先判定a 是否为0, 不管判定结果如何,都执行a++。 即n 先自増1, 再调用f 函数,函数中进运算,结果为运算,结果仍为1,即第一个输出值即为1; 第二次调用f 函数时,执行
3. 有以下程序:
程序运行后的输出结果是( )。
A.-2
B.1.7
C.-3
D.2.0
答:A
B 、D 项错误,sub 【解析】( )函数输出(int )(a-b-1.3)将结果强制转化为整型;(a-b-1.3)
=-2.2,(int )(-2.2)=-2, sub (3.2, 4.1)=-2,C 项错误,A 项正确。
4. 下面选项中的程序段,没有编译错误的是( )。
答:A
A 项正确,BCD 三项错误,【解析】首先定义了字符串指针sp ,然后执行字符串常量“Hello”。
数组只有在初始化是可以被赋值,不能通过赋值语句将字符串常量或其他字符数组中的字符串直接赋给字符串变量。
5. 若有定义语句A.-20
B.-10
C.0
D.10
答:B
结果为
-10, 赋值给X 。
6. 有以下程序:
第 3 页,共 34 页 则表达式的值为( )。 【解析】赋值表达式,首先计算右边表达式,然后在进行赋值。先做结果为20, 再做
程序运行后的输出结果是( )。
A.1, 2, 4,
B.1, 3, 4,
C.1, 1, 3,
D.1, 3, 4,
答:C
【解析】for 语句中把array 数组首地址值赋给ptr ,然后再循环体中进行输出,再把ptr 对应的地址值加1,重复三次,输出数组前三个数1,1,
7. 以下叙述中错误的是( )。
A. 当在程序的开头包含头文件stdio. h时,可以给指针变量赋NULL
B. 函数可以返回地址值
C. 改变函数形参的值,不会改变对应实参的值
D. 可以给指针变量赋一个整数作为地址值
答:D
【解析】不能将一个整数直接赋给指针变量作为地址,D 项错误。标准库文件stdiah 定义了 NULL 是一个 类型为void*,值等于0的对象。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。
8. 有以下程序:
程序运行后的输出结果是( )。
答:C
【解析】本题将两个字符串常量赋值给一个二维字符数组,用字符常量为字符数组赋值需要在最后加上一个休止符表示字符串结束,所以数组长度为字符的个数加1, 而且数组的下标是从0开始计数,所以P 指向第二个字符串。
第 4 页,共 34 页