当前位置:问答库>考研试题

2018年西藏大学工院825计算机学科专业基础综合之C程序设计考研核心题库

  摘要

一、选择题

1. 有以下函数

该函数的功能是( )。

A. 计算S 所指字符串占用内存字节的个数 B. 比较两个字符串的大小 C. 计算s 所指字符串的长度

D. 将S 所指字符串复制到字符串t 中 【答案】A

【解析】本题中,首先让t 指向形参s , 然后通过一个循环体为空的while 循环,将t 逐次后移,直到其所指内容为

(字符串结束标志)。此时t 仍然会被曾1, 所以从循环出来,t 指向的是s

是8所指字符串占用内存字节的个数,A

所指字符串的结束标志的后一个字节。因此,

返回的

项正确。而C 项所说的长度并不包括字 符串结束标志位,错误。

2. 有以下程序:

以下关于程序执行情况的叙述中,正确的是( )。

A.for 循环语句固定执行8次

B. 当产生的随机数n 为4时结束循环操作 C. 当产生的随机数n 为1和2时不做任何操作

D. 当产生的随机数n 为0时结束程序运行 【答案】D

【解析】rand 〇函数是随机数函数,

返巨结果进行模5操作,得圉

_

之间的随机整数

是把随机数

之间的随机整数。case 语句标号后的语句可以省略不写,省略后,

它与下一条case 合成一条‘或’判定语句。①产生1,3时,输出n ,并跳出switch , 此时并没有跳出for 循环;②产生2, 4时,继续执行for 循环;③产生0时,结束程序,所以for 循环未必执行8次。

3. 以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。

A. B. C. D.

【答案】A

【解析】A 选项a 为数组首地址,i++先取i 值再加1,scanf 读入的数据依次存放在数组中,A 选项正确。B 选项,进入死循环,i-直为0, 一直对a[i+l]读入数据,B 选项错误。C 选项,控制变量i 没有依次加1,无法结束循环,也无法对整个数组赋值,输入的数全是a[0], C 选项错误。D 选项数组元素引用错误,

数组元素引用为不是( ),D 选项错误。故选A 。

4. 下列形式中不合法的常量是( )。

A.2.E8 B.-.28 C.-028 D.2e_8 【答案】C

【解析】-028表示的是八进制的整型常量,但八进制的数字只能用0〜7表示。AD 两项为指数形式的实数表示,在e 或E 的前面必须要有数字,且£或£后面的指数必须为整数;B 项,为整数常量。

5. 以下能够实现计算5! 的程序段是( )。

【答案】A

【解析】

循环语句一般形式为:do{循环体}while(表达式),执行过程为:首先执

判断k<5,条件成立进行下一次循环,

直到

项:k=2

,

循环条件成立,直到k=6,

不成立退出循环,

才因循环条件不成立退出循环,实现

错误。故选择A 选项。

行循环体,之后判断表达式,成立(非0. 则再一次执行循环体,不成立(0. 则退出循环。A 选项

:实现计算5! ,A 选项正确。B 选项:fae 从0开始,做乘法一直都是0, 无法实现5! ,错误。C 选6! , 错误。D 选项:k=0

, 之后做乘法一直为0,

无法实现

6. 关于C 语言中数的表示,以下叙述中正确的是( )。

B. 只要在允许范围内整型和实型都能精确表示

C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差 D. 只有八进制表示的数才不会有误差 【答案】A

【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以表示任意一个整数。

7. 以下四个程序中,完全正确的是( )。

【答案】B

【解析】A 项中,“main ( )”函数后面不能加分号;C 语言中注释语句的注释方法是

或//注释一行,

“indUde”前缺少“#”号。

8. 以下叙述中错误的是( )。

A. 当在程序的开头包含头文件stdio. h时,可以给指针变量赋NULL B. 函数可以返回地址值

C. 改变函数形参的值,不会改变对应实参的值 D. 可以给指针变量赋一个整数作为地址值 【答案】D

A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差

和不能嵌套使用,C 项错误; D 选项中预编译命令