一、选择题

1. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 ( )。

A.C 语言程序仅可以编译执行

B.C 语言程序仅可以解释执行

C.C 语言程序既可以编译执行,又可以解释执行

D. 以上说法都不对

答:A

【解析】编译型语言编写的程序在执行之前,需要一个专门的编译过程把程序编译成机器语言的文件,比 如.exe 文件,再次运行时便不需要重新翻译,直接使用编译的结果便可以了,因为翻译只做了一次,运行时不需 要翻译,所以编译型语言的程序执行效率高。解释则不同,解释型语言的程序不需要编译,在运行程序的时候才 翻译,解释型语言每执行一次便需要翻译一次,效率低。C 语言程序属于编译执行类型。

2. 按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )。

A. 大写字母

B. 连接符

C. 数字字符

D. 下划线

答:B

【解析】C 语言中标识符只能由下划线、字母和数字组成,且不能以数字开头。

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

答:A

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

B 项未替换71也没有将30度换算成弧度,义的常量,需要用户自定义或者直接使用3.14代替71。

错误。C 项没有将30度换算成弧度,错误。D 项弧度换算错误,71对应于180°,应该除以180.0而不是360.0。

4. 有以下程序:

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

答:D

【解析】函数f 的功能是将重新定义的结构体b 整体赋给圯], 即数组a 的第二个元素,而数组a 的第一个元素不变。因此main 函数中调用函数f 时,即数组c 的第二个元素变成结构体b , 第一个元素不变。

5. 有以下程序:

程序的执行结果是( )。

A. 输出321

B. 输出23

C. 不输出任何内容

D. 陷入无限循环

答:B 【解析】

6. 阅读以下程序:

表示输出的整型变量占2列。程序执行过程为:输出x 为23, 之后x

自减得,while 条件不成立,退出循环。 为假(0)

该程序在编译时产生错误,其出错原因是( )。

A. 定义语句出错,case 是关键字,不能用作用户自定义标识符

B. 定义语句出错,printF 不能用作用户自定义标识符

C. 定义语句无错,scanf 不能作为输入函数使用

D. 定义语句无错,printf 不能输出case 的值

答:A

【解析】在C 语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符,

故不允许用户重新定义。case 为C 语言中的关键字,因此用户不能再定义标识符为case 的变量。

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

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

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

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

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

答:A

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

8. 以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。

A.

B.

C.

D.

答:A

【解析】A 选项a 为数组首地址,i++先取i 值再加1,scanf 读入的数据依次存放在数组中,A 选项正确。B 选项,进入死循环,i-直为0, 一直对a[i+l]读入数据,B 选项错误。C 选项,控制变量i 没有依次加1,无法结束循环,也无法对整个数组赋值,输入的数全是a[0], C 选项错误。D

更多推荐

c语言程序既可以编译执行也可以解释执行,2016年山东农业大学信息科学与工程学院C语言程序设计(同等学力加试)复试笔试仿真模拟题...