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

2018年北京市培养单位工程科学院864程序设计之C程序设计考研核心题库

  摘要

一、选择题

1. 有如

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

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 选项正确。

2. 有如下程序:

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

A.Ta=l,b=2

B.Fa=0,b=2

C.Fa=l,b=l

D.Ta=0,b=l

【答案】C

【解析】题目中判断if 条件是否成立,a++先取值为0,则

printf

按照格式输出a=l,b=l。故C 选项正确。 为0,且不计算b++,而后a 自增得a=l,if 条件不成立执行else 函数体,输出F 。最后执行语句下程序

程序的运行结果是( )。

A.3

B.5

C.6

D. 结果不确定

【答案】A

【解析】( )的优先级大于*,故先将1.99强制转化为1,即浮点数1.99被强制转换成1,执行语句a=(int )1.99*3;计算得a=lX3=3。

4. 若变量已正确定义,则以下for 循环( ):

A. 执行4次B. 执行3次

C. 执行次数不确定

D. 执行123次

【答案】C

【解析】

优先级低于

逻辑与表达式。规则为:对expl 求值,若为0, 则表达式为0, 则不计算exP2; 若expl 非0, 则求exP2值,作为表达式值。本题计算过程为:先判断a>b为假,m=0, 整个逻辑表达式为假,不计算右表达式,n=2。故C 选项正确。

5. 有以下程序段

若要求使p 指向一个int 型的动态存储单元,在横线处应填入的是( )。

A.int

B. (int*)

C.int*

D. (*int)

【答案】B

C 语言标准规定malloc 函数返回值的类型为void*,malloc ,【解析】函数的调用形式为:(size )

size 的类型为unsignedint 。p 是指向int 型的指针,要把void*强制转换成int*。

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

A.10

B.9

C.8

D.7

【答案】B

【解析】

主函数中语句

即为计算

7. 以下叙述中错误的是( )

A.C 语言的可执行程序是由一系列机器指令构成的

B. 用C 语言编写的源程序不能直接在计算机上运行

C. 通过编译得到的二进制目标程序需要连接才可以运行

D. 在没有安装C 语言集成开发环境的机器上不能运行C 源程序生成的exe 文件

【答案】D

【解析】A 项正确,C 语言的可执行程序是由一系列机器指令组成的;BC 项正确,用C 语言编写的源程序 必须经过编译,生成二进制目标代码,再经过连接才能运行;D 项错误,C 语言经过编译链接后的二进制目标代码可以脱离C 语言集成开发环境独立运行。

8. 若已有定义语句:inta , b, c; ,且变量己正确赋初值,则以下选项中正确的赋值表达式是( )。

A.a= (b=c) +8;

B. (a=b) =c=9;

C.a= (b==c) = ‘A ’ ;

D.a+b=c+l;

【答案】A

【解析】A 项正确,将c 赋值给b 后又加上8, 然后再赋值给a ; B、D 项错误,赋值运算符左

用函数的返回值作为参数,

所以首先计算代

入得6, 所

以值为9。 得值为3, 然后计