试题 百文网手机站

计算机二级C++模拟试题及答案

时间:2023-02-06 19:10:25 试题 我要投稿

计算机二级C++模拟试题及答案

  在日常学习和工作生活中,我们最离不开的就是试题了,试题可以帮助学校或各主办方考察参试者某一方面的知识才能。那么你知道什么样的试题才能有效帮助到我们吗?下面是小编收集整理的计算机二级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++模拟试题及答案】相关文章:

2016计算机二级C++上机模拟试题及答案09-24

2016年计算机二级《C++》模拟试题及答案11-11

计算机二级c++试题及答案09-06

2015年计算机二级C++模拟试题及答案(三)11-07

2015年计算机二级C++模拟试题及答案(五)11-07

2016年计算机二级考试C++模拟试题及答案09-26

计算机二级C++强化试题及答案09-30

计算机二级《C++》上机试题及答案09-07

计算机二级考试C++试题及答案09-15