- 相关推荐
2015下半年全国计算机二级C++全真模拟试题
点击查看试题答案及解析
一、选择题。在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是
A)线性表是线性结构
B)栈与队列是非线性结构
C)线性链表是非线性结构
D)二叉树是线性结构
(2)非空的循环单链表head的尾结点(由p所指向),满足
A)p->next==NULL
B)p==NULL
C)p->next=head
D)p=head
(3)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
A)堆排序
B)直接插入排序
C)快速排序
D)直接选择排序
(4)对建立良好的程序设计风格,下面描述正确的是
A)程序应简单、清晰、可读性好
B)符号名的命名只要符合语法
C)充分考虑程序的执行效率
D)程序的注释可有可无
(5)下列不属于结构化分析的常用工具的是
A)数据流图
B)数据字典
C)判定树
D)PAD图
(6)在软件生产过程中,需求信息的给出是
A)程序员
B)项目管理者
C)软件分析设计人员
D)软件用户
(7)下列工具中为需求分析常用工具的是
A)PAD
B)PFD
C)N-S
D)DFD
(8)NULL是指
A)0
B)空格
C)未知的值或无任何值
D)空字符串
(9)数据库的故障恢复一般是由
A)数据流图完成的
B)数据字典完成的
C)DBA完成的
D)PAD图完成的
(10)下列说法中,不属于数据模型所描述的内容的是
A)数据结构
B)数据操作
C)数据查询
D)数据约束
(11)面向对象程序设计思想的主要特征中不包括
A)继承性
B)功能分解,逐步求精
C)封装性和信息隐藏
D)多态性
(12)C++语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言
A)ASP
B)C
C)VB
D)Java
(13)设变量a是int型,f是double型,i是float型,则表达式10+′a′+ i * f值的数据类型
A)int
B)float
C)double
D)不确定
(14)能正确表示逻辑关系:"a≥10或a≤0"的C++语言表达式是
A)a>=10 or a<=0
B)a>=0|a<=10
C)a>=10 && a<=0
D)a>=10‖a<=0
(15)以下程序的输出结果是
#include
void main()
{ int i,j,x=0;
for(i=0;i<2;i++)
{ x++;
for(j=0;j<3;j++)
{ if(j%2)continue;
x++;}
x++;}
cout << "x=" << x;}
A)x=4
B)x=8
C)x=6
D)x=12
(16)若执行下面的程序时,从键盘上输入5和2,则输出结果是
#include
void main()
{ int a,b,k;
cin >> a >> b;
k=a;
if(a k=a%b;
else
k=b%a;
cout << k << endl;}
A)5
B)3
C)2
D)0
(17)有以下程序
#include
#include
void main()
{ char *p="abcde\0fghjik\0 ";
cout << strlen(p);}
程序运行后的输出结果是
A)12
B)15
C)6
D)5
(18)若有说明语句
char a[]="It is mine";
char *p="It is mine";
则以下不正确的叙述是
A)a+1表示的是字符t的地址
B)p指向另外的字符串时,字符串的长度不受限制
C)p变量中存放的地址值可以改变
D)a中只能存放10个字符
(19)以下程序的运行结果是
#include
void sub(int x,int y,int *z)
{ *z=y-x;}
void main()
{ int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
cout << a <<","<< b<<"," << c << endl;}
A)5,2,3
B)-5,-12,-7
C)-5,-12,-17
D)5,-2,-7
(20)下列程序是用来判断数组中特定元素的位置所在,则输出结果为
#include
#include
int fun(int *s, int t, int *k)
{ int i;
*k=0;
for(i=0;i if(s[*k] return s[*k];}
void main()
{ int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
fun(a, 10, &k);
cout << k <<′,′ << a[k];}
A)7,431
B)6
C)980
D)6,980
(21)执行下列程序段,结果是
#include
void main()
{ int x=40;
char y=′C′;
int n;
n=(x&0xff)&&(y>′B′);
cout << n;}
A)0
B)1
C)2
D)3
(22)关于this指针的说明不正确的是
A)不能在程序中修改this指针
B)this指针可以给其他指针赋值,但不能修改this指针
C)静态成员函数中没有this指针
D)this指针可以被赋值
点击查看试题答案及解析
(23)下面程序的结果是
#include
class A
{ public:
A(){cout << "construtA" << endl;}
virtual ~A(){cout << "destructA" << endl;}};
class B : public A
{ };
class C : public A
{ };
class D : public B,public C
{ };
void main()
{D d;}
A)constructA
destructA
B)constructA
constructA
destructA
destructA
C)constructA
constructA
constructA
destructA
destructA
destructA
D)constructA
constructA
constructA
constructA
destructA
destructA
destructA
destructA
(24)关于虚函数下面说的正确的是
A)若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数
B)虚函数不能声明为友元
C)子类必须重定义父类的虚函数
D)虚函数不能是static的
(25)如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为
A)(operator++(x)).operator/(y)
B)(operator++(0)).operator/(y)
C)operator/((operator++(x,0)),y)
D)operator/((operator++(0)),y)
(26)要想使23.78965421的输出为23.7887应用的语句是
A)cout << 23.78965421;
B)cout << fixed << 23.78965421;
C)cout << 23.78965421 -0.001;
D)cout << fixed << 23.78965421 - 0.001;
(27)有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A)a[p-a]
B)*(&a[i])
C)p[i]
D)*(*(a+i))
(28)有以下程序
#include
float fun(int x,int y)
{ return(x+y); }
void main()
{ int a=2,b=5,c=8;
cout << fun((int)fun(a+c,b),a-c);}
程序运行后的输出结果是
A)编译出错
B)9
C)21
D)9.0
(29)下列程序的运行结果是
#include
class Location {
private:
int X, Y;
public:
void init(int=0, int=0);
void valueX( int val ){X=val;}
int valueX(){ return X;}
void valueY(int val){Y=val;}
int valueY( ){return Y;}};
void Location::init(int initX, int initY)
{ X=initX;
Y=initY;}
void main( )
{ Location A,B;
A.init( );
A.valueX (5);
cout < B.init(6,2);
B.valueY (4);
cout< A)5
0
6
4
B)0
0
6
4
C)5
0
6
2
D)0
0
6
2
(30)在C++语言中,封装是借助于什么达到的?
A)结构
B)类
C)数组
D)函数
(31)在位运算中,操作数每左移一位,其结果相当于
A)操作数乘以2
B)操作数除以2
C)操作数除以4
D)操作数乘以4
(32)有如下程序
#include
#define N 2
#define M N+1
#define NUM 2*M+1
void main()
{ int i;
for(i=1;i<=NUM;i++)
cout << i;}
该程序中的for循环执行的次数是
A)5
B)6
C)7
D)8
(33)下列程序的输出结果是
#include
int b=2;
int func(int *a)
{ b += *a; return(b);}
void main()
{ int a=2, res=2;
res += func(&a);
cout << res;}
A)4
B)6
C)8
D)10
(34)所有在函数中定义的变量,连同形式参数,都属于
A)全局变量
B)局部变量
C)静态变量
D)寄存器变量
(35)有如下程序:
#include
long fib(int n)
{ if(n>2)return(fib(n-1)+fib(n-2));
else return (2);}
void main()
{ cout << fib (3);}
该程序的输出结果是
A)2
B)4
C)6
D)8
二、填空题。请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
(1)冒泡排序算法在最好的情况下的元素交换次数为 1 。
(2)在最坏情况下,堆排序需要比较的次数为 2 。
(3)若串s="MathTypes",则其子串的数目是 3 。
(4)软件开发环境是全面支持软件开发全过程的 4 集合。
(5)关系数据库的关系演算语言是以 5 为基础的DML语言。
(6)C++语言中关键字运算符有new,delete和 6 。
(7)将以下程序写成三目运算表达式是 7 。
if(a>b)max=a;
else max=b;
(8)以下程序的输出结果是 8 。
#include
void main()
{ char s[]="defghijk";s[4]=′\0′;
cout << s << endl;}
(9)下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。
#include
#include
void main()
{ char a[]="clanguage",t;
int i, j, k;
k=strlen(a);
for(i=0; i<=k-2; i+=2)
for(j=i+2; j<=k; 9 )
if ( 10 )
{ t=a[i]; a[i]=a[j]; a[j]=t; }
cout << a;
cout << endl;}
(10)静态成员函数可以直接访问类的 11 成员,不能直接访问类的 12 成员。
(11)请定义一个函数名为A,返回值为int,没有参数的纯虚函数的定义是 13 。
(12)表达式x.operator+(y.operator++(0))还可以写成 14 。
(13)假设fin是一个文件流对象,则关闭文件的语句是 15 。
【下半年全国计算机二级C++全真模拟试题】相关文章:
计算机二级C++模拟试题及答案09-22
全国计算机二级考试C++精选试题及答案08-17
全国计算机二级《C++》上机试题及答案08-15
2016年计算机二级C++上机模拟试题06-05
2015年计算机二级C++模拟试题(二)08-13
全国计算机二级考试C++巩固试题与答案10-03