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

2017年中国药科大学药学信息学综合之C++程序设计复试仿真模拟三套题

  摘要

一、选择题

1. 以下选项中合法的C 语言赋值语句是( )。

A.++i;

B.a=b=34

C.a=3,b=9

D.k=int(a+b);

【答案】A

【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,应为k=(int )(a+b)。

2. 表达式的值是( )。

A.9

B.-9

C.18

D.0

【答案】D

【解析

J

3. 有以下程序:

若文本文件filea.txt 中原有内容为:hello ,贝U 运行以上程序后,文件

( )。

A.Helloabc

B.abclo

C.abc

D.abchello

【答案】C 【解析】为写而打开文本文件。这时,如果指定的文件不存在,系统将用在fopen 调用

文件以写的形式打开再利用fprintf 函中指定的文件名建立一个新文件; 如果指定的文件已存在,则将从文件的起始位置开始写,文件中

原有的内容将全部消失数对文件进行操作,而是先将文件清空,再写入,所以本题是将abc 写入

第 2 页,共 15 页 计算顺序为

首先

最后,

即中的内容为

故中的内容是abc 。

4. 有以下程序

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

A.2,3,1

B.2,3,2

C.2,3,3

D.2,2,1

【答案】A

【解析】对于表达式“z=x++,y++,++y; ”,赋值运算符的优先级高于逗号运算符的优先级,可改成“(z=x++),(y++),(++y)”。然后从左向右先计算表达式z=x++,因为x++先使用后自増,所以z 的值为1,x 的值为2。再计算逗号表达式第二个表达式y++,此时y 的值为1,y++的值为2。最后计算第三个表达式++y,y 的值为3。

5. 有以下程序

程序的运行结果是( )。

A.2

B.1

C.3

D.0

【答案】c 【解析】后值为3,值为3。

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

A. 在C 语言中调用fopen 函数就可把程序中要读、写的文件与磁盘上实际的数据文件联系起来

B.fopen 函数的调用形式为:fopen (文件名)

C.fopen 函数的返回值为NULL 时,贝誠功打开指定的文件

第 3 页,共 15 页

D.fopen 函数的返回值必须赋给一个任意类型的指针变量

【答案】A

【解析】C 语言中打开一个文件通过系统函数fopen 实现,通过这个函数把程序中要读、写的文件与磁盘上实际的数据文件联系起来,A 项正确。B 项函数调用中缺少参数“操作方法”,错误。fopen 函数返回一个指向指定文件的文件指针,如果不能实现打开指定文件的操作,则返回

C 项错误。fopen 函数的返回值必须赋给一个文件类型的指针变量,D 项错误。 一个空指针NULL ,

7. 若变量x 、y 已正确定义并赋值,以下符合C 语言语法的表达式是( )。

A.x+l=y

B.++x, y=x--

C.x=x+10=x+y

D.double (x )/10

【答案】B

【解析】B 项正确,++x是前缀表达式,y=x--是复合语句,先进行x--, 然后把自减后的值赋给y 。A 项错误,x+1是右值,不能被赋值;C 项错误,x+10是右值,不能被赋值;D 项错误,应改成(double )x/10, double (x )/10是表示声明了一个double 变量,它名字是(x )A0,显然不符合C 语言语法。

8. 对于一个正常运行的C 程序,以下叙述中正确的是( )。

A. 程序的执行总是从程序的第一个函数开始,在main 函数结束

B. 程序的执行总是从main 函数开始

C. 程序的执行总是从main 函数开始,在程序的最后一个函数中结束

D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束

【答案】B

【解析】一个正常运行的C 程序总是从main 函数开始执行,最后返回到main 函数结束。

二、设计题

9. 请根据以下各小题的要求设计C 应用程序(包括界面和代码)。请编写函数fun ( ), 它的功能是:将3行4列矩阵x 乘以4行3列矩阵y ,结果放在3行3列矩阵xy 中。矩阵相乘的基本方法是:矩阵xy 中行列下标分别为i ,j 的元素的值,是矩阵x 中第i 行上4个元素与矩阵y 第j 列上4个元素对应相乘的和。

注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。

试题程序如下:

第 4 页,共 15 页