2018年青海师范大学计算机院822C语言程序设计考研强化五套模拟题
● 摘要
一、选择题
1. 以下叙述中错误的是( )。
A.C 程序必须由一个或一个以上的函数组成
B. 函数调用可以作为一个独立的语句存在
C. 若函数有返回值,必须通过return 语句返回
D. 函数可以通过实际参数和形式参数之间进行数据传递
【答案】C
【解析】C 项错误,比如main 函数中有则可以通过exit 函数返回状态。A 项正确,C 程序至少有一个main 函数;B 项正确,C 语言中的函数可以仅进行某些操作而不返回函数值,这时函数的调用可作为一条 独立的语句;D 项正确,当函数调用为传引用时,形参指针和实参指针指向同一块内存,修改形参的同时也就修 改了实参。
2. 有以下程序:
程序运行后的输出结果是( )。 A. B. C. D.
【答案】C
【解析】本⑨题将两个字符串常量复制给一个二维字符数组,用字符常量为字符数组赋值会在最后加上一个 休止符,故数组大小为字符的个数加1,且数组的下标从0开始计数,故p 指向第二个字符串。strlen 函 数用来计算字符串的长度,不包括休止符,因此长度为10。
3. 有以下程序;
程序运行后的输出结果是( )。
A.8
B.9
C.5
D.6
【答案】A
【解析】带参数的宏的调用格式:宏名(实参表),替换过程是,用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。MUN 被置换成(2+1+1)X2+1/2;程序的运行结果是6,故D 选项正确。
4. 有以下程序:
以下关于程序执行情况的叙述中,正确的是( )。
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次。
5. 以下选项中不属于字符常量的是( )。 A. B. C. D.
【答案】B
【解析】C 语言中用双引号表示字符串,在分配存储空间时需要包含
两项,分别表示十六进制、八进制格式ASCII 代码值对应的字符常量。
6. 设有如下程序段:
以下叙述正确的是( )。
A. 只有a ,b ,c 的定义是合法的
B.a , b ,c ,d 的定义都是合法的
C. 只有a , b 的定义是合法的
D. 只有c 的定义是合法的
【答案】C
【解析】在对数组进行初始化时,如果对数组的全部元素赋以初值,定义时可以不指定数组长度,如果被定义数组的长度与初值个数不同,则数组长度不能省略;如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值。定义整型数组a ,长度为8, 并且其每个元素赋初值0, a 定义是合法的。定义整型数组b , 没有指定长度,但为1个元素赋值0,所以自动指定数组长度为1,b 定义是合法的。定义字符型数组c ,长度为2, 应对其元素赋值字符型常量,而“A ”与“B ”均为字符串,c 定义不合法。定义字符d ,赋初值字符串“AB ”,这是不合法的定义,若要定义数组,必须要
有下标运算符。可知,ab 定义合法,cd 定义不合法,C 项正确。
7. 以下不能用于实型数据的运算符是( )。
【答案】A 【解析】符号两边必须是整数,因此答案为A 项。
8. 有以下程序(其中的函数头部格式为:
否在pi 中出现,并返回p2第一次出现的字符串首地址):
作为结束标志。CD 确定p2字符串是