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

2016年山东大学基础医学院-临床医学院医用计算机基础之C语言程序设计复试笔试仿真模拟题

  摘要

一、选择题

1. 若有定义:

则与上述定义完全等价的说明语句是( )。 A.int*a[20][10]; B.int*a[20]; C.int*a[10]; D.int*a[10][20]; 答:A

【解析】新定义的类型T 为大小为10的整型数组,定义T 型指针数组*a[20],等价于定义了一个指向整型长度为10的数组的指针数组,这个指针数组大小为20,即为整型指针二维数组,行20列10,A 项正确。

2. 以下选项中叙述正确的是( )。

A. 复杂任务可以分解成简单子任务

B.C 语言程序中的所有函数必须保存在同一个源文件中 C. 全部三种基本结构都包含的才是结构化程序 D.C 语言程序可以定义多个不同内容的main 函数 答:A

【解析】结构化程序设计把一个复杂的问题的求解过程分成阶段进行,即复杂任务可以分解成简单的任务,A 项正确。C 语言程序中的函数不一定要保存在同一个源文件中,外部函数可以 B 项错误。被同程序中其他源文件中调用,结构化程序主要由3种基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可 以解决任何复杂的问题。算法不一定要包含所有三种基本结构,也可以只包含一种或两种,C 项错误。C 程序由 一个或若干个函数构成,程序中有且只能有一个主函数,即main 函数,D 项错误。

3. 有以下程序:

程序运行后的输出结果是( )。 A.1 B.0 C.2 D.4 答:A 【解析】

右移运算符每次右移一位等价于除2, x=36, 执行

后,

逻辑与

运算,先计算左表达式真假,若为假,不计算右表达式,整个逻辑表达式为假,若左表达式为真,再计算右表达式,之后做逻辑与运算;为真,

整个逻辑表达式

4. 有以下程序:

,为真,A 的ASCII 码为65, a 的ASCII 码为97

, 为真,得b=l。

程序运行的结果是( )。 A.4 B.34 C.31 D.32 答:C

【解析】函数fun 的形参有三个,第一个是指针,它指向长度为4的int 数组;后两项都是int 型变量;返回值为int 类型。fun 函数调用发生在a 的第i 行,

指针s 初始时指向a 的第一行,

指向

作用相同,都表示a 中第i 行第k 列元素。函数fun 的作用是找出数组

s 中,第k 列、第疔中的最大值; 即找出二维数组a 的第0列中最大值,返回31。

5. 设有如下定义语句:

以下选项中,表达式的值为6的是( )。

A.

B.

C.

D.

答:A

【解析】本题中k 指向数组m 的首地址。

先将指针后移两个元素,即为

的地址,

然后取出的值6。B 项,

是的地址;C 项,*k表示m[0]的值,然后再加上2, 所以为

4; D 项,表示给的值加2, 也为4。

6. 有以下程序:

程序运行后的输出结果是( )。 A.2, 1 B.6, 1 C.6,0 D.2, 0 答:A

【解析】程序前面表达式等同于a=2; 优先级低于

程序执行过程为:c=241, c/100=2, 2%9=2, 得

为真,

非0值为真,0值为假,即(-1)为真,逻辑与表达式

得b=l。

7. 若变量均已正确定义并赋值,以下合法的c 语言赋值语句是( )。

答:A

【解析】A 项正确,

返回0或者1, 然后赋值给x 。B 项错误,浮点数不能参与模运算;

C 项错误, 是右值,不能给它赋值;D 项错误,5是常量,不能被赋值。

8. 有以下程序:

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