2018年山西大学计算机与信息技术院834程序设计之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. 若有以下程序
则程序的输出结果是( )。
A.1
B.9
C.8
D.5
【答案】B
【解析】函数的递归调用,调用过程如下表所示。
实际上,该段代码的作用是返回数组a 里面的最大值。
2. 有以下程序:
程序的运行结果是( )。
A.21,18
B.81,81
C.21,21
D.18,18
【答案】A
【解析】带参数的宏的调用格式:宏名(实参表),替换过程是,用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。S (k+j+2•被置换成k+j+2*k+j+2,计算时先计算2*k,结果为21; S (j+k+2.被置换成j+k+2*j+k+2,计算时先计算2*j,结果为18。程序的运行结果是21,18,故A 选项正确。
3. 有以下程序
程序的运行结果是( )。
A.852
B.963
C.741
D.875421
【答案】A
【解析】for 循环的执行过程如下:①计算表达式1; ②计算表达式2。若其值为非0, 转步骤
③;若其值为0,转步骤⑤;③执行一次for 循环体;④计算表达式3,转向步骤②;⑤结束循环。
_是先执行y 自减,然后输出y 的值。
第一次循环,y 等于9,y%3等于零,y 自减,输出8; 执行for 循环体的y--, y 等于7;
第二次循环,y 等于7, y%3不等于零,不输出;执行for 循环体的y--, y 等于6;
第三次循环,y 等于6, y%3等于零,y 自减,输出5; 执行for 循环体的y--, y 等于4:
4. 下列关于C 语言文件的叙述中正确的是( )。
A. 文件由一系列数据依次排列组成,只能构成二进制文件
B. 文件由结构序列组成,可以构成二进制文件或文本文件
C. 文件由数据序列组成,可以构成二进制文件或文本文件
D. 文件由字符序列组成,其类型只能是文本文件
【答案】C
【解析】C 语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。根据数据的组成形式,可将文件分为两种:①ASCII 文件,又称文本
存储形式原样输出到磁盘上存放。所以C 文 件就是一个字节流或一个二进制流。
5. 以下叙述中正确的是( )。
A. 不能用字符串常量对字符数组名进行整体赋值操作
B. 字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素 C.
D.
【答案】A
【解析】A 项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串
B 项错误,常量给一维字符 数组赋初始值。编译器会在字符串常量最后添加
最近的’\0’作为其结束标志,运行时不安全;D 项错误,不能给数组str 赋值。
6. 有以下程序:
程序运行后的输出结果是( )。
A.5
B.7
C.12
D.14
【答案】A
【解析】在存储字符串常量时,
由系统在字符串的末尾自动加一个
strcpy 函数将“China”复制给字符数组s ,标志。其在数组位置内存存储情况为作为字符串的结束strlen 。它共有6个元素;C 项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它在语法上是合法的,运行也是安全的 效果是一样的 文件,它的每一个字节可放一个ASCII 码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的
函数统计字符串长度时,遇到结束,s 数组长度为5。
7. 若有定义inta=l,b=2,c=3;II ,则执行表达式(a=b+c)(++b)后a 、b 、c 的值依次为( )。
A.1、2、3
B.5、3、2