C语言

备考计算机二级C语言真题试卷

时间:2025-05-06 08:50:22 泽彪 C语言 我要投稿
  • 相关推荐

备考计算机二级C语言真题试卷

  在学习、工作中,我们都要用到试卷,做试卷的意义在于,可以检验学习效果,找出自己的差距,提高增强自信心。大家知道什么样的试卷才是好试卷吗?下面是小编为大家收集的备考计算机二级C语言真题试卷,欢迎阅读与收藏。

备考计算机二级C语言真题试卷

  备考计算机二级C语言真题试卷 1

  一、选择题(每小题1分,共40分)

  1、有以下程序:

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

  A.1,2,6,24,120,

  B.1,2,3,4,5,

  C.1,1,1,1,1,

  D.1,2,4,6,8,

  2、下列叙述中正确的是( )。

  A.软件是程序、数据和文档

  B.软件是程序和数据

  C.软件是算法和数据结构

  D.软件是算法和程序

  3、语句prinff(”%d\n”,strlen(”\t\”\、、n\"\065\08AB”));的输出结果是( )。

  A.6

  B.7

  C.8

  D.9

  4、函数fun的功能是在a所指的具有n个元素的数组中查找最大值并返回给调用函数,函数不完整。

  在if语句下划线处应填人的选项是( )。

  A.O>s

  B.* P>*s

  C.a[p]>a[s]

  D.p—a>P—s

  5、若有语句:int a[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是(  )。

  A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值

  B.P+1代表a[1][0]的地址

  C.P中将存放a数组的首地址

  D.P+2代表a数组最后一行的首地址

  6、有以下程序:

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

  A.4,5,2,4,1,3,

  B.4,4,2,2,1,1,

  C.5,5,3,3,2,2,

  D.4,4,2,2,1,3

  7、若有定义:int a,b,C;以下程序段的输出结果是( )。

  a=11;b=3;C=0;

  pfinff(”%d\n”,c=(a/b,a%B.);

  A.2

  B.0

  C.3

  D.1

  8、若有定义:doublea,b,c;能正确给a,b,c输入数据的语句是( )。

  A.seanf(”%lf%1f%1P‘&a,&b,&C.;

  B.scanf(-t%f%f%f¨,&a,&b。&C.:

  C.scanf(”%If%lf%lf’,a,b,C.;

  D.scanf(”%lf%lf%lf’,&a,&b,&C.;

  9、有以下程序段:

  以下选项中不能正确引用字符串的是( )。

  A.3

  B.p[3]

  C.str[2]

  D.*P

  10、在最坏情况下,二分查找法的时间复杂度为( )。

  11、 有以下程序:

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

  A.2

  B.0

  C.1

  D.3

  12、 若有定义:

  typedefint*T[10];T a;

  则以下选项与上述定义中a的类型完全相同的是( )。

  A.int*a[10];

  B.int(*A.[10];

  C.int a[10];

  D.int(*a[10]);

  13、 医生可以为病人开不同的药,而同一种药也可由不同医生开给病人,则实体医生和实体药之间的联系是( )。

  A.多对多

  B.一对一

  C.多对一

  D.一对多

  14、 为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是指向结点的指针域)则在

  ( )处填入的选项是( )。*struetlink{ehardata;( )node;

  A.struetlink*next;

  B.linknext;

  C.link$next;

  D.struetlinknext;

  15、 有以下程序:

  当执行程序时,按下列方式输入数据(从第l列开始,代表回车,注意:回车也是一个字符]1234则输出结果是( )。

  A.123

  B.12

  C.1234

  D.12

  34

  16、 有以下程序:

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

  A.CB

  B.BCA

  C.CCBB

  D.CDBCA

  17、 有以下程序:

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

  A.0,1

  B.0,0

  C.1,一1

  D.0,2

  18、 有以下程序:

  A.9

  B.-1

  C.10

  D.0

  19、下列叙述中错误的是( )。

  A.数据结构中的数据元素不能是另一数据结构

  B.数据结构中的数据元素可以是另一数据结构

  C.空数据结构可以是线性结构也可以是非线性结构

  D.非空数据结构可以没有根结点

  20、 以下选项中合法的c语言常量是( )。

  A.,C—STR’

  B.2014.1

  C.”\l.0

  D.2EK

  21、 有以下程序:

  程序输出( )。

  A.编译有错

  B.0,0,0,3

  C.1,1,2,0

  D.0,1,2,0

  22、 有以下程序-

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

  A.4

  B.2

  C.8

  D.1

  23、 软件生命周期是指( )。

  A.软件的定义和开发阶段

  B.软件的需求分析、设计与实现阶段

  C.软件的开发阶段

  D.软件产品从提出、实现、使用维护到停止使用退役的过程

  24、 有以下程序:

  执行时输入:3.6 2.4<回车>,则输出结果是( )。

  A.2.400000

  B.1.500000

  C.1.600000

  D.2.000000

  25、 有以下程序:

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

  A.?

  B.3.2G

  C.????

  D.7.2G

  26、 有以下程序:

  执行时输入:6<回车>,则输出结果是( )。

  A.6

  B.8

  C.7

  D.5

  27、 能从任意一个结点开始没有重复地扫描到所有结点的数据结构是( )。

  A.循环链表

  B.双向链表

  C.二叉链表

  D.有序链表

  28、 以下是正确c语言标识符的是( )。

  A.&3

  B.#3

  C.j

  D.一3

  29、 关于地址和指针,以下叙述正确的`是( )。

  A.可以通过强制类型转换让char型指针指向double型变量

  B.函数指针P指向一个同类型的函数f时,必须写成:p=&f;

  C.指针P指向一个数组f时,必须写成:p=ecf;

  D.一个指针变量P可以指向自身

  30、 有以下程序:

  J

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

  A.1,5

  B.2,4

  C.2,6

  D.2,5

  31、 有以下程序:。

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

  A.8

  B.6

  C.7

  D.9

  32、 有以下程序:

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

  A.1

  B.2

  C.3

  D.0

  33、 设Z.X树中共有31个结点,其中的结点值互不相同。如果该二叉树的后序序列与中序序列相同,该二叉树的深度为( )。

  A.31

  B.16

  C.17

  D.5

  34、 有以下程序:

  执行时输入:l 2 3<回车>,则输出结果是( )。

  A.2,2,4,4,

  B.2,3,4,

  C.2,2,3,4,

  D.2,3,3,4,5,6,

  35、 以下叙述错误的是( )。

  A.一个算法所包含的操作步骤应该是有限的

  B.任何能通过编译和运行的算法都一定能得到所期望的结果

  C.算法中每一条指令必须有确切的含义

  D.算法可以用各种描述方法来进行描述

  36、 设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=1。现又要将一个元素进栈,栈顶指针t叩值变为( )。

  A.发生栈满的错误

  B.2

  C.m

  D.0

  37、 有以下程序:

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

  A.I

  B.J

  C.K

  D.H

  38、 有以下程序:

  39、 有以下程序:

  执行时输入:2<回车>,则输出结果是( )。

  A.1 23 4

  B.5 431

  C.1235

  D.32 1 4

  40、 若要建立下图所示的存储结构,以下正确的程序段是( )。

  二、程序填空题(共18分)

  41、给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。

  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在BLANKl.C中。

  不得增行或删行,也不得更改程序的结构!试颖程序.

  三、程序改错题(共24分)

  42、给定程序MODII.C中,函数fun的功能是判断整数n是否是”完数”。当一个数的因子之和恰好等于这个数本身时,就称这个数为”完数”。例如:6的因子包括1、2、3,而6=1+2+3,所以6是完数。如果是完数,函数返回值为1,否则函数返回值为0。数组a中存放的是找到的因子,变量k中存放的是因子的个数。请改正函数fun中指定部位的错误,使它能得出正确的结果。

  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

  试题程序:

  备考计算机二级C语言真题试卷 2

  1). 关于C语言的变量,以下叙述中错误的是( )

  A.所谓变量是指在程序运行过程中其值可以被改变的量

  B.变量所占的存储单元地址可以随时改变

  C.程序中用到的所有变量都必须先定义后才能使用

  D.由三条下划线构成的符号名是合法的变量名

  正确答案:B

  答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义后使用。

  2). 当变量c的值不为2、4、6时,值也为″真″的表达式是( )

  A.(c==2)||(c==4)||(c==6)

  B.(c>=2 && c<=6)&&!(c%2)

  C.(c>=2 &&c<=6)&&(c%2!=1)

  D.(c>=2 && c<=6) || (c!=3)|| (c!=5)

  正确答案:D

  答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c的值不为2、4、6时,那么表达式(c>=2&& c<=6)以及(c!=3)、(c!=5)必有一个成立,表达式的值也为真。

  3). 在C语言中,函数返回值的类型最终取决于

  A.函数定义时在函数首部所说明的函数类型

  B.return语句中表达式值的类型

  C.调用函数时主调函数所传递的实参类型

  D.函数定义时形参的类型

  正确答案:A

  答案解析:在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律按整型处理。在定义函数时,对函数值说明的类型一般应该和return语句中的表达式类型一致。如果函数值的类型和return语句中的表达式类型不一致,则以函数类型为主,即函数类型决定返回值的类型。

  4). 以下叙述中正确的是( )

  A.在C语言中,预处理命令行都以″#″开头

  B.预处理命令行必须位于C源程序的起始位置

  C.#include 必须放在C程序的开头

  D.C语言的预处理不能实现宏定义和条件编译的功能

  正确答案:A

  答案解析:在C语言中,凡是以″#″号开头的行,都称为″编译预处理″命令行。预处理命令可以放在程序中的任何位置,其有效范围是从定义开始到文件结束。预处理命令有宏定义、文件包含和条件编译三类。#include 命令行表示程序中要引用C标准函数库中的标准输入输出函数。

  5). 下列叙述中,不属于测试的特征的是

  A.测试的挑剔性

  B.完全测试的不可能性

  C.测试的可靠性

  D.测试的经济性

  正确答案:C

  答案解析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中,没有测试的可靠性这一说法。

  6). 以下选项中不属于C语言标识符的是( )

  A.用户标识符

  B.关键字

  C.常量

  D.预定义标识符

  正确答案:C

  答案解析:C语言的标识符可分为以下3类:①关键字。C语言预先规定了一批标识符,它们在程序中都代表着固定的含义,不能另作他用。这些字符称为关键字。例如,int、double、if、else、while、for等。②预定义标识符。即预先定义并具有特定含义的标识符。③用户标识符。由用户根据需要定义的'标识符称为用户标识符,又称自定义标识符,一般用来给变量、函数、数组等命名。

  7). 以下关于字符串的叙述中正确的是( )

  A.两个字符串中的字符个数相同时才能进行字符串大小的比较

  B.可以用关系运算符对字符串的大小进行比较

  C.空串比空格打头的字符串小

  D.C语言中有字符串类型的常量和变量

  正确答案:C

  答案解析:C语言本身并没有设置一种类型来定义字符串变量,却允许使用″字符串常量″。字符串常量是由双引号括起来的一串字符。任意两个字符串的大小比较要调用字符串比较函数strcmp(s1,s2 )来进行,其比较的方法是依次对s1和s2中对应位置上的字符两两进行比较,当出现第一对不相同的字符时,即由这两个字符决定所在串的大小(比较字符大小的依据是其ASCⅡ码值)。

  8). 下列叙述中正确的是( )。

  A.调用printf( )函数时,必须要有输出项

  B.使用put )函数时,必须在之前包含头文件stdio.h

  C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出

  D.调节get )函数读入字符时,可以从键盘上输入字符所对应的ASCII码

  正确答案:B

  答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。

  9). 以下结构体类型说明和变量定义中正确的是( )

  A.typedefstruct { int n; char c; } REC; REC t1,t2;

  B.structREC ; { int n; char c; }; REC t1,t2;

  C.typedefstruct REC; { int n=0; char c=′A′; } t1,t2;

  D.struct{ int n; char c; } REC; REC t1,t2;

  正确答案:A

  答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。

  10). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( )

  A.一对一

  B.一对多

  C.多对一

  D.多对多

  正确答案:B

  答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。

  11). 待排序的关键码序列为(15,20,9,30,67.65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。

  A.2

  B.3

  C.4

  D.5

  正确答案:B

  答案解析:选择排序的基本思想是扫描整个线性表,从中选出最小的元素,将它交换到表的最前面,然后对剩下的子表采用同样的方法,直到子表为空。所以第一趟排序后,将选出最小的元素9放在第一个位置,元素15则被交换放在第三个位置。

  备考计算机二级C语言真题试卷 3

  1. 下列叙述中正确的是( )。

  A. 循环队列是队列的一种链式存储结构

  B. 循环队列是一种逻辑结构

  C. 循环队列是队列的一种顺序存储结构

  D. 循环队列是非线性结构

  【答案】C

  【解析】线性表常用存储结构为:①顺序存储结构,物理上连续存储,空间位置隐含逻辑位置,②链式存储结构,存储上不连续,通过指针相连。循环队列是指用一段地址连续的存储单元存储数据元素,定义两个游标:指向队头的游标(front)、指向队尾的游标(rear)。

  2. 下列叙述中正确的是( )。

  A. 栈是一种先进先出的线性表

  B. 队列是一种后进先出的线性表

  C. 栈与队列都是非线性结构

  D. 以上三种说法都不对

  【答案】D

  【解析】栈和队列都是操作受限的线性表:栈只能在栈顶插入和删除元素,按照先进后出的原则组织数据;队列只能在队头删除元素,在队尾插入元素,按照先进先出的原则组织数据。对于每一个节点都有一个前件和一个后件,属于线性结构。

  3. 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。

  A. 16

  B. 10

  C. 6

  D. 4

  【答案】A

  【解析】二叉树中,度为0的结点(即叶子结点)比度为二的结点多1个,而度为0、1、2的结点相加等于总结点数25,所以度为1的结点数为25-5-(5-1)=16。

  4. 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。

  A. 外模式

  B. 内模式

  C. 概念模式

  D. 逻辑模式

  【答案】B

  【解析】数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的`总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。答案选择B选项。

  5. 在满足实体完整性约束的条件下( )。

  A. 一个关系中应该有一个或多个候选关键字

  B. 一个关系中只能有一个候选关键字

  C. 一个关系中必须有多个候选关键字

  D. 一个关系中可以没有候选关键字

  【答案】A

  【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。候选关键字的性质有①在一个关系中,候选关键字可以有多个,②任何两条记录候选关键字值都是不相同的;③关键字由一个属性构成,也可能由多个属性构成;④在任何关系中至少有一个关键字。所以,在满足实体完整性约束的条件下,一个关系中应该有一个或多个候选关键字。答案选择A选项。

  6. 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。

  A. 123456ABCDE

  B. EDCBA54321

  C. ABCDE12345

  D. 54321EDCBA

  【答案】B

  【解析】栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则依次出栈的顺序应为其逆序,即EDCBA54321。答案选择B选项。

  7. 下列叙述中正确的是( )。

  A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

  B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

  C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

  D. 循环队列中元素的个数是由队头指针和队尾指针共同决定

  【答案】D

  【解析】D项正确,从队头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。A项错误,循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环形空间,其存储结构依然是顺序的BC两项错误,在循环队列中,每进行一次入队运算,队尾指针就进一,每进行一次出队运算,队头指针就进一,可见由队头指针和队尾指针一起反映队列中元素的动态变化情况。

  8. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。

  A. 0(n)

  B. O(n2)

  C. O (log2n)

  D. O(nlog2n)

  【答案】C

  【解析】二分查找的最坏情况是不断的二分直至无法再分时,仍然没有查找成功。对于有序的线性表,二分查找法只需比较log2n次。答案选择C选项。

  9. 下列叙述中正确的是( )。

  A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

  B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

  C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表

  D. 链式存储结构比顺序存储结构节省存储空间

  【答案】A

  【解析】A项正确,在顺序存储结构中所有元素所占的存储空间是连续的,而在链式存储结构中,存储数据结构的存储空间可以不连续。

  10. 数据流图中带有箭头的线段表示的是( )。

  A. 控制流

  B. 事件驱动

  C. 模块调用

  D. 数据流

  【答案】D

  【解析】数据流图基本符号的含义:①矩形表示数据的外部实体,②圆角的矩形表示变换数据的处理逻辑;③缺少右半边的矩形表示数据的存储;④箭头表示数据流。答案选择D选项。

【备考计算机二级C语言真题试卷】相关文章:

计算机二级C语言真题09-30

计算机二级C语言笔试真题10-12

计算机二级《C语言》真题练习11-28

计算机二级C语言真题选择题07-20

计算机二级C语言真题填空题05-08

2017计算机二级C语言备考训练题08-25

计算机二级C语言历年真题及答案11-02

计算机二级考试C语言无纸化真题10-06

计算机等级考试二级C语言真题09-26