试题

计算机二级《C语言》选择题题库及答案

时间:2023-11-16 10:18:55 毅霖 试题 我要投稿
  • 相关推荐

计算机二级《C语言》选择题题库及答案

  无论是身处学校还是步入社会,我们都不可避免地会接触到试题,借助试题可以更好地考核参考者的知识才能。一份好的试题都是什么样子的呢?以下是小编帮大家整理的计算机二级《C语言》选择题题库及答案,供大家参考借鉴,希望可以帮助到有需要的朋友。

  计算机二级《C语言》选择题题库及答案

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

  A.算法就是程序

  B.设计算法时只需要考虑数据结构的设计

  C.设计算法时只需要考虑结果的可靠性

  D.以上三种说法都不对

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

  A.有一个以上根结点的数据结构不一定是非线性结构

  B.只有一个根结点的数据结构不一定是线性结构

  C.循环链表是非线性结构

  D.双向链表是非线性结构

  (3)下列关于二叉树的叙述中,正确的是( )。

  A.叶子结点总是比度为2的结点少一个

  B.叶子结点总是比度为2的结点多一个

  C.叶子结点数是度为2的结点数的两倍

  D.度为2的结点数是度为1的结点数的两倍

  (4)软件生命周期中的活动不包括( )。

  A.市场调研

  B.需求分析

  C.软件测试

  D.软件维护

  (5)该系统总体结构图的深度是( )。

  A.7

  B.6

  C.3

  D.2

  (6)程序调试的任务是( )。

  A.设计测试用例

  B.验证程序的正确性

  C.发现程序中的错误

  D.诊断和改正程序中的错误

  (7)下列关于数据库设计的叙述中,正确的是( )。

  A.在需求分析阶段建立数据字典

  B.在概念设计阶段建立数据字典

  C.在逻辑设计阶段建立数据字典

  D.在物理设计阶段建立数据字典

  (8)数据库系统的三级模式不包括( )。

  A.概念模式

  B.内模式

  C.外模式

  D.数据模式

  (9)有三个关系R、S和T如下:

  则由关系R和s得到关系T的操作是( )。

  A.自然连接

  B.交

  C.投影

  D.并

  (10)下列选项中属于面向对象设计方法主要特征的是( )。

  A.继承

  B.自顶向下

  C.模块化

  D.逐步求精

  (11)以下叙述中错误的是( )。

  A.算法正确的程序可以有零个输入

  B.算法正确的程序最终一定会结束

  C.算法正确的程序可以有零个输出

  D.算法正确的程序对于相同的输入一定有相同的结果

  (12)以下叙述中正确的是( )。

  A.C语句必须在一行内写完

  B.C程序中的每一行只能写一条语句

  C.C语言程序中的注释必须与语句写在同一行

  D.简单C语句必须以分号结束

  (13)以下选项中关于C语言常量的叙述错误的是( )。

  A.经常被使用的变量可以定义成常量

  B.常量分为整型常量、实型常量、字符常量和字符串常量

  C.常量可分为数值型常量和非数值型常量.

  D.所谓常量,是指在程序运行过程中,其值不能被改变的量

  (14)以下选项中,不合法的c语言用户标识符是( )。

  A.a_b

  B.AaBc

  C.f1一一b

  D.一1

  (15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。

  A.X…Y5;

  B.X=n%2.5;

  C.X+n=i;

  D.x=5=4+1:

  (16)设有定义:

  则a和b的值分别是( )。

  A.87和6.0

  B.876和543.0

  C.87和543.0

  D.76和543.0

  (17)有以下定义语句,编译时会出现编译错误的是( )。

  A.char a=’\x2d’;

  B.char a=。\n。;

  C.char a=…a;

  D.char a=”aa”:

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

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

  B.(c==2)l l(e==4)II(C==6)

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

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

  (19)有以下计算公式

  若程序前面已在命令行中包含math.h,不能够正确计算上述公式的程序段是( )。

  (20)有以下程序:

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

  y=一1

  B.Y=0

  C.y=1

  D.while构成无限循环

  (21)有以下程序:

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

  A.5

  B.24

  C.32

  D.40

  (22)有以下程序:

  运行时,若输入1 2 3 4 5 0<回车>,则输出结果是( )。

  A.66656

  B.6566456

  C.66666

  D.6666656

  (23)以下叙述中错误的是( )。

  A.用户定义的函数中可以没有return语句

  B.用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

  C.用户定义的函数中若没有reillnl语句,则应当定义函数为void类型

  D.函数的retU/Tl语句中可以没有表达式

  (24)有以下程序:

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

  A.b。Bb,A

  B.b,B,B,A

  C.a,B,B,a

  D.a,B,a,B

  (25)下列选项中,能正确定义数组的语句是( )。

  A.int num[0..2008];

  B.int lllllll[];

  C.int N:2008:

  D.#define N 2008int num[N1;int num[N];

  (26)以下函数实现按每行8个输出W所指数组中的数据:

  在横线处应填人的语句是( )。

  A.if(i/8==0)printf(”\n”);

  B.if(i/8==O)continue;

  C.if(i%8==0)prinff(’’\n”);

  D.if(i%8==0)continue;

  (27)有以下程序:

  当执行程序时从键盘上输入Hello Beijing<回车>,则程序运行后的输出结果是( )。

  hello bajiIlg

  B.Hello Beijing

  C.HELLO BEIJING

  D.hELLO Beijing

  (28)有以下程序:

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

  A.1,6,2,1,

  B.8,7,3,1,

  C.4,7,5,2,

  D.1,6,5,7,

  (29)有以下程序(strcat函数用于连接两个字符串):

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

  A.U-K

  B.ABCDE\0FG\0UK

  C.ABCDUK

  D.EFGUK

  (30)有以下程序段:

  当执行上述程序段,并从键盘输入:nalne=Lili nLim=1001<回车>后,name的值为( )。

  A.name:=Lili num=1001

  B.nfllne=Lili

  C.Uli.h.um。=

  D.Lili

  (31)有以下程序:

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

  A.Z

  B.0

  C.元素ch[5]的地址

  D.字符y的地址

  (32)有以下程序:

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

  O

  B.2

  C.3

  D.5

  (33)有以下程序:

  执行程序时,给变量x输入l0,程序运行后的输出结果是( )。

  A.55

  B.54

  C.65

  D.45

  (34)有以下程序:

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

  A.3,3

  B.1,1

  C.2,3

  D.1,2

  (35)设有以下语句:typedef struct TY{char C;int a{4 1;}CIN;

  则下面叙述中正确的是( )。

  A.CIN是struct Tr类型的变量

  B.TT是struct类型的变量

  C.可以用,l,r定义结构体变量

  D.可以用CIN定义结构体变量

  (36)有以下程序:

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

  A.3,4

  B.4,1

  C.2,3

  D.1,2

  (37)有以下程序:

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

  A.0

  B.一12

  C.一20

  D.10

  (38)有以下程序:

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

  A.2

  B.4

  C.6

  D.8

  (39)下列关于C语言文件的叙述中正确的是( )。

  A.文件由一系列数据依次排列组成,只能构成二进制文件

  B.文件由结构序列组成,可以构成二进制文件或文本文件

  C.文件由数据序列组成,可以构成二进制文件或文本文件

  D.文件由字符序列组成,其类型只能是文本文件

  (40)有以下程序:

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

  A.1,2,3,0,0,0,0,0,0,0,

  B.1,2,3,1,2,3,0,0,0,0,

  C.123,0,0,0,0,123,0,0,0,0,

  D.1,2,3,0,0,1,2,3,0,0,

  参考答案与解析

  (1)D

  【解析】算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。

  (2)B

  【解析】线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以8正确。所以有一个以上根结点的数据结构一定是非线性结构,所以A错误。循环链表和双向链表都是线性结构的数据结构。

  (3)B

  【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择8。

  (4)A

  【解析】软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段、需求分析、软件设计、软件实现、软件测试、运行和维护,所以选择A。

  (5)C

  【解析】根据总体结构图可以看出该树的深度为3,比如:XY系统——功能2——功能2.1,就是最深的度数的一个表现。

  (6)D

  【解析】程序调试的任务是诊断和改正程序中的错误。

  (7)A

  【解析】数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。

  (8)D

  【解析】数据库系统的三级模式是概念模式、外模式和内模式,所以选择D。

  (9)A

  【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T中元组可以判断R和s做的是自然连接操作。

  (10)A

  【解析】面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择A。

  (11)C

  【解析】算法的特征:①有穷性。一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。②确定性。算法中的每一步都有确切的含义。③可行性。算法中的操作能够用已经实现的基本运算执行有限次来实现。④输入:一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。⑤输出:一个算法有一个或者多个输出,以反映出数据加工的结果。所以c选项错误。

  (12)D

  【解析】C语句可以跨行来写,但是必须以分号结束,所以A选项错误。c程序中的一行可以有多条语句,所以B选项错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C选项错误。

  (13)A

  【解析】C语言中,常量是指在程序运行过程中其值不能被改变的量,变量是指运行过程中其值可以改变的量,二者不能混淆,所以A选项错误。

  (14)C

  【解析】C语言规定,变量命名必须符合标识符的命名规则,c选项中包含了非法字符“一”,所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。

  (15)A

  【解析】B选项中运算符“%”的前后必须为整数,C选项中不能将变量赋给表达式x+n,D选项中不能将表达式4+1赋给常量5。

  (16)A

  【解析】在格式字符前加入一个整数可以指定输入数据所占的宽度,所以赋值时会将87赋给int型变量a,把6.0赋给im型f1oat型变量b。

  (17)D

  【解析】D选项中将字符串常量…aa赋给字符变量a是错误的。

  (18)D

  【解析】逻辑或运算符中只要有一个运算量为真结果就是真,当c>=2&&C&1t;=6条件不成立时c的值肯定不是2、3、4…5 6所以C!=3,与C!=5均成立。所以D选项的结果一定为真。

  (19)C

  【解析】本题重点考查的知识点是:s叫()函数。s叫()函数的作用是计算平方根,要求输出的参数x必须大于等于0。题目公式的要求是无论x大于等于0还是小于0,Y的值都为x绝对值的开方。选项c中调用了sqrt(x)函数,而没有判断X的正负,则Y=m-(x)会出错。

  (20)A

  【解析】y一一表示Y使用后再自减1。所以最后一次Y的值为0,条件不成立但仍要执行自减操作,Y的值为一1,跳出循环。打印Y的值一1。

  (21)C

  【解析】本题的含义是在1—40的蔓敦的范围中,只有当i的值能被5整除,且i+2的值能被3整除时,打印i的值,满跫这个条件的只有32,选择c选项。

  (22)B

  【解析】switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个e·*后面的常量表达式的值相等,就执行此ca*后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有ca$e后面的常量表达式都不等,则执行了defau1t后面前语句。然后退出。所以输入1时打印65,输入2时打印6,输入3时打印64,输入4时打印5,输入5时打印6。

  (23)B

  【解析】本题重点考察函数返回值的相关知识,函数的值只能通过retur11语句返回主调函数,在函敦中允许有多个return语句,但每次调用只能有一个return语句t执行,因此只能返回一个函数值。不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。因此B选项正确。

  (24)A

  【解析】本题重点考察函数的调用,首先要了解字母对应的ASCI1码。例如A为65,a为97。即字母+1劂可得到下一个字母。-其次是函数形参和实参的问题,运行过程如下:在fun(&b,a)中,}c=.a-,d=65。}c+1=V,d+1=66,prinff(”%c,%c,”,}C,d);输出b,B,因为指针c指向地址的值为b,此时b=}C=.b.;豳数返回执行ptud(。%C,%c、n”,b,8);输出b,A,因此A选项正确。

  (25)D

  【解析】C语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;c选项错误,N为变量,不能用来定义数组大小。因此D选项正确。

  (26)C

  【解析】要按照每行8个输出数据的话,横线处语句的功能应该为:当i是8的倍数时(即i%8==0),输出一个换行符。因此c选项正确。

  (27)C

  【解析】主程序读取整个字符串存于s中,调用fun函数。字符指针c指向数组S。函数fun的功能是把指针C所指向的字符数组中的所有小写字符转换为大写。嚣cts函数可以把空格作为字符串的一部分输入,以回车作为输入结束。如果·c为小写字符,则}C={C一32(转大写)。因此C选项正确。

  (28)D

  【解析】首先对二维数组进行赋值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值为1、4、…、6、1。通过for语句和if语句,对二维数组各列元素进行由小到大的排序操作,程序最后通过for语句输出二维数组对角线上的元素。因此D选项正确。

  (29)C

  【解析】字符数组a中包含两个‘、O’,遇到第一个‘O’时就表示字符串a结束。字符串处理函数由c吐(字符数组a,字符数组b),功能是连接两个字符数组中的字符串,把字符串b连接到a的后面,结果放在字符数组a中。连接时将字符串a后的‘、0’取消,只在新串最后保留一个‘、0’。本题相当于将“ABCD”和“IJK”连接。因此C选项正确。

  (30)D

  【解析】在输入格式控制“name=%s num=%d”中,普通字符“ns.111e=num=”在输入时要原样输入,而格式控制符%s和%d对应各自的输入项,将输入的数据赋给相应的输入项。本题中输入“name=1ift hum=1001&1t;回车>”后,将字符串Ij1i赋给字符数组11a1ne,整数1001赋给变量num。因此D选项正确。

  (31)A

  【解析】语句pc=eh;使得指针变量指向字符数组ch的首地址,即指向字符‘u’,则pc+5指向的是字符向后移动5位,指向字符‘z’。所以输出的$pc+5的值即为‘Z’。因此A选项正确。

  (32)B

  【解析】程序首先给字符数组8[]赋值为“012xy”,for循环语句的功能是遍历字符串,通过if条件语句对字符串中的小写字母计数,在符串中小写字母为j2个,即n=2。因此B选项正确。

  (33)A

  【解析】该程序考察的是函数的递归调用,在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。执行结果为1+2+3+…+8+9+10=55。因此A选项正确。

  (34)D

  【解析】该题目中首先区别++n和n++,第一次调用f函数时,将++n(n自增1后再参与运算)作为参数进行传递,此时变量m的值为1,执行n+=m;后,n=1,将1返回主函数,并输出。第二次调用f函数时,将n++(n参与运算后再自增1)作为参数进行传递,此时变量m的值为1,执行语句n+=m;,由于n是静态存储变量,因此n=2,将2返回主函数并输出。因此D选项正确。

  (35)D

  【解析】本题考查typcdef重新声明一种结构体类型,其中CIN为结构体类型名,而不是结构体变量,所以D选项正确。

  (36)C

  【解析】本题考查结构体数组的相关操作,dt为结构体数组,那么指针P指向了结构体数组的一个元素,所以P一>x为1,P一>Y为2,结果为2,3。选项C正确。

  (37)C

  【解析】本题考在宏定义,宏定义只是做简单的替换,所以本题中SUB(a+b)·c=(a+b)一(a+b)·e=一20,所以答案为C选项。

  (38)D

  【解析】本题考查位运算符,题目中将a向左移两位,左移两位表示乘以4,所以答案为8,选项D正确。

  (39)C

  【解析】本题考查文件的概念,文件是由数据序列组成,可以构成二进制文件或文本文件,所以答案为c选项。

  (40)D

  【解析】本题考查文件操作函数,两次fwrite后,币文件中已经写入1,2,3,O,0,1,2,3,0,0然后将文件币中的内容重新写人数组a中,最后输出a为1。2,3,0,0,1,2,3,0,0,所以选项D正确。

  计算机二级C++语言程序设计考试选择题练习

  1.下列关于栈叙述正确的是( )。

  A.栈顶元素最先能被删除

  B.栈顶元素最后才能被删除

  C.栈底元素永远不能被删除

  D.以上三种说法都不对

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

  A.有一个以上根结点的数据结构不一定是非线性结构

  B.只有一个根结点的数据结构不一定是线性结构

  C.循环链表是非线性结构

  D.双向链表是非线性结构

  3.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。

  A.3

  B.4

  C.6

  D.7

  4.在软件开发中,需求分析阶段产生的主要文档是( )。

  A.软件集成测试计划

  B.软件详细设计说明书

  C.用户手册

  D.软件需求规格说明书

  5.结构化程序所要求的基本结构不包括( )。

  A.顺序结构

  B.GOT0跳转

  C.选择(分支)结构

  D.重复(循环)结构

  6.下面描述中错误的是( )。

  A.系统总体结构图支持软件系统的详细设计

  B.软件设计是将软件需求转换为软件表示的过程

  C.数据结构与数据库设计是软件设计的任务之一

  D.PAD图是软件详细设计的表示工具

  7.负责数据库中查询操作的数据库语言是( )。

  A.数据定义语言

  B.数据管理语言

  C.数据操纵语言

  D.数据控制语言

  8.一个教师可讲多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是( )。

  A.1:1联系

  B.1:m联系

  C.m:1联系

  D.m:n联系

  9.有3个关系R、S和T如下表所示:

  则由关系R和S得到关系T的操作是( )。

  A.自然连接

  B.交

  C.除

  D.并

  10.定义无符号整数为Uint,下面可以作为类Uint实例化值的是( )。

  A.-369

  B.369

  C.0.369

  D.整数集合{1,2,3,4,5}

  11.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。

  A.内联函数

  B.重载函数

  C.递归函数

  D.函数模板

  12.若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为( )。

  A.a

  B.AA.a

  C.a{}

  D.AA:a{}

  13.当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是( )。

  A.任何

  B.公有或保护

  C.保护或私有

  D.私有

  14.若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

  A.Data+(Data);

  B.Dataoperator+(Data);

  C.Data+operator(Data);

  D.operator+(Data.Data);

  15.下列关于函数模板的描述中,正确的是( )。

  A.函数模板是一个实例函数

  B.使用函数模板定义的函数没有返回类型

  C.函数模板的类型参数与函数的参数相同

  D.通过使用不同的类型参数,可以从函数模板得到不同的实例函数

  16.C++系统预定义了3个用于标准数据流的对象,下列选项中不属于此类对象的是( )。

  A.cout

  B.cin

  C.cerr

  D.cset

  17.Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是( )。

  A.cpp

  B.exe

  C.obj

  D.lik

  18.字符串“a+b=12 ”的长度为( )。

  A.12

  B.10

  C.8

  D.6

  19.有如下程序:

  #include

  usingnamespacestd;

  intmain( ){

  intf,f1=0,f2=1;

  for(inti=3;i<=6;i++){

  f=f1+f2:

  f1=f2;f2=f;

  }

  cout

  }

  运行时的输出结果是( )。

  A.2

  B.3

  C.5

  D.8

  20.有如下程序:

  #include

  usingnamespacestd;

  intmain( ){

  inta[6]={23,15,64,33,40,58};

  ints1,s2;

  s1=s2=a[0];

  for(int*p=a+1;pif(s1>*p)s1=*p;

  if(s2<*p)s2=*p;

  }

  cout

  }

  运行时的输出结果是( )。

  A.23

  B.58

  C.64

  D.79

  21.有如下程序:

  #included

  usingnamespacestd;

  voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){

  intx=10,y=26;

  f1(X,y);

  f2(x,y);

  cout

  }

  运行时的输出结果是( )。

  A.10

  B.16

  C.26

  D.36

  22.有如下程序:

  #include

  usingnamespacestd;

  classXA{

  inta;

  public:

  staticintb;

  XA(intaa):a(aa){b++;}

  ~XA( ){}

  intget( ){returna;}

  };

  intXA::b=0

  intmain( ){

  XAd1(1),d2(3);

  cout

  }

  运行时的输出结果是( )。

  A.5

  B.6

  C.7

  D.8

  23.有如下程序:

  #include

  usingnamespacestd:

  classPoint{

  intx,y;

  public:

  Point(intx1=0,inty1=0)):X(X1),y(y1){}

  intget( ){returnx+y;)

  };

  classCircle{

  Pointcenter}

  intradius;

  public:

  Circle(intCX,intcy,intr):center(cx,cy),radius(r)

  {}

  intget( ){returncenter.get( )+radius;}

  };

  intmain( ){

  Circlec(3,4,5);

  cout

  }

  运行时的输出结果是( )。

  A.5

  B.7

  C.9

  D.12

  24.若是对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是( )。

  A.operatorlong( )const;

  B.operatorlong(BigNumber);

  C.longoperatorlong( )const;

  D.longoperatorlong(BigNumber);

  25.有如下函数模板定义:

  template

  T1FUN(T2n){returnn*5,0;}

  若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。

  A.FUN(9)

  B.FUN<9>

  C.FUN(9)

  D.FUN<9>(double)

  26.下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他3条语句不同,该语句是( )。

  A.cout

  A.析构函数可以重载

  B.析构函数由系统自动调用

  C.每个对象的析构函数只被调用一次

  D.每个类都有析构函数

  28.下列关于构造函数的描述中,错误的是( )。

  A.构造函数名与类名相同

  B.构造函数可以有返回值

  C.构造函数可以重载

  D.每个类都有构造函数

  29.若PAT是一个类,则程序运行时,语句“PAT(*ad){3};”调用PAT的构造函数的次数是( )。

  A.0

  B.1

  C.2

  D.3

  30.下列描述中,错误的是( )。

  A.公有继承时基类中的公有成员在派生类中仍是公有成员

  B.公有继承时基类中的保护成员在派生类中仍是保护成员

  C.保护继承时基类中的公有成员在派生类中仍是公有成员

  D.保护继承时基类中的保护成员在派生类中仍是保护成员

  31.生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。

  A.无需任何条件

  B.基类中显式定义了构造函数

  C.派生类中显式定义了构造函数

  D.派生类构造函数明确调用了基类构造函数

  32.下列关于派生类和基类的描述中,正确的是( )。

  A.派生类成员函数只能访问基类的公有成员

  B.派生类成员函数只能访问基类的公有和保护成员

  C.派生类成员函数可以访问基类的所有成员

  D.派生类对基类的默认继承方式是公有继承

  33.有如下类模板定义:

  template

  classBigNumber{

  longn;

  public;

  BigNumber(Ti):n(i){}

  BigNumberoperator+(BigNumberb){

  returnBigNumber(n+b.n):

  }

  };

  已知b1、b2是BigNumber的两个对象,则下列表达式中错误的是( )。

  A.b1+b2

  B.b1+3

  C.3+b1

  D.3+3

  34.下列关于文件流的描述中,正确的是( )。

  A.文件流只能完成针对磁盘文件的输入、输出

  B.建立一个文件流对象时,必须同时打开一个文件

  C.若输入流要打开的文件不存在。将建立一个新文件

  D.若输出流要打开的文件不存在,将建立一个新文件

  35.有如下程序:

  #include

  usingnamespacestd;

  classPair{

  intm,n;

  public;

  Pair(intj,intk):m(j),n(k){}

  intget( ){returnIn;}

  intget( )const{returnm+n;}

  };

  intmain( ){

  Paira(3,5);

  constPairb(3,5);

  cout

  }

  运行时的输出结果是( )。

  A.33

  B.38

  C.83

  D.88

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

  A.全局变量的作用域一定比局部变量的作用域范围大

  B.静态类别变量的生存期贯穿于整个程序的运行期间

  C.函数的形参都属于全局变量

  D.未在定义语句中赋初值的aut0变量和static变量的初值都是随机值

  37.假定MyClass为一个类,则执行MyClassa,b(2),*p;语句时,自动调用该类构造函数( )次。

  A.2

  B.3

  C.4

  D.5

  38.能正确表示逻辑关系”a≥10或a≤0”的C++语言表达式是( )。

  A.a>=10ora<=0

  B.a)一01a(一10

  C.a>=10&&a<=0

  D.a>=10||a(=0

  39.若执行下面的程序时,从键盘上输入5和2,则输出结果是( )。

  #include(iostream.h)

  voidmain( )

  (inta,b,k;

  cin>>a>>b;

  k=a:

  if(ak=a%b;

  else

  k=b%a:

  cout((k

  B.3

  C.2

  D.0

  40.假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。

  A.void~MyClass( );

  B.~MyC|ass(intn);

  C.MyClass( );

  D.~MyClass( );

【计算机二级《C语言》选择题题库及答案】相关文章:

2017计算机二级C语言上机题库及答案01-26

全国计算机二级《C语言》考试题库与答案03-23

计算机二级office题库及答案01-20

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

计算机二级office题库含答案04-12

计算机二级office题库(附答案)01-20

计算机二级《MS OFFICE》题库与答案03-01

计算机二级考试office题库及答案01-25

2023计算机二级C语言测试题及答案04-26

计算机二级《C语言》基础练习题及答案02-06