计算机二级C++模拟试题及答案
在日常学习和工作生活中,我们最离不开的就是试题了,试题可以帮助学校或各主办方考察参试者某一方面的知识才能。那么你知道什么样的试题才能有效帮助到我们吗?下面是小编收集整理的计算机二级C++模拟试题及答案,仅供参考,希望能够帮助到大家。
计算机二级C++模拟试题及答案1
一、选择题
1.树是结点的集合,它的根结点数目是( )
A.有且只有1
B.1或多于1
C.0或1
D.至少2
【参考答案】A
2.在设计程序时,应采纳的原则之一( )
A.不限制goto语句的使用
B.减少或取消注解行
C.程序越短越好
D.程序结构应有助于读者理
【参考答案】D
3.下列叙述中,不属于软件需求规格说明书的作用的是( )
A.便于用户、开发人员进行理解和交流
B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
C.作为确认测试和验收的依据
D.便于开发人员进行需求分析
【参考答案】D
4.单个用户使用的数据视图的描述称为( )
A.外模式
B.概念模式
C.内模式
D.存储模式
【参考答案】A
5.SQL语言又称为( )
A.结构化定义语言
B.结构化控制语言
C.结构化查询语言
D.结构化操纵语言
【参考答案】C
6.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( )
A.bdgcefha
B.gdbecfha
C.bdgaechf
D.gdbehfca
【参考答案】D
7.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )
A.消除软件危机
B.软件工程管理
C.程序设计自动化
D.实现软件可重用
【参考答案】B
8.在软件测试设计中,软件测试的主要目的是( )
A.实验性运行软件
B.证明软件正确
C.找出软件中全部错误
D.发现软件错误而执行程序
【参考答案】D
9.索引属于( )
A.模式
B.内模式
C.外模式
D.概念模式
【参考答案】B
10.数据库系统的核心是( )
A.数据库
B.数据库管理系统
C.模拟模型
D.软件工程
【参考答案】B
11.下面关于类和对象的描述中,错误的是( )
A.类就是C语言中的结构体类型,对象就是C语言中的`结构体变量
B.类和对象之间的关系是抽象和具体的关系
C.对象是类的实例,一个对象必须属于一个已知的类
D.类是具有共同行为工的若干对象的统一描述体
【参考答案】A
12.设inta=10,b=11,c=12;,表达式(a+b)
A.2
B.0
C.-2
D.1
【参考答案】B
13.下列语句中不是死循环的是( )
A.inti=10;
B.for(inti=1;i<10;i++)
C.inti=0;
D.inti=1;
while(1){do{for(;;)
{i--;i++;i=i+1;
i--;}}while(i>=0);
if(i==1)break;
}
【参考答案】A
14.下面关于数组的描述错误的是( )
A.在C++语言中数组的名字就是指向该数组第一个元素的指针
B.长度为n的数组,下标的范围是0~n-1
C.数组的大小必须在编译时确定
D.数组只能通过值参数和引用参数两种方式传递给函数
【参考答案】D
15.下面的哪个选项不能作为函数的返回类型?( )
A.void
B.int
C.new
D.long
【参考答案】C
16.下列程序的输出结果为( )
include
intfunc(intn)
{if(n<1)return1;
elsereturnn+func(n-1);
return0;}
voidmain( )
{cout<
A.0
B.10
C.15
D.16
【参考答案】D
17.以下程序中,错误的行为( )
1.include
2.classA
3.{
4.public:
5.intn=2;
6.A(intval){cout<
7.~A( ){}
8.{;
9.voidmain( )
10{
11.Aa(0);
12.}
A.5
B.6
C.7
D.11?
【参考答案】A
18.下面程序的运行结果为( )
includeclassA{intnum;public:A(inti){num=i;}A(A&a){num=a.num++;}voidprint( ){cout<};voidmain( {Aa(1),b(a);a.print( );
B.print( );
A.11
B.12
C.21
D.22
【参考答案】C
19.如果类A被说明成类B的友元,则( )
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元
【参考答案】D
20.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )
A.abc
B.acb
C.cab
D.cba
【参考答案】A
21.下面关于模板的描述,错误的是( )
A.函数模板和类模板的参数可以是任意的数据类型
B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C.函数模板不能直接使用,需要实例化为模板函数后才使用
D.类模板的成员函数都是模板函数
【参考答案】A
22.下面程序的运行结果是( )
include
voidmain( )
{
intnum=1;
int&ref=num;
ref=ref+2;
cout<
num=num+3;
cout<
}
A.13
B.16
C.36
D.33
【参考答案】C
23.下列程序的运行结果为( )
include
inti=0;
classA{
public:
A( ){i++;}
};
voidmain( )
{Aa,b[3],xc;
c=b;
cout<
A.2
B.3
C.4
D.5
【参考答案】C
24.下列字符串中可以用C++语言标识符的是( )
A._1234
B.foo~~bar
C.virtua
D.34var
【参考答案】A
25.下列语句的输出结果( )
cout<
A.5
B.14
C.8
D.输出项不合法,无正常输出
【参考答案】A
26.若有如下语句( )
include
voidmain( )
{intx=3;
do{
x=x-2;
cout<
}while(!(--x));
}
则上面程序段
A.输出的是1
B.输出的是1和-2
C.输出的是3和0
D.是死循环
【参考答案】B
27.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )
include
voidmain( )
{intxp,xq,a,b;
p=&a;
cout<<″inputa:″;
cin>>p;}
A.xp表示的是指针变量P的地址
B.p表示的是变量a的地址,而不是变量a的值
C.xp表示的是指针变量p的值
D.xp只能用来说明p是一个指针变量
【参考答案】B
28.有以下程序
include
voidfun(inta,intb,intc)
{a=456,b=567,c=678;}
voidmain( )
{intx=10,y=20,z=30;
fun(x,y,z);
输出结果是( )
A.30,20,10
B.10,20,30
C.456,567,678
D.678,567,456
【参考答案】B
29.下列定义中p指向的地址可更改,但xp不能够更改的是( )
A.constintxP
B.intxconstp;
C.constintxconstp;
D.intxp;
计算机二级C++模拟试题及答案2
1.若有以下数组说明,则i=10;a[a[i]]元素数值是(C )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5
先算a[a[i]]内层的a[i],由于i=10,因此a[i]即a[10].
a[10]对应下面数组中的元素为9. 因此a[a[i]]即为a[9]
a[9]对应下面数组中的元素为6. 因此a[9]即为6
2.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B )
A、2
B、3
C、4
D、3 6 9
二维数组的一维大小,即指二维数组的行数,在本题中,按行对二维数组赋值,因此内层有几个大括号,数组就有几行
3.对二维数组的正确定义是(C )
详见教材P149~152,二维数组的定义、初始化
类型符 数组名 [常量表达式][常量表达式]
二维数组可以看做是矩阵
类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只能是整数,不可以是变量,而且从1开始计数。
一维数组初始化时可以省略数组长度
二维数组初始化时可以省略行数,但不能省略列数
选项A,B,都省略了列数
选项D,不符合二维数组定义的一般形式,行、列常量表达式应该放在不同的[]中
A、int a[ ][ ]={1,2,3,4,5,6};
B、int a[2] []={1,2,3,4,5,6};
C、int a[ ] [3]={1,2,3,4,5,6};
D、int a[2,3]={1,2,3,4,5,6};
4.已知int a[3][4];则对数组元素引用正确的是__C___
A、a[2][4]
B、a[1,3]
C、a[2][0]
D、a(2)(1)
5.C语言中函数返回值的类型是由 A 决定的.
A、函数定义时指定的类型
B、 return语句中的表达式类型
C、 调用该函数时的实参的数据类型
D、形参的数据类型
6. 在C语言中,函数的数据类型是指(A )
A、 函数返回值的数据类型
B、 函数形参的数据类型
C、 调用该函数时的实参的数据类型
D、任意指定的数据类型
7.在函数调用时,以下说法正确的是( B )
A、函数调用后必须带回返回值
B、实际参数和形式参数可以同名
C、函数间的数据传递不可以使用全局变量
D、主调函数和被调函数总是在同一个文件里
8. 在C语言中,表示静态存储类别的关键字是: ( C )
A、 auto
B、 register
C、static
D、extern
9.未指定存储类别的变量,其隐含的存储类别为(A )。
A、auto
B、static
C、extern
D、register
10. 若有以下说明语句:
struct student
{ int num;
char name[ ];
float score;
}stu;
则下面的叙述不正确的是: (D )
A、 struct是结构体类型的关键字
B、 struct student 是用户定义的结构体类型
C、 num, score都是结构体成员名
D、 stu是用户定义的结构体类型名
11.若有以下说明语句:
struct date
{ int year;
int month;
int day;
}brithday;
则下面的叙述不正确的是__C___.
A、 struct是声明结构体类型时用的关键字
B、 struct date 是用户定义的结构体类型名
C、 brithday是用户定义的结构体类型名
D、year,day 都是结构体成员名
12. 以下对结构变量stul中成员age的非法引用是 B
struct student
{ int age;
int num;
}stu1,xp;
p=&stu1;
A、 stu1.age
B、 student.age
C、 p->age
D、(xp).age
13.设有如下定义:
struck sk
{ int a;
float b;
}data;
int xp;
若要使P指向data中的a域,正确的赋值语句是 C
A、 p=&a;
B、 p=datA、a;
C、p=&datA、a;
D、xp=datA、a;
14.设有以下说明语句:
typedef struct stu
{ int a;float b;} stutype;
则下面叙述中错误的是( D )。
A、struct是结构类型的关键字
B、struct stu是用户定义的结构类型
C、a和b都是结构成员名
D、stutype是用户定义的结构体变量名
15.语句int xp;说明了 C 。
A、p是指向一维数组的指针
B、p是指向函数的指针,该函数返回一int型数据
C、p是指向int型数据的指针
D、p是函数名,该函数返回一指向int型数据的指针
16、以下语句的输出结果是( D)。
int a=-1,b=4,k;
k=(+ +a<0)&&!(b - -<=0);
printf("%d,%d,%d ",k,a,b);
A. 1,0,4
B. 1,0,3
C. 0,0,3
D. 0,0,4
17、下列程序的输出结果是(D )。
char xp1="abcd", xp2="ABCD", str[50]="xyz";
strcpy(str+2,strcat(p1+2,p2+1));
printf("%s",str);
A. xyabcAB
B. abcABz
C. ABabcz
D. xycdBCD
18、执行下面的程序后,a的值是(B )。
define SQR(X) XxX
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d ",a); }
A. 10
B. 1
C. 9
D. 0
19、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( B)。
A.P+ix2
B. P+(i-1)x2
C. P+(i-1)
D. P+i
20、下列程序执行后输出的结果是( A)。
int d=1;
fun (int p)
{ int d=5;
d + =p + +;
printf("%d,",d); }
main( )
{ int a=3;
fun(a);
d + = a + +;
printf("%d ",d); }
A. 8, 4
B. 9, 6
C. 9, 4
D. 8, 5
21、表达式:10!=9的值是(D )。
A. true
B. 非零值
C. 0
D. 1
22、若有说明: int i,j=7, xp=&i;, 则与i=j; 等价的语句是( B)。
A. i= xp;
B. xp=x&j;
C. i=&j;
D. i=x xp;
23、不能把字符串:Hello!赋给数组b的语句是( B)。
A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};
B. char b[10]; b="Hello!";
C. char b[10]; strcpy(b,"Hello!");
D.char b[10]="Hello!";
24、在C程序中有如下语句:char xfunc(int x,int y); 它是(C )。
A. 对函数func的定义。
B. 对函数func的调用。
C.对函数func的原型说明。
D. 不合法的.。
25、以下程序的输出结果是( D)。
char str[15]=”hello!”;
printf(“%d ”,strlen(str));
A. 15
B. 14
C. 7
D. 6
26[单选题] 以下叙述中正确的是( )
A.用户自己定义的函数只能调用库函数
B.实用的C语言源程序总是由一个或多个函数组成
C.不同函数的形式参数不能使用相同名称的标识符
D.在C语言的函数内部,可以定义局部嵌套函数
参考答案:B
参考解析:A选项中,”用户自己定义的函数只能调用库函数”描述是不正确的,也可以调用自定义函数;C选项中,对于不同函数的形式参数可以使用相同名称的标识符;D选项中,关于函数的定义不可以嵌套,但函数的调用可以嵌套。因此B选项正确。
27[单选题] 以下关于C语言数据类型使用的叙述中错误的是( )。
A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
B.若要保存带有多位小数的数据,可使用双精度类型
C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型
D.整数类型表示的自然数是准确无误差的
参考答案:C
参考解析:C语言中没有逻辑类型,所以c错误。若要保存带有多位小数的数据,可以用单精度类型也可以用双精度类型。处理包含不同类型的相关数据可以定义为结构体类型。整数类型可以无误差的表示自然数。
28[单选题] 下面选项中关于编译预处理的叙述正确的是
A.预处理命令行必须使用分号结尾
B.凡是以号开头的行,都被称为编译预处理命令行
C.预处理命令行不能出现在程序的最后一行
D.预处理命令行的作用域是到最近的函数结束处
参考答案:B
参考解析:本题考查预编译的预编译处理命令行,预处理命令行不能以分号结尾,所以A选项错误,预处理命令行可以出现在程序的最后一行,预处理命令行作用域是整个文件。
29[单选题] 有以下程序
程序的输出结果是
A.0B.1C.9D.10
参考答案:B
参考解析:本题考查宏定义,宏定义只是做个简单的替换。执行SQR(k+m)/SQR(k+m)=k+mxk+m/k+m}k+m=15/2,a/=SQR(k+m)/SQR(k+1TI)的结果为1,选项B正确。
30[单选题] 设--X树共有150个结点,其中度为l的结点有l0个,则该---X树中的叶子结点数为( )。
A.71B.70C.69D.不可能有这样的二叉树
参考答案:D
参考解析:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。对任何一棵二叉树,度为0的结点总是比度为2的结点多一个。如果有一棵二叉树,结点总数为l50,假设度为0的结点个数为n,则有n+10+n一1=150,n=70.5,由于结点个数必须是整数,所以不可能有题目中这样的二叉树。故选择D选项。
31[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.2.3B.1,3C.1,4D.1,2
参考答案:B
参考解析:在f(int+P,int 4 q)函数中,执行P=P+1是将P所对应的地址加1,而0 q=+q+1是将q所指向的n的地址所对应的值加1,所以m的得知所对应的值没有变,而n的值则为3了。因此B选项正确。
32[单选题] 以下选项中,能用作用户标识符的是( )。
A.-0-B.8-;8C.voidD.unsigned
参考答案:A
参考解析:C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。8中以数字8开头,所以错误。c与D中用的是关键字void与unsigned,所以错误。
33[单选题] 以下叙述正确的是( )。
A.表达式sizeof(FILEx)==sizeof(intx)的值为真
B.文件指针的值是一个整数,它的值一定小于文件字节数
C.文件指针的值是所指文件的当前读取位置
D.使用fscanf函数可以向任意类型的文件中写入任意数量的字符
参考答案:A
参考解析:
slzeof(FILE})=4,因为file·为指针,指针的大小4,sizeof(int·)=4,理由同前面。文件指针的值是地址,是一个16进制的数,它的值不一定小于文件字节数,因此选项8错误。文件指针是所指文件的当前读取位置,而不是文件指针的值因此选项C错误。mgscanf(FILE-stream,constchar}format,[argument…]fmanf函数可以向任意类型的文件,写入任意数量不能超过系统的缓冲区,写文件先写入缓冲区,最后一起写入文件,因此选项D错误。答案为A选项。
【计算机二级C++模拟试题及答案】相关文章:
计算机二级模拟试题及答案03-22
计算机二级C++模拟题及答案03-17
2017计算机二级C++模拟题及答案12-02
计算机二级模拟试题含答案10-23
全国计算机二级《C++》上机试题及答案03-28
计算机二级C语言模拟试题及答案12-08
2016计算机二级《VB》模拟试题及答案03-10