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

2017年华中科技大学水电与数字化工程学院849软件基础之C程序设计考研强化模拟题

  摘要

一、选择题

1. 若有定义语句:

则以下语句中正确的是( )。

A. B. C. D. 【答案】A

【解析】声明了 a 是一个二维数组,p 是长度为3的针,可以指向二维数组中的元素。B 项错误,维数组的地址。

2. 有以下程序:

运行时,若输入123450<回车>,则输出结果是( )。 A.6566456 B.66656 C.66666 D.6666656 【答案】A

【解析】输入1:执行easel ,输出6,没有遇到break ,继续执行case2,输出5,遇到break ,跳出;

输入2:执行case2,输出6,遇到break ,跳出;

数组。A 项正确,是int 类型指

是二

是int 类型指针,不能指向二维数组;C 项错误,

是int 类型的指针,

p 是int 类型指针的数组,一旦定义,不能再次赋值;D 项错误,

输入3:执行case3,输出6,没有遇到break ,执行default ,输出4; 输入4:执行default ,输出5; 输入5:执行default ,输出6。 最后输出结果是6566456。

有.

3如

下程序

程序运行后的输出结果是( )。

A.2.0 B.1.7 C.2 D.1

【答案】D

【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执,行过程为:调用函数sub (3.8,2.1. , 3.8—2.1=1.7(double 类型)(int )强制转换将1.7转换成int 类型1, 然后返回1并输出,故D 选项正确。

4. 有以下程序:

程序:

程序的运行结果是( )。 A.6 B.5 C.4 D.3

【答案】A

【解析】程序执行过程为:定义字符串指针p 并为其初始化为“01234”,调用函数fun (p ), 将指针传入函 数。while 循环找到字符串的束符地址,然后使这个指针指向结束符下一个单元,结束循环。返回字符串首地址 与结束符下一个地址之差,也即是字符串长度加1。输出地址差为6, 故A 选项正确。

5. 以下可以将任意一个两位整数n 的个位数与十位数对换的表达式为( )。

【答案】A

【解析】A 项

得到十位数字,

得到个位数字,将个位数乘以10加上十位数字

实现两位整数个位数与十位

是十位

实现将任意一个两位整数个位数与十位数对换,A 项正确。B

得到个位数字,

数之和,B 项错误。C 项

为十位数字,

不能实现题目中要求,C 项错误。D 项

数字,为原两位整数减去十位数字,不是个位数字,D 项错误。

6. 以下叙述中正确的是( )。

A. 在复合语句中不能定义变量

B. 对于变量而言,“定义”和“说明”这两个词实际上是同一个意思 C. 全局变量的存储类别可以是静态类 D. 函数的形式参数不属于局部变量 【答案】C

【解析】C 项正确,对于全局变量可使用extern 和static 两种说明符。A 项错误,在复合语句中定义的变量 是局部变量;B 项错误,“定义”(definition )是指给变量分配确定的存储单元,“说明”(dedaratkm )只是说 明变量的性质,而并不分配存储空间;D 项错误,函数的形式参数只能在函数内部被识别,属于局部变量。

7. 以下叙述中正确的是( )。

A. 不同函数的形式参数不能使用相同名称的标识符 B. 用户自己定义的函数只能调用库函数

C. 实用的C 语言源程序总是由一个或多个函数组成 D. 在C 语言的函数内部,可以定义局部嵌套函数 【答案】C

【解析】C 项正确,一个实用的C 语言源程序总是由许多函数组成,这些函数都是根据实际任务,由用户自 己来编写。A 项错误,形参的作用域只在本函数内部,不同函数的形参标识符互不影响;B 项错误,可以调用C 提供的库函数,也可以调用由用户自己或他人编写的函数;D 项错误,C 语法规定,不能在函数内部定义其他函数。

8. 设有定义语句则以下叙述中正确的是( ) 。

A.f 是基类型为int 的指针变量

B.f 是指向函数的指针变量,该函数具有一个int 类型的形参 C.f 是指向int 类型一维数组的指针变量