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 选项中预编译命令
相关内容
相关标签