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