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

2018年宁夏医科大学管理院810信息系统分析与设计之C程序设计考研核心题库

  摘要

一、选择题

1. 以下关于typedef 的叙述错误的是( )。

A. 用typedef 为类型说明一个新名,通常可以增加程序的可读性

B.typedef 只是将已存在的类型用一个新的名字来代表

C. 用typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名

D. 用typedef 可以增加新类型

【答案】D

【解析】用typede 只是将已存在的类型用一个新的名字来代表,并没有增加新类型。

2. 有以下函数

该函数的功能是( )。

A. 计算S 所指字符串占用内存字节的个数

B. 比较两个字符串的大小

C. 计算s 所指字符串的长度

D. 将S 所指字符串复制到字符串t 中

【答案】A

【解析】本题中,首先让t 指向形参s , 然后通过一个循环体为空的while 循环,将t 逐次后移,直到其所指内容为(字符串结束标志)。此时t 仍然会被曾1, 所以从循环出来,t 指向的是s

是8所指字符串占用内存字节的个数,A 所指字符串的结束标志的后一个字节。因此,

返回的

项正确。而C 项所说的长度并不包括字 符串结束标志位,错误。

3. 若有定义语句

接着执行以下选项中的语句,则能正确执行的语句是( )。

A.

B.

C. D.

【答案】B

【解析】scanf 中参数列表,需为地址,只有B 项符合题意。

4. 有以下程序:

执行时输入:123<回车>, 则输出结果是( )。

A.1,2,3,2,3,3,

B.1, 2, 3,

C.2, 3, 4, 3, 4, 4,

D.1, 1, 1, 2, 2, 3

【答案】A

【解析】本题执行过程为:输入1, 匹配easel , 输出1, 然后执行b++得b=2, 再执行下一个case 的语句输出2,然后执行b++得b=3,继续执行default , 输出3; 输入2,执行case2, 输出2, 然后执行b++得b=3,执行default 输出3; 输入3,执行default 输出3。故A 项正确。

5. 有以下程序

程序的运行结果是( )。

A.a=2.b=l

B.a_2,b-2

C.a=l, b=l

D.a=l, b=0

【答案】A

【解析】当执行swicth 语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch 语句体内寻找与该值吻合的case 标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case 和default 中的语句,直到switch 语句体结束;每当执行到break 语句时,立即跳出switch 语句体。switch 语句通常总是和break 语句联合使用,使得switch 语句真正起到分支的作用。x=l,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=l,接下来遇到break ,跳出内层switch ; 由于外层分支中没有break 语句,会继续执行外层分支2,执行a++, b++,此时a=2, b=l; 然后遇到break 语句,跳出外层switch 。

6.

以下能正确表述算式的C 语言表达式是( )。

【答案】A

【解析】A 项正确。sin 是库函数,其参数中的角度要求用弧度制表示。C

语言中

义的常量,

需要用户自定义或者直接使用是

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

A. 宏名必须用大写字母表示

B. 宏定义必须位于源程序中所有语句之间

C. 宏替换没有数据类型限制

D. 宏调用比函数调用耗费时间

【答案】C

【解析】A 项错误,用作宏名的标识符通常习惯用大写字母表示,宏名可以是任何合法的C 语言标识符;B 项错误,在语言中,宏定义可以根据需要写在任何位置:D 项错误,宏调用是在编译前由编译预处理程序完成的,不占运行的时间。

8. 有以下程序:

不是已定而不代替B

项未替换也没有将30度换算成弧度,错应该除以误。C 项没有将30度换算成弧度,错误。D 项弧度换算错误

对应于