- 相關(guān)推薦
2015下半年全國(guó)計(jì)算機(jī)二級(jí)C++全真模擬試題
點(diǎn)擊查看試題答案及解析
一、選擇題。在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)下列敘述中正確的是
A)線(xiàn)性表是線(xiàn)性結(jié)構(gòu)
B)棧與隊(duì)列是非線(xiàn)性結(jié)構(gòu)
C)線(xiàn)性鏈表是非線(xiàn)性結(jié)構(gòu)
D)二叉樹(shù)是線(xiàn)性結(jié)構(gòu)
(2)非空的循環(huán)單鏈表head的尾結(jié)點(diǎn)(由p所指向),滿(mǎn)足
A)p->next==NULL
B)p==NULL
C)p->next=head
D)p=head
(3)已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是
A)堆排序
B)直接插入排序
C)快速排序
D)直接選擇排序
(4)對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是
A)程序應(yīng)簡(jiǎn)單、清晰、可讀性好
B)符號(hào)名的命名只要符合語(yǔ)法
C)充分考慮程序的執(zhí)行效率
D)程序的注釋可有可無(wú)
(5)下列不屬于結(jié)構(gòu)化分析的常用工具的是
A)數(shù)據(jù)流圖
B)數(shù)據(jù)字典
C)判定樹(shù)
D)PAD圖
(6)在軟件生產(chǎn)過(guò)程中,需求信息的給出是
A)程序員
B)項(xiàng)目管理者
C)軟件分析設(shè)計(jì)人員
D)軟件用戶(hù)
(7)下列工具中為需求分析常用工具的是
A)PAD
B)PFD
C)N-S
D)DFD
(8)NULL是指
A)0
B)空格
C)未知的值或無(wú)任何值
D)空字符串
(9)數(shù)據(jù)庫(kù)的故障恢復(fù)一般是由
A)數(shù)據(jù)流圖完成的
B)數(shù)據(jù)字典完成的
C)DBA完成的
D)PAD圖完成的
(10)下列說(shuō)法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是
A)數(shù)據(jù)結(jié)構(gòu)
B)數(shù)據(jù)操作
C)數(shù)據(jù)查詢(xún)
D)數(shù)據(jù)約束
(11)面向?qū)ο蟪绦蛟O(shè)計(jì)思想的主要特征中不包括
A)繼承性
B)功能分解,逐步求精
C)封裝性和信息隱藏
D)多態(tài)性
(12)C++語(yǔ)言是以哪種語(yǔ)言為基礎(chǔ)逐漸發(fā)展演變而成的一種程序設(shè)計(jì)語(yǔ)言
A)ASP
B)C
C)VB
D)Java
(13)設(shè)變量a是int型,f是double型,i是float型,則表達(dá)式10+′a′+ i * f值的數(shù)據(jù)類(lèi)型
A)int
B)float
C)double
D)不確定
(14)能正確表示邏輯關(guān)系:"a≥10或a≤0"的C++語(yǔ)言表達(dá)式是
A)a>=10 or a<=0
B)a>=0|a<=10
C)a>=10 && a<=0
D)a>=10‖a<=0
(15)以下程序的輸出結(jié)果是
#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)若執(zhí)行下面的程序時(shí),從鍵盤(pán)上輸入5和2,則輸出結(jié)果是
#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);}
程序運(yùn)行后的輸出結(jié)果是
A)12
B)15
C)6
D)5
(18)若有說(shuō)明語(yǔ)句
char a[]="It is mine";
char *p="It is mine";
則以下不正確的敘述是
A)a+1表示的是字符t的地址
B)p指向另外的字符串時(shí),字符串的長(zhǎng)度不受限制
C)p變量中存放的地址值可以改變
D)a中只能存放10個(gè)字符
(19)以下程序的運(yùn)行結(jié)果是
#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)下列程序是用來(lái)判斷數(shù)組中特定元素的位置所在,則輸出結(jié)果為
#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)執(zhí)行下列程序段,結(jié)果是
#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)關(guān)于this指針的說(shuō)明不正確的是
A)不能在程序中修改this指針
B)this指針可以給其他指針賦值,但不能修改this指針
C)靜態(tài)成員函數(shù)中沒(méi)有this指針
D)this指針可以被賦值
點(diǎn)擊查看試題答案及解析
(23)下面程序的結(jié)果是
#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)關(guān)于虛函數(shù)下面說(shuō)的正確的是
A)若在重定義虛函數(shù)時(shí)使用了virtual,則該重定義函數(shù)還是虛函數(shù)
B)虛函數(shù)不能聲明為友元
C)子類(lèi)必須重定義父類(lèi)的虛函數(shù)
D)虛函數(shù)不能是static的
(25)如果表達(dá)式++x/y中,++是作為友元函數(shù)重載的,/是作為成員函數(shù)重載的,則該表達(dá)式還可為
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應(yīng)用的語(yǔ)句是
A)cout << 23.78965421;
B)cout << fixed << 23.78965421;
C)cout << 23.78965421 -0.001;
D)cout << fixed << 23.78965421 - 0.001;
(27)有以下語(yǔ)句,則對(duì)a數(shù)組元素的引用不正確的是(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);}
程序運(yùn)行后的輸出結(jié)果是
A)編譯出錯(cuò)
B)9
C)21
D)9.0
(29)下列程序的運(yùn)行結(jié)果是
#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++語(yǔ)言中,封裝是借助于什么達(dá)到的?
A)結(jié)構(gòu)
B)類(lèi)
C)數(shù)組
D)函數(shù)
(31)在位運(yùn)算中,操作數(shù)每左移一位,其結(jié)果相當(dāng)于
A)操作數(shù)乘以2
B)操作數(shù)除以2
C)操作數(shù)除以4
D)操作數(shù)乘以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循環(huán)執(zhí)行的次數(shù)是
A)5
B)6
C)7
D)8
(33)下列程序的輸出結(jié)果是
#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)所有在函數(shù)中定義的變量,連同形式參數(shù),都屬于
A)全局變量
B)局部變量
C)靜態(tài)變量
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);}
該程序的輸出結(jié)果是
A)2
B)4
C)6
D)8
二、填空題。請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡序號(hào)的橫線(xiàn)上,答在試卷上不給分。
(1)冒泡排序算法在最好的情況下的元素交換次數(shù)為 1 。
(2)在最壞情況下,堆排序需要比較的次數(shù)為 2 。
(3)若串s="MathTypes",則其子串的數(shù)目是 3 。
(4)軟件開(kāi)發(fā)環(huán)境是全面支持軟件開(kāi)發(fā)全過(guò)程的 4 集合。
(5)關(guān)系數(shù)據(jù)庫(kù)的關(guān)系演算語(yǔ)言是以 5 為基礎(chǔ)的DML語(yǔ)言。
(6)C++語(yǔ)言中關(guān)鍵字運(yùn)算符有new,delete和 6 。
(7)將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是 7 。
if(a>b)max=a;
else max=b;
(8)以下程序的輸出結(jié)果是 8 。
#include
void main()
{ char s[]="defghijk";s[4]=′\0′;
cout << s << endl;}
(9)下面程序的功能是將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變,請(qǐng)?zhí)羁铡?/p>
#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)靜態(tài)成員函數(shù)可以直接訪問(wèn)類(lèi)的 11 成員,不能直接訪問(wèn)類(lèi)的 12 成員。
(11)請(qǐng)定義一個(gè)函數(shù)名為A,返回值為int,沒(méi)有參數(shù)的純虛函數(shù)的定義是 13 。
(12)表達(dá)式x.operator+(y.operator++(0))還可以寫(xiě)成 14 。
(13)假設(shè)fin是一個(gè)文件流對(duì)象,則關(guān)閉文件的語(yǔ)句是 15 。
【下半年全國(guó)計(jì)算機(jī)二級(jí)C++全真模擬試題】相關(guān)文章:
計(jì)算機(jī)二級(jí)《MSOffice》全真模擬試題09-29
計(jì)算機(jī)二級(jí)C++模擬試題及答案09-22
2015年9月全國(guó)計(jì)算機(jī)二級(jí)C++筆試全真模擬題10-26
全國(guó)計(jì)算機(jī)二級(jí)考試C++精選試題及答案08-17
全國(guó)計(jì)算機(jī)二級(jí)《C++》上機(jī)試題及答案08-15
下半年全國(guó)計(jì)算機(jī)二級(jí)C++考試模擬題及答案06-27
2016年計(jì)算機(jī)二級(jí)C++上機(jī)模擬試題06-05
2016年計(jì)算機(jī)二級(jí)《C++》模擬試題及答案06-11