2016年中山大学数据科学与计算机学院S6705001计算机综合考试)之C语言程序设计复试笔试仿真模拟题
● 摘要
一、选择题
1. 有如下程序:
程序运行后的输出结果是( )。 A.10, 6, 4, 6 B.11, 6, 11, 6 C.11, 6, 1, 6 D.10, 1, 1, 7 答:A
【解析】由一维数组初始化的知识可知
,
据类型的变量在内存中所占字节数。strlen 函数统计字 符串长度,遇到
即
统计结束。字符指
函数用来获取类型或数据对象的长度,也即是一个这种数
针变量和字符数组在内存中的存储情形不同,数组指的是按照数组长度分配的若干存储空间,在内存中字符类型变量占1个字节;而指针只是一个存储字符串首地址的存储空间,指 针占4个字节。所以
2. 有以下程序
程序运行后的输出结果是( )。 A.235 B.0235
第 2 页,共 34 页
故A 项正确。
C.02356 D.2356 答:A
【解析】第一次循环k 为5, 执行为3, 第二次循环k 为3,执行执行
3. 有如下程序:
程序运行后的输出结果是( )。 A.2, B.2, 3, C.3, D.1, 答:A
【解析】在输出函数中,调用了
函数。
函数作用是定义一个静态变量
对
变量init 进行叠加形参data 的值,并将结果作为函数的返回值。在main ( )函数中,实参i=l传递给sum ( )函数的形参data ,因此输出为2。
4. 有以下函数:
函数的功能是( )。 A. 求字符串的长度 B. 比较两个字符串的大小 C. 将字符串s 复制到字符串t 中 D. 连接字符串s 和字符串t 答:B
第 3 页,共 34 页
和输出n 为2, k 的值
输出n 为3, k 的值为2, 第三次循环k 为2,
,输出n 为5, k 的值为1,循环条件不成立,所以输出235。
【解析】函数体执行过程为:将两个字符串首地址传入函数,分别赋给指针S 与t ,在函数体内8与1所指向 的字符串的字符不为返回值大于0表示字符串串大小的功能。
5. 有如下程序:
程序运行后的输出结果是( )。 A.9, 1 B.4, 0 C.4, 3 D.9, 3 答:A
【解析】程序执行完成后,变量a 的值不变,始终为9, a 转化成二进制数后逻辑即右移三位得到值为1,1再对4求余得到余数1赋给b 值。
6. 有以下程序:
程序运行的结果是( )。 A.1,2,3,4,5,6, 7,8, 9,0, B.2, 1, 4, 3, 6, 5, 8, 1, 0, 9,
C.0,9, 8,7,6,5,4, 3,2,1, D.0,1,2,3,4,5,6,7,8,9 答:A
【解析】在C 语言中,函数参数的传递默认是“传值”的,即形参和实参是两个没有关系的变量,函数fun 虽然看似交换了参数值,但是只交换了形参的值,结果不会传递给实参。因此,数
第 4 页,共 34 页
时,判断两个指针指向的字符是否相同,若相同则两
码值之差。
返回值为0, 表示
函数实现了比较两个字符
个指针分别加一指向下一个字符,若不同则退出while 循环,返回不相同的字符的
返回值小于0表示