如果暂时没有更好的出路,请选择努力!如果暂时没有通过全国计算机等级考试的信心,请选择努力刷二级C语言试题!
二级C语言试题
【1】
1、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(??)。
A.大写字母
B.下划线
C.数字字符
D.连接符
参考答案:D
参考解析:C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。所以D选项中的连接符不合法。
2、下列关于C语言文件的叙述中正确的是(??)。
A.文件由一系列数据依次排列组成,只能构成二进制文件
B.文件由结构序列组成,可以构成二进制文件或文本文件
C.文件由数据序列组成,可以构成二进制文件或文本文件
D.文件由字符序列组成,其类型只能是文本文件
参考答案:C
参考解析:本题考查文件的概念,文件是由数据序列组成,可以构成二进制文件或文本文件,所以答案为C选项。
3、在一个C源程序文件中所定义的全局变量,其作用域为(??)。
A.由具体定义位置和extern说明来决定范围
B.所在程序的全部范围
C.所在函数的全部范围
D.所在文件的全部范围
参考答案:A
参考解析:全局变量的作用域是从声明处到文件的结束。所以选择A。
4、支持子程序调用的数据结构是(??)。
A.栈
B.树
C.队列
D.二叉树
参考答案:A
参考解析:栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调甩子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行.这种调用符合栈的特点,因此本题的答案为A。
5、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(??)。
A.10
B.8
C.6
D.4
参考答案:C
参考解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中是5+1=6个。
6、在软件开发中,需求分析阶段可以使用的工具是(??)。
A.N-S图
B.DFD图
C.PAD图
D.程序流程图
参考答案:B
参考解析:在需求分析阶段可以使用的工具有数据流图(DFD图),数据字典(DD),判定树与判定表,所以选择B。
7、在面向对象方法中,不属于“对象”基本特点的是(??)。
A.一致性
B.分类性
C.多态性
D.标识唯一性
参考答案:A
参考解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A。
8、一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(??)。
A.一对一
B.一对多
C.多对一
D.多对多
参考答案:B
参考解析:因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。
9、在数据管理技术发展的三个阶段中,数据共享最好的是(??)。
A.人工管理阶段
B.文件系统阶段
C.数据库系统阶段
D.三个阶段相同
参考答案:C
参考解析:数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位。所以选择C。
10、下列叙述中错误的是( )。
A.C程序可以由多个程序文件组成
B.一个C语言程序只能实现一种算法
C.C程序可以由一个或多个函数组成
D.一个C函数可以单独作为一个C程序文件存在
参考答案:B
参考解析:在一个C语言程序中可以进行多种算法的实现,对算法的个数没有规定,所以B错误。
【2】
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选项正确。
【3】
1、程序流程图中带有箭头的线段表示的是(??)。
A.图元关系
B.数据流
C.控制流
D.调用关系
参考答案:C
参考解析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。
2、结构化程序设计的基本原则不包括(??)。
A.多态性
B.自顶向下
C.模块化
D.逐步求精
参考答案:A
参考解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
3、软件设计中模块划分应遵循的准则是(??)。
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
参考答案:B
参考解析:软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。
4、在软件开发中,需求分析阶段产生的主要文档是(??)。
A.可行性分析报告
B.软件需求规格说明书
C.概要设计说明书
D.集成测试计划
参考答案:B
参考解析:A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。
5、算法的有穷性是指(??)。
A.算法程序的运行时间是有限的
B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的
D.算法只能被有限的用户使用
参考答案:A
参考解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。
6、对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。
A.快速排序
B.冒泡排序
C.直接插入排序
D.堆排序
参考答案:D
7、下列关于栈的叙述正确的是(??)。
A.栈按“先进先出”组织数据
B.栈按“先进后出”组织数据
C.只能在栈底插入数据
D.不能删除数据
参考答案:B
参考解析:栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。
8、在数据库设计中,将E-R图转换成关系数据模型的过程属于(??)。
A.需求分析阶段
B.概念设计阶段
C.逻辑设计阶段
D.物理设计阶段
参考答案:C
参考解析:E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。
9、设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为(??)。
A.课号,成绩
B.学号,成绩
C.学号,课号
D.学号,姓名,成绩
参考答案:C
参考解析:学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。
10、以下叙述中错误的是(??)。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D.C语言源程序经编译后生成后缀为.obj的目标程序
参考答案:A
参考解析:C语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以A错误。由C语言构成的指令序列称C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。
【4】
1、下面不属于需求分析阶段任务的是(??)。
A.确定软件系统的功能需求
B.确定软件系统的性能需求
C.需求规格说明书评审
D.制定软件集成测试计划
参考答案:D
参考解析:需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审,所以选择D。
2、下面描述中,不属于软件危机表现的是(??)。
A.软件过程不规范
B.软件开发生产率低
C.软件质量难以控制
D.软件成本不断提高
参考答案:A
参考解析:软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A。
3、在满足实体完整性约束的条件下(??)。
A.一个关系中应该有一个或多个候选关键字
B.一个关系中只能有一个候选关键字
C.一个关系中必须有多个候选关键字
D.一个关系中可以没有候选关键字
参考答案:A
参考解析:实体完整性约束要求关系的主键中属性值不能为空值,所以选择A。
4、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是(??)。
A.外模式
B.内模式
C.概念模式
D.逻辑模式
参考答案:B
参考解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,所以选择B。
5、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为(??)。
A.16
B.10
C.6
D.4
参考答案:A
6、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(??)。
A.函数的形参和实参分别占用不同的存储单元
B.形参只是形式上的存在,不占用具体存储单元
C.同名的实参和形参占同一存储单元
D.函数的实参和其对应的形参共占同一存储单元
参考答案:A
参考解析:本题重点考察的是函数的形参和实参。在定义函数时函数名后面括弧中的变量名称为。形式参数”(简称形参),在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是一个表达式)称为“实际参数”(筒称实参)。C语言规定.实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。因此A选项正确。
7、以下关于C语言数据类型使用的叙述中错误的是(??)。
A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
B.若要保存带有多位小数的数据,可使用双精度类型
C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型
D.整数类型表示的自然数是准确无误差的
参考答案:C
参考解析:C语言中没有逻辑类型,所以C错误。若要保存带有多位小数的数据,可以用单精度类型也可以用双精度类型。处理包含不同类型的相关数据可以定义为结构体类型。整数类型可以无误差的表示自然数。
8、以下选项中关于程序模块化的叙述错误的是(??)。
A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C.把程序分成若干相对独立的模块,可便于编码和调试
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
参考答案:A
参考解析:程序模块化思想中,可以采用自顶向下、逐步细化的方法。所以选项A中“自底向上”的说法是错误的。
9、在软件设计中不使用的工具是(??)。
A.系统结构图
B.PAD图
C.数据流图(DFD图)
D.程序流程图
参考答案:C
参考解析:系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C。
10、在黑盒测试方法中,设计测试用例的主要根据是(??)。
A.程序内部逻辑
B.程序外部功能
C.程序数据结构
D.程序流程图
参考答案:B
参考解析:黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B。
【5】
1、C语言中char 类型数据占字节数为()。
A.3
B.4
C.1
D.2
参考答案:C
参考解析:C语言中char 类型数据占字节数为1。
2、C语言主要是借助以下哪个功能来实现程序模块化()。
A.定义函数
B.定义常量和外部变量
C.三种基本结构语句
D.丰富的数据类型
参考答案:A
参考解析:C语言用函数实现软件的模块化设计。
3、以下叙述中正确的是(??)。
A.用C语言编写的程序只能放在一个程序文件中
B.C程序书写格式严格,要求一行内只能写一个语句
C.C程序中的注释只能出现在程序的开始位置和语句的后面
D.C程序书写格式自由,一个语句可以写在多行上
参考答案:D
参考解析:C语言编写的程序可以放置于多个程序文件中,所以A错误。c程序中的一行可以有多条语句,所以B错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C错误。
4、以下选项中叙述错误的是(??)。
A.C程序函数中定义的自动变量,系统不自动赋确定的初值
B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内
C.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值
D.C程序函数的形参不可以说明为static型变量
参考答案:C
参考解析:A选项描述正确,自动变量未赋初值,为随机值;B选项描述正确,变量定义除在函数开始位置外,在复合语句开始也可以;C选项描述是错误的,函数内的静态变量,只在第一次调用时候赋值,以后调用保留上次值;D选项描述也正确,形参属于局部变量,占用动态存储区,而static型变量占用静态存储区。因此C选项正确。
5、在以下给出的表达式中,与while(E)中的(E)不等价的表达式是(??)。
A.(E>0||E<0)
B.(E==0)
C.(!E==0)
D.(E!=0)
参考答案:B
参考解析:while语句中条件表达式E的值不为0即为真,认为满足条件,所以与B选项中表达式的含义正好相反,选择B选项。
6、在E-R图中,用来表示实体的图形是( )。
A.矩形
B.椭圆形
C.菱形
D.三角形
参考答案:A
参考解析:E-R图中用矩形表示实体集,用椭圆形表示属性,用菱形表示联系。
7、软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件.。下面属于应用软件的是( )。
A.浏览器
B.操作系统
C.编译程序
D.汇编程序
参考答案:A
参考解析:操作系统属于系统软件,编译程序和汇编程序都属于支撑软件,而浏览器属于应用软件。
8、在结构化程序设计中,模块划分的原则是( )。
A.各模块应包括尽量多的功能
B.各模块的规模应尽量大
C.各模块之间的联系应尽量紧密
D.模块内具有高内聚度,模块间具有低耦合度
参考答案:D
参考解析:耦合性和内聚性是模块独立的两个定性标准。一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。
9、下列叙述中正确的是( )。
A.数据的逻辑结构与存储结构是一一对应的
B.算法的时间复杂度与空间复杂度一定相关
C.算法的效率只与问题的规模有关,而与数据的存储结构元关
D.算法的时间复杂度是指执行算法所需要的计算工作量
参考答案:D
参考解析:根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立于计算机的;数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示的,它们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。
10、下列数据结构中,属于非线性结构的是( )。
A.带链队列
B.循环队列
C.带链栈
D.二叉树
参考答案:D
参考解析:根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。线性结构表示数据元素之间为一对一的关系,非线性结构表示数据元素之间为一对多或者多对一的关系。根据各种结构的定义知二叉树是一种非线性结构。
考无忧小编tips:
不求时时刻刻在刷计算机等级考试题库,但求记住要劳逸结合刷题、复习。今天,你刷了多少题?复习了以上的二级C语言试题了吗?
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯