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

2018年武汉大学测绘遥感信息工程国家重点实验室968C语言程序设计[专硕]之C程序设计考研核心题库

  摘要

一、选择题

1. 有以下程序:

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

A.

B.

C.

D.

【答案】A

【解析】本题执行过程为:i=l, 1%2=1,if 条件成立,输出*与#; i=2, 2%2=0, if 条件不成立,

i=3,3%2=1,执行continue 结束本次循环,执行下一次循环;输出*与#; i=4, 4%2=0,执行continue ,

开始下一次循环;i=5,5%2=1,输出*与#; i=6退出循环。最后输出$,A 项正确。

2. 关于C 语言中数的表示,以下叙述中正确的是( )。

A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差

B. 只要在允许范围内整型和实型都能精确表示

C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差

D. 只有八进制表示的数才不会有误差

【答案】A

【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以 表示任意一个整数。

3. 若有定义语句:

以下叙述中错误的是( )。

A. 定义语句中的p 只能存放double 类型变量的地址

B. 定义语句中的*号是一个说明符

C. 定义语句中的*号是一个间址运算符

D. 定义语句中*p=&a把变量a 的地址作为初值赋给指针变量p

【答案】C

【解析】C 项错误,只有取指针变量的值时,星号*才是间址运算符,引用指针指向的存储单元。A 项正确, p 是double 类型的指针,只能存放double 类型的地址;B 项正确,定义指针变量时,星号是一个说明符,用来说明该变量是指针变量;D 项正确,

用来求出double 变量a 的地址赋给指针变量p ,而使p 指向a 。

4. 有以下程序:

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

A.1256

B.5634

C.5612

D.3456

【答案】B

【解析】第一次funl 传递参数5, 6,输出5, 6, 第二次调用fun2,fun2的作用是将全局变量a 变为3, b 变为4, 故输出3, 4。

5. 有以下程序

}

是求地址运算符,

程序的输出结果是( )。

A.8

B.5

C.7

D.6

【答案】D

【解析】C 语言中的标识符区分大小写,pad 只实现了一次自增操作,结果输出6。

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

A.C 语言编写的函数源程序,其文件名后缀可以是.C

B.C 语言编写的函数都可以作为一个独立的源程序文件

C.C 语言编写的每个函数都可以进行独立的编译并执行

D. —个C 语言程序只能有一个主函数

【答案】C

【解析】C 源程序经过C 编译程序编译之后生成一个后缀为.OBJ 的二进制文件(称为目标文件),然后由称为“连接程序”(Link )的软件,把此.OBJ 文件与C 语言提供的各种库函数连接起来生成一个后缀为.EXE 的可执行文件。只有含有main 函数的经过编译链接才能执行。

7. 有以下程序:

程序的运行结果是( )。

【答案】A

【解析】程序执行过程为:调用f 函数,将结构体a 与b 的地址作为参数传入函数,函数中指针a 指向结构体a ,指针b 指向结构体b ,将指针a 指向的结构体a 赋给指针b 指向的结构体b ,结构体b 内容被修改。输出b