1、以下叙述中正确的是(??)。
A.在C语言中,预处理命令行都以“#”开头
B.预处理命令行必须位于c源程序的起始位置
C.#include<stdio.h>必须放在C程序的开头
D.C语言的预处理不能实现宏定义和条件编译的功能
参考答案:A
参考解析:预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,所以B、C错误。C语言的预处理能够实现宏定义和条件编译等功能,所以D错误。
2、读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是(??)。
A.一个内存块的字节数
B.一个整型变量,代表待读取的数据的字节数
C.一个文件指针,指向待读取的文件
D.一个内存块的首地址,代表读入数据存放的地址
参考答案:D
3、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是(??)。
A.12345ABCDE
B.EDCBA54321
C.ABCDE12345
D.54321EDCBA
参考答案:B
参考解析:栈是先进后出的原则组织数据,所以人栈最早的最后出栈,所以选择B。
4、下列叙述中正确的是(??)。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定的
参考答案:D
参考解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B与C错误。
5、数据流图中带有箭头的线段表示的是(??)。
A.控制流
B.事件驱动
C.模块调用
D.数据流
参考答案:D
参考解析:数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。
6、以下关于逻辑运算符两侧运算对象的叙述中正确的是(??)。
A.可以是任意合法的表达式
B.只能是整数0或非0整数
C.可以是结构体类型的数据
D.只能是整数0或1
参考答案:A
参考解析:C语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择A。
7、以下数组定义中错误的是(??)。
A.int x[2][3]={1,2,3,4,5,6};
B.int x[][3]={0};
C.int x[][3]={{1,2,3},{4,5,6}};
D.int x[2][3]={{1,2},{3,4},{5,6}};
参考答案:D
参考解析:D选项中x[2][3]定义的是一个两行三列的二维数组,而在给数组元素赋值时却赋成了三行,所以错误。
8、以下叙述中错误的是(??)。
A.用户定义的函数中可以没有return语句
B.用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C.用户定义的函数中若没有return语句,则应当定义函数为void类型
D.函数的return语句中可以没有表达式
参考答案:B
参考解析:本题重点考察函数返回值的相关知识,函数的值只能通过return语句返回主调函数,在函数中允许有多个return语句,但每次调用只能有一个return语句被执行,因此只能返回一个函数值。不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。因此B选项正确。
9、在C语言中,只有在使用时才占用内存单元的变量,其存储类型是(??)。
A.auto和static
B.extern和register
C.auto和register
D.static和register
参考答案:C
参考解析:auto:函数中的局部变量,动态地分配存储空间,数据存储在动态存储区中,在调用该函数时系统会绐它们分配存储空间,在函数调用结束时就自动释放这些存储空间。register:为了提高效率,C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”,只有局部自动变量和形式参数可以作为寄存器变量。extern:外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义。其有效的作用范围只限于定义处到文件终了。static:静态局部变量属于静态存储类别,在静态存储区内分配存储单元。 在程序整个运行期间都不释放。
10、下列选项中,能正确定义数组的语句是(??)。
A.int num[0..2008];
B.int num[];
C.int N=2008;int num[N];
D.#define N 20118 int num[N];
参考答案:D
参考解析:C语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;C选项错误,N为变量,不能用来定义数组大小。因此D选项正确。
本文标签:计算机等级考试二级2019年9月计算机等级考试二级C语言试题(2)
转载请注明:文章转载自(http://www.jsjdj.net)
本文地址:http://www.jsjdj.net/erji_lnzt/1935.html
解锁即可开始刷题
并加入考生交流群
第一时间获取
计算机等级考试考试资讯