只要你选择了一条路,别人肯定会为你让路。只要你坚持认真做二级C语言试题,成功的道路才会为你打开。
二级C语言试题
【1】
1、程序调试的任务是(),
A.设计测试用例
B.验证程序的正确性
C.发现程序中的错误
D.诊断和改正程序中的错误
参考答案:D
2、以下关于字符串的叙述中正确的是()。
A.空串比空格打头的字符串小
B.两个字符串中的字符个数相同时才能进行字符串大小的比较
C.可以用关系运算符对字符串的大小进行比较
D.C语言中有字符串类型的常量和变量
参考答案:A
3、若要通过位运算使整型变量a中的各位数字全部清零,以下选项正确的是()。
A.a=a&0;
B.a=a|0;
C.a=a^0;
D.a=!a;
参考答案:A
4、以下叙述错误的是()。
A.任何能通过编译和运行的算法都一定能得到所期望的结果
B.一个算法所包含的操作步骤应该是有限的
C.算法中每一条指令必须有确切的含义
D.算法可以用各种描述方法来进行描述
参考答案:A
5、下列叙述中正确的是()。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D.以上说法都不正确
参考答案:C
6、以下选项中叙述错误的是()。
A.C程序函数中定义的自动变量,系统不自动赋确定的初值
B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内
C.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值
D.C程序函数的形参不可以说明为static型变量
参考答案:C
7、下列关于二叉树的叙述中,正确的是()。
A.叶子结点总是比度为2的结点少一个
B.叶子结点总是比度为2的结点多一个
C.叶子结点数是度为2的结点数的两倍
D.度为2的结点数是度为1的结点数的两倍
参考答案:B
8、以下叙述中错误的是(?)。
A.C程序必须由一个或一个以上的函数组成
B.函数调用可以作为一个独立的语句存在
C.若函数有返回值,必须通过return语句返回
D.函数形参的值也可以传回给对应的实参
参考答案:D
9、结构化程序的三种基本结构是()。
A.递归、迭代和回溯
B.过程、函数和子程序
C.顺序、选择和循环
D.调用、返回和选择
参考答案:C
10、下面说法正确的是(??)。
A.一个C程序可以有多个主函数
B.一个C语言的函数中只允许有一对花括号
C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内
D.在对C程序进行编译时,可以发现注释行中的拼写错误
参考答案:C
【2】
1、下列条件语句中输出结果与其他语句不同的是(??)
A.if(!a) printf(“%d\n”,x); else printf(“%d\n”,y);
B.if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
C.if(a!=0) printf(“%d\n”,y); else printf(“%d\n”,x);
D.if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
参考答案:D
2、不合法的C语言赋值语句是(??)
A.a+=b+58;
B.k-=1;
C.a=58,b=58
D.- -i;
参考答案:C
3、若a,b,c,d都是int型变量且初值为0,以下选项中不是能运行赋值的是(??)
A.a=b=c=100;
B.d++;
C.c+b;
D.d=(c=22)-(b++);
参考答案:C
4、以下叙述正确的是(??)
A.C语言程序函数不可以随意调用
B.C语言函数不可以嵌套调用,例如:fun(fun(x))
C.C语言函数可以嵌套调用,例如:fun(fun(x))
D.C语言中除了main函数,其他函数不可以作为单独文件形式存在
参考答案:C
5、以下叙述那个是不正确的
A.C程序的main函数可以没有参数
B.C程序的main函数可以有参数
C.C程序的main函数如果有参数,第一个参数的必须是整型,必须名字为argc;第二个必须是char 数组名称必须是argv;
D.C程序的main函数如果有参数,第一个参数的值最少是1
参考答案:D
6、存放变量在寄存器里的定义是(??)
A.int a;
B.register int a;
C.static int a;
D.auto int a;
参考答案:B
7、C语言中默认的静态存储类说明是(??)
A.auto
B.static
C.register
D.extern
参考答案:B
8、以下叙述中不正确的是(??)
A.do –while语句构成的循环能用其他语句构成的循环来代替
B.do –while语句构成的循能用break语句退出或者按照条件结束循环
C.用do –while语句构成循环时,只有在while后的表达式为非零时结束循环
D.用do –while语句构成循环时,只有在while后的表达式为零时结束循环
参考答案:C
9、C语言中,字符(char)型数据在微机内存中的存储形式是(??)
A.反码
B.补码
C.EBCDIC码
D.ASCII码
参考答案:D
10、以下正确的函数说明形式是:(??)
A.double fun(int,int);
B.double fun(int x ;int y){}
C.double fun(int x,int y){}
D.double fun(int x, y);
参考答案:A
【3】
1、下列关于线性链表的叙述中,正确的是(??)。
A.各数据结点的存储空问可以不连续,但它们的存储顺序与逻辑顺序必须一致
B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C.进行插入与删除时,不需要移动表中的元素
D.以上说法均不正确
参考答案:C
参考解析:一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。
2、下列关于文件叙述中正确的是(??)
A.文件由一系列数据依次排列组成,只能构成二进制文件
B.文件由结构序列组成,可以构成二进制文件或文本文件
C.文件由数据序列组成,可以构成二进制文件或文本文件
D.文件由字符序列组成,其类型只能是文本文件
参考答案:C
3、面结构体的定义语句中,错误的是(??)
A.struct?ord?{int?x;int?y;int?z;}; struct?ord?a;
B.struct?ord?{int?x;int?y;int?z;}? struct?ord?a;
C.struct?ord?{int?x;int?y;int?z;}?n;
D.struct?{int?x;int?y;int?z;}?a;
参考答案:B
4、放在所有函数外边的变量对程序中的任一函数而言,它们是(??)
A.存在的
B.可直接存取的
C.不可见的
D.不可直接存取的
参考答案:B
5、在一个C语言源程序文件中所定义的局部变量,其作用域为(??)
A.所在文件的全部范围
B.所在程序的全部范围
C.所在函数的全部范围
D.由具体定义位置和extem说明来决定范围
参考答案:C
6、设文件指针fp已定义,执行语句fp=fopen("file","W");后,以下针对文本文件file操作叙述的选项中正确的是(??)。
A.只能写不能读
B.写操作结束后可以从头开始读
C.可以在原有内容后追加写
D.可以随意读和写
参考答案:A
参考解析:考查文件操作函数fopen的基础知识,以“w”方式打开文件,只能写不能读。选项A正确。
7、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是(??)。
A.1
B.0
C.2
D.不知道a的值,不能确定
参考答案:A
8、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)(??)。
A.3
B.4
C.6
D.7
参考答案:D
参考解析:根据二叉树的基本性质3:在任意一棵二叉树中,多为0的叶子结点总比度为2的结点多一个,所以本题中度为2的结点为l-l=0个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即度为7。
9、结构化程序所要求的基本结构不包括(??)。
A.顺序结构
B.GOTO跳转
C.选择(分支)结构
D.重复(循环)结构
参考答案:B
参考解析:1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
10、以下关于typedef的叙述错误的是(??)。
A.用typedef可以增加新类型
B.typedef只是将已存在的类型用一个新的名字来代替
C.用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D.用typedef为类型说明一个新名,通常可以增加程序的可读性
参考答案:A
参考解析:typedef并不是增加了新类型,而是用一个新名字替代已存在的类型,不能为变量说明一个新名,使用typedef可以增强程序的可移植性。所以A选项错误。
【4】
1、下列选项中不属于结构化程序设计原则的是(??)。
A.可封装
B.自顶向下
C.模块化
D.逐步求精
参考答案:A
参考解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
2、数据厍管理系统是(??)。
A.操作系统的一部分
B.在操作系统支持下的系统软件
C.一种编译系统
D.一种操作系统
参考答案:B
参考解析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。
3、以下关于结构化程序设计的叙述中正确的是(??)。
A.结构化程序使用goto语句会很便捷
B.在C语言中,程序的模块化是利用函数实现的
C.一个结构化程序必须同时由顺序、分支、循环三种结构组成
D.由三种基本结构构成的程序只能解决小规模的问题
参考答案:B
参考解析:滥用goto语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A错误。一个结构化程序可以包含顺序、分支、循环结构中的一种或多种,所以C错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以D错误。
4、对于一个正常运行的C程序,以下叙述中正确的是(??)。
A.程序的执行总是从main函数开始,在程序的最后一个函数中结束
B.程序的执行总是从程序的第一个函数开始,在main函数结束 。
C.程序的执行总是从main函数开始
D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
5、以下选项中关于程序模块化的叙述错误的是(??)。
A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C.把程序分成若干相对独立的模块,可便于编码和调试
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
参考答案:A
参考解析:程序模块化思想中,可以采用自顶向下、逐步细化的方法。所以选项A中“自底向上”的说法是错误的。
6、下列数据结构中,属于非线性结构的是(??)。
A.循环队列
B.带链队列
C.二叉树
D.带链栈
参考答案:C
参考解析:树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。
7、下列数据结构中,能够按照“先进后出”原则存取数据的是(??)。
A.循环队列
B.栈
C.队列
D.二叉树
参考答案:B
参考解析:栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。
8、对于循环队列,下列叙述中正确的是(??)。
A.队头指针是固定不变的
B.队头指针一定大于队尾指针
C.队头指针一定小于队尾指针
D.队头指针可以大于队尾指针,也可以小于队尾指针
参考答案:D
参考解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构,所以队头指针有时可能大于队尾指针,有时也可能小于队尾指针。
9、算法的空间复杂度是指(??)。
A.算法在执行过程中所需要的计算机存储空间
B.算法所处理的数据量
C.算法程序中的语句或指令条数
D.算法在执行过程中所需要的临时工作单元数
参考答案:A
参考解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A。
10、软件设计中划分模块的一个准则是(??)。
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
参考答案:B
参考解析:一般较优秀的软件设计。应尽量做到高内聚,低耦合,即减弱模块之问的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
【5】
1、将E-R图转换为关系模式时,实体和联系都可以表示为(??)。
A.属性
B.键
C.关系
D.域
参考答案:C
参考解析:
从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。
2、C源程序中不能表示的数制是(??)。
A.十六进制
B.八进制
C.十进制
D.二进制
参考答案:D
参考解析:在C语言中整型常量可以用十进制、八进制和十六进制等形式表示,但不包括二进制,所以选择D。
3、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(??)。
A.函数的形参和实参分别占用不同的存储单元
B.形参只是形式上的存在,不占用具体存储单元
C.同名的实参和形参占同一存储单元
D.函数的实参和其对应的形参共占同一存储单元
参考答案:A
参考解析:本题重点考察的是函数的形参和实参。在定义函数时函数名后面括弧中的变量名称为。形式参数”(简称形参),在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是一个表达式)称为“实际参数”(筒称实参)。C语言规定.实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。因此A选项正确。
4、下列关于栈叙述正确的是(??)。
A.栈顶元素最先能被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.栈底元素最先被删除
参考答案:A
参考解析:栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先入栈却最后被删除。所以选择A。
5、以下关于宏的叙述中正确的是(??)。
A.宏替换没有数据类型限制
B.宏定义必须位于源程序中所有语句之前
C.宏名必须用大写字母表示
D.宏调用比函数调用耗费时间
参考答案:A
参考解析:宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头,所以B选项中宏定义必须位于源程序中所有语句之前是错误的。宏名一般用大写,但不是必须用大写,所以C选项错误。宏展开不占运行时间,只占编译时间,函数调用占运行时间(分配内存、保留现场、值传递、返回值),所以D选项错误。
6、下列排序方法中,最坏情况下比较次数最少的是(??)。
A.冒泡排序
B.简单选择排序
C.直接插入排序
D.堆排序
参考答案:D
参考解析:冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。
7、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(??)。
A.编译程序
B.操作系统
C.教务管理系统
D.汇编程序
参考答案:C
参考解析:编译软件、操作系统、汇编程序都属于系统软件,只有C教务管理系统才是应用软件。
8、下面叙述中错误的是(??)。
A.软件测试的目的是发现错误并改正错误
B.对被调试的程序进行“错误定位”是程序调试的必要步骤
C.程序调试通常也称为Debug
D.软件测试应严格执行测试计划,排除测试的随意性
参考答案:A
参考解析:软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
9、耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(??)。
A.提高耦合性降低内聚性有利于提高模块的独立性
B.降低耦合性提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块间互相连接的紧密程度
参考答案:B
参考解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C与D错误。
10、数据库应用系统中的核心问题是(??)。
A.数据库设计
B.数据库系统设计
C.数据库维护
D.数据库管理员培训
参考答案:A
参考解析:数据库应用系统中的核心问题是数据库的设计。
考无忧小编tips:
我觉得在备考做二级C语言试题过程,一定要有自我约束力,且称之为“心力”吧。“春来不是读书天,夏日炎炎正好眠,秋来蚊虫冬又冷,背起书包待明年。”有些考生总有一些不想学习的理由。如果这样下去,我们的复习之树永远长不大。古人云:“人静而后安,安而后定,定而后慧,慧而后悟,悟而后得。”很有道理。
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯