一、选择题

1. 有以下程序

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

A.1,2,6, 8,10,12,7,8,9,10,

B.1,2,3,4,5,6, 7,8,9, 10,

C.1,2,3,4,10,12,14,16,9, 10,

D.1,2,6, 8,10,12,14,16, 9, 10,

答:A

【解析】数组名用作函数参数的情况类似于指针,属于传地址,故对形参数组元素的修改会同时修改实参。f ( )函数通过一个for 循环语句,将传入数组的元素从下标2到下标5每个各自乘以2。因此,调用结束时,数组a 中的内容为{1, 2,6,8,10,12,7, 8, 9,10}。

2. 有以下程序:

程序的运行结果是( )。

A.5, 0

B.6, 0

C.5, -1

D.6,-1

答:C

第 2 页,共 33 页

【解析】程序执行过程为:执行do …while 的循环体:y=5,判断y 为真,x=l; y=4, x=2; y=3, x=3; y=2,x=4; y=l, x=5; y=0,判断y 为假,退出循环体。判断

y=0为假,y=—1,退出循环。输出x , y 为5,-1, 故C 项正确。

3. 有以下程序:

若运行时输入:35〈回车>,则输出结果是( )。

A.123

B.2

C.3

D.1

答:D

【解析】程序执行过程为:输入35, scanf 函数从键盘读人35赋值给x=35, 对if 条件进行判断,35>10, 条件成立,输出1,不再执行下面的elseif 语句,程序结束,输出结果为1, 故D 选项正确。

4 在源程序的开始处加上.

scanf 等函数

B. 将stdio. h中标准输入输出函数链接到编译生成的可执行文件中,以便能正确运行

C. 将stdio. h中标准输入输出函数的源程序插入到引用处,以便进行编译链接

D. 将stdio. h中标准输入输出函数的二进制代码插入到引用处,以便进行编译链接

答:A 【解析】文件中包含标准输入输出函数的函数说明,预处理指令是指程序可以在该文件中找到printf ,scanf 等函数,因此答案为A 选项。

5. 若有定义inta=l,b=2,c=3;,则执行表达式II (a=b+c)(++b)后a 、b 、c 的值依次为( )。

A.1、2、3

B.5、3、2

C.5、2、3

D.5、3、3

答:C

第 3 页,共 33 页 条件,以下叙述正确的是 进行文件引用的原因( )。A.stdio. h文件中包含标准输入输出函数的函数说明,通过引用此文件以便能正确使用prinff 、

【解析】根据优先级规则,晒边都是括号,则从左至右执行括号中的表达式,将b+c的值赋值给a ,即a 为5, 不为0, 则II 右边的括号不需要再执行。

6. 有以下定义语句,编译时会出现编译错误的是( )。

答:C

【解析】本题中a 为一个字符型变量,只能为其赋值一个字符常量。C 项中

量,所以会编译错误。BD 两项为转义字符,编译可以通过。

7. 若有定义语句:则的值是( )。

A.7

B.8

C.9

D.10

答:A

C 语言规定以字符【解析】

与strlen 函数返回的是字符串的长度,

作为字符串结束的标识符。等效,所以字符串长度是7。 不是字符常

8. 以下选项中叙述正确的是( )。

A. 文件指针是指针类型的变量

B. 文件指针可同时指向不同文件

C. 文件指针的值是文件在计算机磁盘中的路径信息

D. 调用fscanf 函数可以向文本文件中写入任意字符

答:A

【解析】文件指针,是指向一个结构体类型的指针变量,这个结构体中包含有文件的一些信息,如缓冲区的地址,在缓冲区中当前存取的字符的位置,对文件是“读”还是“写”,是否出错,是否已经遇到文件结束标志等信息。文件指针本身是指针类型的变量,A 项正确。一个指针在同一时间只能指向一个文件,B 项错误。文件指针是指针类型变量,存储的是文件缓存区首地址,而不是文件在计算机磁盘中的路径信息,C 项错误。fscanf 函数从文本文件中按格式读入到程序中,而不是向文本文件中写入数据,D 项错误。

9. C 语言主要是借助以下( )功能来实现程序模块化的。

A. 定义函数

B. 定义常量和外部变量

C. 三种基本结构语句

D. 丰富的数据类型

第 4 页,共 33 页

Logo

汇聚原天河团队并行计算工程师、中科院计算所专家以及头部AI名企HPC专家,助力解决“卡脖子”问题

更多推荐