《二级C语言》练习题库含参考答案.docx
二级C语言练习题库含参考答案1、检查软件产品是否符合需求定义的过程称为()。A、需求测试B、验证测试C、确认测试D、路径测试答案:C2、下列叙述中错误的是()。A、数据库技术的根本目标是要解决数据的共享问题B、数据库设计是指在已有数据库管理系统的基础上建立数据库C、在数据库系统中,数据的物理结构必须与逻辑结构一致D、数据库系统需要操作系统的支持答案:C3、下列链表中,其逻辑结构属于非线性结构的是()。A、循环链表B、带链的栈C、二叉链表D、双向链表答案:C4、下列叙述中正确的是()。A、循环队列是顺序存储结构B、循环队列是非线性结构C、循环队列的插入运算不会发生溢出现象D、循环队列是链式存储结构答案:A5、下面不属于软件设计阶段任务的是()。A、软件的总体结构设计B、软件的功能确定C、软件的数据设计D、软件的过程设计答案:B6、以下叙述正确的是()。A、do-while语句和while-do构成的循环功能相同B、while-do语句构成的循环,当while语句中的表达式值为非0时结束 循环D> 2. 7e 答案:A50、若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法 正确的switch语句是()。A、 switcha*a+b*b default:breakcase 3:y=a+b breakcase 2:y=a-b break)B> switcha+b easel:case2:case3:y=a+b breakcaseO:case4:y=a-b )C> switch a*b case 10:x=a+b default:y=a-b )D、switcha+9 cased: y=a-b casec2:y=a+b )答案:A51、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是 ()OA、外模式B、逻辑模式C、内模式D、概念模式答案:C52、软件详细设计产生的图如下:该图是()。A、程序流程图B、 E-R 图C、 PAD 图D、 N-S 图 答案:A53、以下选项中,不能对主函数中变量i和j的值进行交换的程序是()。A、 ftinclude void swapint *p, int *q int *t* t = *p* p 二 *q* q = *t* main int i=10, j=20,*a=&i, *b二&jswapa, bprintf/zi=%d j=%d答案:ij); ); (B> > #include void swap(int *p54、以下选项中,能用作用户标识符的()。A、 voidB、 unsignedC、_0_D、8_8答案:C55、设二叉树如下:则中序遍历为()。A、 ABDEGCFHB、DBGEAFIICC、 ABCDEFGHD、 DGEBHFCA答案:B56、若有定义语句charc='101'则变量C在内存中占()。A、2个字节B、1个字节C、3个字节D、4个字节答案:B57、一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树 中的总结点数为()。A、231B、219C、229D、221答案:B58、线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有()OA、便于查找B、排序时减少元素的比较次数C、节省存储空间D、插入与删除运算效率高答案:D59、冒泡排序在最坏情况下的比较次数是()。A、 nn-1/2B、 nn+1/2C、n/2D、 nlog2n答案:A60、有两个关系R和S如下:则由关系R得到关系S的操作是()。A、投影B、选择C、自然连接D、并答案:B61、在软件设计中不使用的工具是()。A、系统结构图8、 PAD 图C、数据流图(DFD图)D、程序流程图答案:C62、下列关于栈的叙述中正确的是()。A、栈顶元素最先能被删除B、栈顶元素最后才能被删除C、栈底元素永远不能被删除D、以上三种说法都不对答案:A63、下列关于软件测试的目的和准则的叙述中,正确的是()。A、测试最好由程序员自己来检查自己的程序B、软件测试是证明软件没有错误C、主要目的是确定程序中错误的位置D、主要目的是发现程序中的错误答案:D64、在软件开发中,需求分析阶段产生的主要文档是()。A、集成测试计划B、概要设计说明书C、可行性分析报告D、软件需求规格说明书答案:D65、用树形结构来表示实体之间联系的模型称为()。A、网状模型B、层次模型C、关系模型D、数据模型答案:B66、在数据处理中,其处理的最小单位是()。A、数据元素B、数据结构C、数据项D、数据答案:C67、程序调试的任务是()。A、诊断和改正程序中的错误B、发现程序中的错误C、验证程序的正确性D、设计测试用例答案:A68、表达式 3. 6-5/2+1.2+5%2 的值是()。A、4. 3B、3. 3C、3.8D、4. 8答案:C69、数据库的基本特点是()。A、数据可以共享,数据冗余小,数据独立性低,统一管理和控制B、数据可以共享,数据冗余大,数据独立性高,统一管理和控制C、数据可以共享,数据冗余大,数据独立性低,统一管理和控制D、数据可以共享,数据冗余小,数据独立性高,统一管理和控制 答案:D70、以下选项中,合法的数值型常量是()。暂无答案71、若变量已正确定义,则以下for循环():for (x = 0, y =0; (y!=123)&&(x<4);x+);A、执行4次B、执行3次C、执行123次D、执行次数不确定答案:A72、详细设计主要确定每个模块具体执行过程,也称过程设计,下列不属 于过程设计工具的是()。A、 PAD 图B、 N-S 图C、 DFD 图D、PDL答案:C73、有以下定义语句,编译时会出现编译错误的是()。A、chara=,aB、chara=' aaC、chara=,x2d'D、chara=''答案:B74、数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的 表示,它属于数据库设计的()。A、需求分析阶段B、逻辑设计阶段C、概念设计阶段D、物理设计阶段答案:C75、对长度为n的线性表排序,在最坏情况下,比较次数不是n (n-1) /2 的排序方法是()。A、堆排序B、快速排序C、直接插入排序D、冒泡排序答案:A76、下列叙述中正确的是()。A、在栈中,栈中的元素随栈底指针与栈顶指针的变化而动态变化B、在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化C、在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化D、上述三种说法都不对答案:B77、软件工程的三要素是()。A、方法、工具和过程B、建模、方法和工具C、定义、方法和过程D、建模、方法和过程答案:A78、以下叙述中错误的是()。A、C程序可以在一行上写多条语句B、书写风格良好的程序易读性好C、书写风格良好的程序执行效率高D、C程序允许将一条语句分写在多行上答案:C79、若有定义语句:doublea, *p=&a;以下叙述中错误的是()。A、定义语句中的p只能存放double类型变量的地址B、定义语句中的*号是一个说明符C、定义语句中*p=&a把变量a的地址作为初值赋给指针变量pD、定义语句中的*号是一个间址运算符答案:D80、某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为()。A、n/2B、2nC、n+1D、n-1答案:D81、对于一个正常运行的C程序,以下叙述中正确的是()。A、程序的执行总是从程序的第一个函数开始,在main函数结束B、程序的执行总是从main函数开始C、程序的执行总是从main函数开始,在程序的最后一个函数中结束D、程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结答案:B82、以下叙述中正确的是()。A、关系运算符两边的运算对象可以是C语言中任意合法的表达式B、在C语言中,逻辑真值和假值分别对应1和0C、分支结构是根据算术表达式的结果来判断流程走向的D、对于浮点变量x和y,表达式:x=y是非法的,会出编译错误答案:A83、数据库中对概念模式内容进行说明的语言是()。A、数据操纵语言B、数据宿主型语言C、数据定义语言D、数据控制语言答案:C84、下列叙述中正确的是()。A、有一个以上根结点的数据结构不一定是非线性结构B、只有一个根结点的数据结构不一定是线性结构C、循环链表是非线性结构D、双向链表是非线性结构答案:B85、在数据管理技术发展的三个阶段中,数据共享最好的是()。A、数据库系统阶段B、三个阶段相同C、人工管理阶段D、文件系统阶段答案:A86、以下叙述中错误的是()。A、C语言编写的函数源程序,其文件名后缀可以是.cB、C语言编写的函数都可以作为一个独立的源程序文件C、C语言编写的每个函数都可以进行独立的编译并执行D、一个C语言程序只能有一个主函数答案:c87、结构化程序所要求的基本结构不包括()。A、选择(分支)结构B、GOTO跳转C、顺序结构D、重复(循环)结构 答案:B88、有语句:k=x<y?(y<z?l:0):0;以下选项中,与此语句功能相同的是 ()OA、 ifx<yk=0 elseify<zk=l B> ifx<ylly<zk=l else k=0C> ifx<y&&y<zk=l else k=0D> ifx<yify<zk=l else k=0 答案:c89、有两个关系R和T如下:则由关系R得到关系T的操作是()。A、并B、交C、投影D、选择 答案:C90、某二叉树的前序遍历为ABCDEFG,中序遍历为DCBAEFG,则该二叉树的 深度(根结点在第1层)为()。A、2B、3C、4D、5 答案:C91、下面关于数据库三级模式结构的叙述中,正确的是()。A、内模式只有一个,模式和外模式可以有多个B、内模式可以有多个,外模式和模式只有一个C、模式只有一个,外模式和内模式可以有多个D、外模式可以有多个,内模式和模式只有一个答案:D92、下面对软件测试和软件调试有关概念叙述错误的是()。A、严格执行测试计划,排除测试的随意性B、设计正确的测试用例C、程序调试通常也称为DebugD、软件测试的目的是发现错误和改正错误答案:D93、若有定义语句:int x = 10;则表达式x- = x+x的值为()。A、0B、-20C、-10D、10答案:C94、算法时间复杂度的度量方法是()。A、算法程序的长度B、执行算法所需要的基本运算次数C、执行算法所需要的所有运算次数D、执行算法所需要的时间答案:B95、以下选项中,合法的C语言实数是()。A、3. leO. 4B、 .2e0C、E13D、7. 12E答案:B96、下列叙述中正确的是()。A、每一个结点有两个指针域的链表一定是非线性结构B、所有结点的指针域都为非空的链表一定是非线性结构C、循环链表是循环队列的链式存储结构D、线性结构的存储结点也可以有多个指针答案:D97、为了避免在嵌套的if-else语句中产生二义性,C语言规定与else子 句配对是()。A、与其在同一行上的if子句B、在其之后最近的不带else的if子句C、与其缩排位置相同的if子句D、在其之前最近的不带else的同层if子句答案:D98、在面向对象方法中,不属于“对象”基本特点的是()。A、标识唯一性B、一致性C、分类性D、多态性答案:B99、下列叙述中正确的是()。A%,两个连续的双引号()是合法的字符串常量B、两个连续的单引号()是合法的字符常量C、可以对字符串进行关系运算D、空字符串不占用内存,其内存空间大小是0 答案:A100、数据库设计中反映用户对数据要求的模式是()。A、内模式B、外模式C、设计模式D、概念模式答案:B101、在数据库系统中,考虑数据库实现的数据模型是()。A、关系数据模型B、概念数据模型C、逻辑数据模型D、物理数据模型答案:C102、某二叉树的中序遍历为DCBAEFG,后序遍历为DCBGFEA,则该二叉树 的深度(根结点在第1层)为()。A、5B、4C、3D、2答案:BC、do-while语句构成的循环,当while语句中的表达式值为。时结束循D、do-while语句构成的循环,必须用break语句退出循环答案:C7、计算机能直接执行的程序是()。A、汇编程序B、源程序C、目标程序D、可执行程序答案:D8、以下选项中关于程序模块化的叙述错误的是()。A、可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的 程序B、把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C、把程序分成若干相对独立的模块,可便于编码和调试D、可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的 程序答案:D9、有以下程序:ftinclude mian() chare; for(; (c=getchar() != putchar(+c) ; 执行时如输入为:abedefg#回车,则输出结果是 ()OA、 abedefgB、 bcdefghC、 bcdefgh$D、 bcdefgh$答案:B10、在结构化程序设计中,模块划分的原则是()。A、各模块应包括尽量多的功能B、模块内具有高内聚度、模块间具有低耦合度C、各模块之间的联系应尽量紧密D、各模块的规模应尽量大答案:B11、关于C语言的变量名,以下叙述正确的是()。A、变量名不可以与关键字同名B、变量名不可以与预定义标识符同名103、在C语言程序中,下列说法中正确的是()。A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和调用均不可以嵌套D、函数的定义和调用均可以嵌套答案:B104、若有定义语句:inta=12;,则执行语句:a+=a-=a*a;后,a的值是()OA、144B、552C、 -264D、264答案:C105、设有如下关系表:则下列操作正确的是()。A、T二RUSB、 T=R/SC、T二 RXSD、T=RAS答案:D106、运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加 多个运动项目,则实体项目和运动员之间的联系是()。A、一对多B、一对一C、多对多D、多对一答案:C107、设有栈S和队列Q,初始状态均为空。首先依次将A, B, C, D, E, F 入栈,然后从栈中退出三个元素依次入队,再将X, Y, Z入栈后,将栈中所有 元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为()。A、 DEFXYZABCB、 FEDZYXCBAC、 FEDXYZCBAD、 DEFZYXABC答案:B108、一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般都 有一个教练,则实体运动队和队员的联系是()。A、一对多B> 一对一C、多对多D、多对一答案:A109、关于C语言标识符,以下叙述错误的是()。A、标识符可全部由数字组成B、标识符可全部由下划线组成C、标识符可全部由小写字母组成D、标识符可全部由大写字母组成答案:A110、下面的函数调用语句中func函数的实参个数是()。func (f2 (vl, v2), (v3, v4, v5), (v6, max (v7, V8);A、5B、3C、8D、4答案:B111>设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。 现经过一系列入队与退队运算后,front=15, rear=15,则循环队列的元素个 数为()。A、16B、0 或 35C、15D、20答案:B112、设变量x为long int型并已正确赋值,以下表达式中能将x的百位 上的数字提取出来的是()。A、 x%10/100B、 x/10%100C、 x%100/10D、 x/100%10答案:D113、有两个关系R与S如下,由关系R和S得到关系T,则所使用的操作 为()。A、并B、除法C、交D、自然连接答案:B114>以下选项中与if (a=l)a=b;elsea+;语句功能不同的switch语句是 ()OA、 switcha case 1:a=b break default:a+ B> switcha default :a+ break case 1:a=b )C、 switcha=l case 1:a=bbreakcase 0:a+ )D> switchal case O:a=b break case l:a+ )答案:D115、在源程序的开始处加上“include”进行文件引用的原因,以下叙述 正确的是()。A、stdio.h文件中包含标准输入输出函数的函数说明,通过引用此文件以 便能正确使用prinff、scanf等函数B、将stdio.h中标准输入输出函数的二进制代码插入到引用处,以便进行 编译链接C、将stdio.h中标准输入输出函数链接到编译生成的可执行文件中,以便 能正确运行D、将stdio.h中标准输入输出函数的源程序插入到引用处,以便进行编译 链接答案:A116、算法空间复杂度的度量方法是()。A、算法程序的长度B、算法所处理的数据量C、执行算法所需要的工作单元D、执行算法所需要的存储空间答案:D117、以下叙述中正确的是()。A、如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能 使用while语句B、对于“for表达式1表达式2表达式3循环体”首先要计算表达式2的值,以便决定是否开始循环C、对于“for表达式1表达式2表达式3循环体”,只在个别情况下才能转换成while语句D、只要适当地修改代码,就可以将do-while与while相互转换答案:D118、两个或两个以上的模块之间关联的紧密程度称为()。A、复杂度B、内聚度C、耦合度D、连接度答案:C119、C语言中char类型数据占字节数为()。A、3B、4C、1D、2答案:C120、若有说明语句:charc='72'则变量c中存放的是()。A、说明语句不合法B、1个字符C、2个字符D、3个字符 答案:BC、变量名必须以字母开头D、变量名是没有长度限制的答案:A12、下面属于白盒测试方法的是()。A、等价类划分法B、边界值分析法C、基本路径测试D、错误推测法答案:C13、下列选项中,不属于数据管理员(DBA)职责的是()。A、数据库维护B、数据库设计C、改善系统性能,提高系统效率D、数据类型转换答案:D14、在下列链表中,能够从任意一个结点出发遍历访问到所有结点的是()OA、二叉链表B、循环链表C、单链表D、双向链表答案:B15、按数据的组织形式,数据库的数据模型可分为三种模型,它们是()。A、独享、共享和实时B、层次、网状和关系C、小型、中型和大型D、网状、环状和链状答案:B16、一棵二叉树共有25个结点,其中5个叶子结点,那么度为1的结点数 为()。A、10B、6C、16D、4答案:C17、软件需求分析阶段的主要任务是()。A、确定软件系统的功能B、确定软件开发计划C、确定软件开发方法D、确定软件开发工具答案:A18、以下选项中非法的C语言字符常量是()。A、' x9d'B、9'C、'x09'D、09'答案:D19、在面向对象方法中,实现信息隐蔽是依靠()。A、对象的封装B、对象的分类C、对象的多态D、对象的继承答案:A20、以下不合法的数值常量是()。A、 OxabcdB、leiC、OilD、8. 0E0. 5答案:D21、下列方法中,属于白盒法设计测试用例的方法的是()。A、因果图B、基本路径测试C、边界值分析D、错误推测答案:B22、下列关于栈的叙述正确的是()。A、不能删除数据B、栈按“先进后出”组织数据C、只能在栈底插入数据D、栈按“先进先出”组织数据答案:B23、有两个关系R和T如下:则由关系R得到关系T的操作是()。A、选择B、交C、投影D、并答案:C24、在C语言中,以下选项中不能正确表示10X1000之值的是()。A、1.0E4. 0B、1.E4C、 10E3D、1.0e4答案:A25、设二叉树如下:则后序序列为()。A、 DGEBHFCAB、 ABDEGCFHC、 DBGEAFHCD、 ABCDEFGH答案:A26、以下选项中可用作C程序合法实数的是()。A、 .leOB、3. OeO. 2C、E9D、9. 12E答案:A27、若有定义语句 int kl= 10,k2=20;执行表达式(k定kl>k2)&&(k2=k2>kl) 后,kl和k2的值分别为()。A、0 和 20B、10 和 1C、0 和 1D、10 和 20答案:A28、以下C语言用户标示符中,不合法的是()。A、_1B、 AaBcC、a_bD、a-b答案:D29、若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。A、x=y=5B、x=n%2. 5C、 x+n=iD、 x=5=4+l答案:A30、软件设计中模块划分应遵循的准则是()。A、低耦合低内聚B、内聚与耦合无关C、低耦合高内聚D、高耦合高内聚答案:C31、软件需求规格说明书的作用不包括()。A、软件验收的依据B、软件可行性研究的依据C、用户与开发人员对软件要做什么的共同理解D、软件设计的依据答案:B32、设x, y, z均为实型变量,代数式在C语言中的正确写法是()。A、 x/y*zB、 x%y%zC、 x/y/zD、 x*z/y答案:C33、在黑盒测试方式中,设计测试用例的主要根据是()。A、程序内部逻辑B、程序外部功能C、程序流程图D、程序数据结构答案:B34、在软件生产过程中,需求信息的来源是()。A、设计人员B、程序员C、软件用户D>项目经理答案:C35、若有定义:inta=O, b=0, c=0, d=0;以下关于C语言表达式: (+alH-+b)? +c:+d执行顺序的叙述正确的是()oA、先执行+a,表达式+a的值为1;再执行+b,表达式+b的值为1,由 此可确定+al+b值为1,因此执行+cB、先执行+a,表达式+a的值为1,由此可确定+al+b值为1,因此执 行+cC、先执行+b,表达式+b的值为1;再执行+a,表达式+a的值为1,由 此可确定+a忏+b值为1,因此执行+cD、先执行+a, +b, +c, +d,使得a, b, c, d的值都为1,由此可确 定+al+b值为1,因此执行+c答案:B36、设有定义:int x=ll, y=12, z=0;以下表达式值不等于12的是()。A、z, x, yB、 z=x=yC、z=x, yD、z=x, y答案:B37、C语言主要是借助以下()功能来实现程序模块化的。A、定义函数B、定义常量和外部变量C、三种基本结构语句D、丰富的数据类型答案:A38、有以下计算公式:若程序前面已在命令行中包含math. h文件,不能 够计算上述公式的程序段是()。A、 ifx>-Oy=sqrtxelse y=sqrt-xB、 y=sqrtx ifx<Oy=sqrt-xC、 y=sqrtx>=O?x:-xD> ifx>=Oy=sqrtxifx<Oy=sqrt-x答案:B39、以下叙述中错误的是()。A、函数的返回值类型不能是结构体类型,只能是简单类型B、可以通过指向结构体变量的指针访问所指结构体变量的任何成员C、函数可以返回指向结构体变量的指针D、只要类型相同,结构体变量之间可以整体赋值答案:A40、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度 为()。(假设根结点在第1层)A、6B、3C、7D、4答案:C41、下列选项中,不属于数据库管理的是()。A、数据库的监控B、数据库的校对C、数据库的调整D、数据库的建立答案:B42、下面属于黑盒测试方法的是()。A、条件-分支覆盖B、边界值分析法C、基本路径测试D、条件覆盖答案:B43、下列叙述中错误的是()。A、算法的时间复杂度与算法所处理数据的存储结构有直接关系B、算法的时间复杂度与空间复杂度有直接关系C、算法的空间复杂度与算法所处理数据的存储结构有直接关系D、算法的时间复杂度与算法程序执行的具体时间是不一致的答案:B44、软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件), 下面属于应用软件的是()。A、UNIX操作系统B、学生成绩管理系统C、数据库管理系统D、C语言编译程序答案:B45、下列叙述中正确的是()。A、每个C程序文件中都必须要有一个main函数B、在C程序中main函数的位置是固定的C、C程序中所有函数之间都可以相互调用D、在C程序的函数中不能定义另一个函数答案:D46、以下叙述中正确的是()。A、设有指针变量为double *p,则p+1将指针p移动8个字节B、函数的类型不能是指针类型C、基类型不同的指针变量可以相互混用D、函数的形参类型不能是指针类型答案:A47、以下选项中不合法的标识符是()。A、FORB、&aC、_00D> print答案:B48、下列叙述中错误的是()。A、软件测试应严格执行测试计划,排除测试的随意性B、对被调试的程序进行“错误定位”是程序调试的必要步骤C、程序调试通常也称为DebugD、软件测试的目的是发现错误并改正错误答案:D49、以下选项中表示一个合法的常量是(说明:符号u表示空格)()。A、 OXabB、 9u9u9C、123E0. 2