- 相關(guān)推薦
3月計(jì)算機(jī)二級(jí)考試《C++》真題
在社會(huì)的各個(gè)領(lǐng)域,我們都離不開(kāi)試題,借助試題可以對(duì)一個(gè)人進(jìn)行全方位的考核。什么樣的試題才是科學(xué)規(guī)范的試題呢?下面是小編幫大家整理的3月計(jì)算機(jī)二級(jí)考試《C++》真題,僅供參考,歡迎大家閱讀。
3月計(jì)算機(jī)二級(jí)考試《C++》真題 1
一、選擇題
(1)下列關(guān)于棧敘述正確的是
A)棧頂元素最先能被刪除
B)棧頂元素最后才能被刪除
C)棧底元素永遠(yuǎn)不能被刪除
D)以上三種說(shuō)法都不對(duì)
(2)下列敘述中正確的是
A)有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
B)只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)
C)循環(huán)鏈表是非線性結(jié)構(gòu)
D)雙向鏈表是非線性結(jié)構(gòu)
(3)某二叉樹(shù)共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹(shù)的深度為(假設(shè)根結(jié)點(diǎn)在第1層)
A)3
B)4
C)6
D)7
(4)在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是
A)軟件集成測(cè)試計(jì)劃
B)軟件詳細(xì)設(shè)計(jì)說(shuō)明書(shū)
C)用戶手冊(cè)
D)軟件需求規(guī)格說(shuō)明書(shū)
(5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括
A)順序結(jié)構(gòu)
B)GOTO跳轉(zhuǎn)
C)選擇(分支)結(jié)構(gòu)
D)重復(fù)(循環(huán))結(jié)構(gòu)
(6)下面描述中錯(cuò)誤的是
A)系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)
B)軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過(guò)程
C)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一
D)PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具
(7)負(fù)責(zé)數(shù)據(jù)庫(kù)中查詢操作的數(shù)據(jù)庫(kù)語(yǔ)言是
A)數(shù)據(jù)定義語(yǔ)言
B)數(shù)據(jù)管理語(yǔ)言
C)數(shù)據(jù)操縱語(yǔ)言
D)數(shù)據(jù)控制語(yǔ)言
(8)一個(gè)教師可講授多門(mén)課程,一門(mén)課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是
A)1:1聯(lián)系
B)1:m聯(lián)系
C)m:1聯(lián)系
D)m:n聯(lián)系
(9)有三個(gè)關(guān)系R、S和T,則由關(guān)系R和S得到關(guān)系T的操作是
A)自然連接
B)交
C)除
D)并
(10)定義無(wú)符號(hào)整數(shù)類(lèi)為UInt,下面可以作為類(lèi)UInt實(shí)例化值的是
A)-369
B)369
C)0.369
D)整數(shù)集合{1,2,3,4,5}
(11)為了提高函數(shù)調(diào)用的實(shí)際運(yùn)行速度,可以將較簡(jiǎn)單的函數(shù)定義為
A)內(nèi)聯(lián)函數(shù)
B)重載函數(shù)
C)遞歸函數(shù)
D)函數(shù)模板
(12)若AA為一個(gè)類(lèi),a為該類(lèi)的非靜態(tài)數(shù)據(jù)成員,在該類(lèi)的一個(gè)成員函數(shù)定義中訪問(wèn)a時(shí),其書(shū)寫(xiě)格式為
A)a
B)AA.a
C)a()
D)AA::a()
(13)當(dāng)派生類(lèi)從一個(gè)基類(lèi)保護(hù)繼承時(shí),基類(lèi)中的一些成員在派生類(lèi)中成為保護(hù)成員,這些成員在基類(lèi)中原有的訪問(wèn)屬性是
A)任何
B)公有或保護(hù)
C)保護(hù)或私有
D)私有
(14)若要對(duì)Data類(lèi)中重載的加法運(yùn)算符成員函數(shù)進(jìn)行聲明,下列選項(xiàng)中正確的是
A)Data+(Data);
B)Data operator+(Data);
C)Data+operator(Data);
D)operator+(Data,Data);
(15)下列關(guān)于函數(shù)模板的描述中,正確的是
A)函數(shù)模板是一個(gè)實(shí)例函數(shù)
B)使用函數(shù)模板定義的函數(shù)沒(méi)有返回類(lèi)型
C)函數(shù)模板的類(lèi)型參數(shù)與函數(shù)的參數(shù)相同
D)通過(guò)使用不同的類(lèi)型參數(shù),可以從函數(shù)模板得到不同的實(shí)例函數(shù)
(16) C++系統(tǒng)預(yù)定義了4個(gè)用于標(biāo)準(zhǔn)數(shù)據(jù)流的對(duì)象,下列選項(xiàng)中不屬于此類(lèi)對(duì)象的是
A)cout
B)cin
C)cerr
D)cset
(17)Windows環(huán)境下,由C++源程序文件編譯而成的目標(biāo)文件的擴(kuò)展名是
A)cpp
B)exe
C)obj
D)lik
(18)字符串“a+b=12\n\t”的長(zhǎng)度為
A)12
B)10
C)8
D)6
(19)有如下程序:
#include
using namespace std;
int main(){
int f,f1=0,f2=1;
for(int i=3;i<=6;i++){
f=f1+f2;
f1=f2;f2=f;
}
cout< return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是
A)2
B)3
C)5
D)8
(20)有如下程序:
#include
using namespace std;
int main(){
int a[6]={23,15,64,33,40,58};
int s1,s2;
s1=s2=a[0];
for(int* p=a+1;p if(s1>*p) s1=*p;
if(s2<*p) s2=*p;
}
cout< return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是
A)23
B)58
C)64
D)79
(21)有如下程序:
#include
using namespace std;
void f1(int& x,int& y) {int z=x; x=y; y=z;}
void f2(int x;int y) {int z=x; x=y; y=z;}
int main(){
int x=10,y=26;
f1(x,y);
f2(x,y);
cout< return 0;
}
運(yùn)行時(shí)的'輸出結(jié)果是
A)10
B)16
C)26
D)36
(22)有如下程序:
#include
using namespace std;
class XA{
int a;
public:
static int b;
XA(int aa):a(aa) {b++;}
~XA(){}
int get(){return a;}
};
int XA::b=0;
int main(){
XA d1(2),d2(3);
cout< return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是
A)5
B)6
C)7
D)8
(23)有如下程序:
#include
using namespace std;
class Point{
int x,y;
public:
Point(int x1=0,int y1=0):x(x1),y(y1){}
int get(){return x+y;}
};
class Circle{
Point center;
int radius;
public:
Circle(int cx,int cy,int r):center(cx,cy),raaius(r){}
int get(){return center.get()+radius;}
};
int main(){
Circle c(3,4,5);
cout< return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是
A)5
B)7
C)9
D)12
(24)若要對(duì)類(lèi)BigNumber中重載的類(lèi)型轉(zhuǎn)換運(yùn)算符long進(jìn)行聲明,下列選項(xiàng)中正確的是
A)operator long() const;
B)operator long(BigNumber);
C)long operator long() const;
D)long operator long(BigNumber);
(25)有如下函數(shù)模板定義:
template
T1 FUN(T2 n){return n*5.0;}
若要求以int型數(shù)據(jù)9作為函數(shù)實(shí)參調(diào)用該模板,并返回一個(gè)double型數(shù)據(jù),則該調(diào)用應(yīng)表示為
A)FUN(9)
B)FUN<9>
(26)下列語(yǔ)句都是程序運(yùn)行時(shí)的第1條輸出語(yǔ)句,其中一條語(yǔ)句的輸出效果與其他三條語(yǔ)句不同,該語(yǔ)句是
A)cout< B)cout< C)cout< D)cout<
(27)下列關(guān)于析構(gòu)函數(shù)的描述中,錯(cuò)誤的是
A)析構(gòu)函數(shù)可以重載
B)析構(gòu)函數(shù)由系統(tǒng)自動(dòng)調(diào)用
C)每個(gè)對(duì)象的析構(gòu)函數(shù)只被調(diào)用一次
D)每個(gè)類(lèi)都有析構(gòu)函數(shù)
(28)下列關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是
A)構(gòu)造函數(shù)名與類(lèi)名相同
B)構(gòu)造函數(shù)可以有返回值
C)構(gòu)造函數(shù)可以重載
D)每個(gè)類(lèi)都有構(gòu)造函數(shù)
(29)若PAT是一個(gè)類(lèi),則程序運(yùn)行時(shí),語(yǔ)句“PAT(*ad)[3];”調(diào)用PAT的構(gòu)造函數(shù)的次數(shù)是
A)0
B)1
C)2
D)3
(30)下列描述中,錯(cuò)誤的是
A)公有繼承時(shí)基類(lèi)中的公有成員在派生類(lèi)中仍是公有成員
B)公有繼承時(shí)基類(lèi)中的保護(hù)成員在派生類(lèi)中仍是保護(hù)成員
C)保護(hù)繼承時(shí)基類(lèi)中的公有成員在派生類(lèi)中仍是公有成員
D)保護(hù)繼承時(shí)基類(lèi)中的保護(hù)成員在派生類(lèi)中仍是保護(hù)成員
(31)生成派生類(lèi)對(duì)象時(shí),派生類(lèi)構(gòu)造函數(shù)調(diào)用基類(lèi)構(gòu)造函數(shù)的條件是
A)無(wú)需任何條件
B)基類(lèi)中顯式定義了構(gòu)造函數(shù)
C)派生類(lèi)中顯式定義了構(gòu)造函數(shù)
D)派生類(lèi)構(gòu)造函數(shù)明確調(diào)用了基類(lèi)構(gòu)造函數(shù)
(32)下列關(guān)于派生類(lèi)和基類(lèi)的描述中,正確的是
A)派生類(lèi)成員函數(shù)只能訪問(wèn)基類(lèi)的公有成員
B)派生類(lèi)成員函數(shù)只能訪問(wèn)基類(lèi)的公有和保護(hù)成員
C)派生類(lèi)成員函數(shù)可以訪問(wèn)基類(lèi)的所有成員
D)派生類(lèi)對(duì)基類(lèi)的默認(rèn)繼承方式是公有繼承
(33)有如下類(lèi)模板定義:
template
class BigNumber{
long n;
public:
BigNumber(T i):n(i){}
BigNumber operator+(BigNumber b){
return BigNumber(n+b.n);
}
};
己知b1、b2是BigNumber的兩個(gè)對(duì)象,則下列表達(dá)式中錯(cuò)誤的是
A)bl+b2
B)b1+3
C)3+b1
D)3+3
(34)下列關(guān)于文件流的描述中,正確的是
A)文件流只能完成針對(duì)磁盤(pán)文件的輸入輸出
B)建立一個(gè)文件流對(duì)象時(shí),必須同時(shí)打開(kāi)一個(gè)文件
C)若輸入流要打開(kāi)的文件不存在,將建立一個(gè)新文件
D)若輸出流要打開(kāi)的文件不存在,將建立一個(gè)新文件
(35)有如下程序:
#include
using namespace std;
class Pair{
int m,n;
public:
Pair(int j,int k):m(j),n(k){}
int get() {return m;}
int get() const {return m+n;}
};
int main(){
Pair a(3,5);
const Pair b(3,5);
cout+a.get()< return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是
A)33
B)38
C)83
D)88
二、填空題
(1)有序線性表能進(jìn)行二分查找的前提是該線性表必須是 【1】 存儲(chǔ)的。
(2)一棵二叉樹(shù)的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF。則后序遍歷結(jié)果為 【2】 。
(3)對(duì)軟件設(shè)計(jì)的最小單位(模塊或程序單元)進(jìn)行的測(cè)試通常稱為 【3】 測(cè)試。
(4)實(shí)體完整性約束要求關(guān)系數(shù)據(jù)庫(kù)中元組的 【4】 屬性值不能為空。
(5)在關(guān)系A(chǔ)(S,SN,D)和關(guān)系B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)鍵字是D,則稱 【5】 是關(guān)系A(chǔ)的外碼。
(6)若有定義語(yǔ)句“int x=10,y=20,z=20;”,則表達(dá)式x>z&&y==z的值為 【6】 。
(7)有如下語(yǔ)句序列:
int x=-10;while(++x){ }
運(yùn)行時(shí)while循環(huán)體的執(zhí)行次數(shù)為 【7】 。
(8)有如下語(yǔ)句序列:
int arr[2][2]={{9,8},{7,6}};
int *p=arr[0]+1; cout<<*p< 運(yùn)行時(shí)的輸出結(jié)果是 【8】 。
(9)函數(shù)fun的功能是將一個(gè)數(shù)字字符串轉(zhuǎn)換為一個(gè)整數(shù),請(qǐng)將函數(shù)補(bǔ)充完整。
int fun(char *str){
int num=0;
while(*str){
num*=10;
num+= 【9】 ;
str++;
}
return num;
}
(10)若要將函數(shù)“void FriFun();”聲明為類(lèi)MyClass的友元函數(shù),則應(yīng)在類(lèi)MyClass的定義中加入語(yǔ)句 【10】 。
(11)下列程序的輸出結(jié)果為012,請(qǐng)根據(jù)注釋將橫線處的缺失部分補(bǔ)充完整。
#include
using namespace std;
class Test{
public:
Test(int a) {data=a;}
~Test() {}
void print(){cout< private:
int data;
};
int main(){
Test t[3]={ 【11】 };//對(duì)有3個(gè)元素的Test類(lèi)對(duì)象數(shù)組t初始化t[i].print();
for(int i=0;i<3;i++)
return 0;
}
(12)請(qǐng)?jiān)跈M線處填寫(xiě)派生類(lèi)Derived的繼承方式,使得程序的輸出結(jié)果為Base。
#include
using namespace std;
class Base{
public:
void print(){cout<<"Base";}
};
class Derived: 【12】 Base{};
int main(){
Derived d;
d.print();
return 0;
}
(13)下列程序的輸出結(jié)果為1 2.3 2 4.6,請(qǐng)將橫線處的缺失部分補(bǔ)充完整。
#include
using namespace std;
class Base{
public:
Base(int a):idata(a){}
void print(){cout< private:
int idata;
};
class Derived:public Base{
public:
Derived(int a;double b): 【13】 ,ddata(b){}
void print(){Base::print();cout< private:
double ddata;
};
int main(){
Derived dl(1,2.3),d2(2,4.6);
d1.print();
d2.print();
return 0;
}
(14)下列程序的輸出結(jié)果為-5/8 -3/4,請(qǐng)將橫線處的缺失部分補(bǔ)充完整。
#include
using namespace std;
class Fraction{ //“分?jǐn)?shù)”類(lèi)
public:
Fraction(double a,double b):num(a),den(b){}
~Fraction(){}
//重載取負(fù)運(yùn)算符“-”,返回一個(gè)分?jǐn)?shù)對(duì)象,其分子是原來(lái)分子的相反數(shù)。
Fraction operator-(){
【14】
return f;
}
void print(){ cout< private:
double num; //分子
double den; //分母
};
int main(){
Fraction f1(5;8),f2(3,4);
(-f1).print();(-f2).print();
return 0;
}
(15)函數(shù)Min的功能是返回具有n個(gè)元素的數(shù)組array中的最小值。請(qǐng)將橫線處的缺失部分補(bǔ)充完整,使得程序的輸出結(jié)果為1.24。
#include
using namespace std;
template
T Min(T* array,int n){
T min=array[0];
for(int i=1;i if(array[i] return min;
}
int main(){
double arr[8]={5.2,48.45,41.01,42,51.2,1.24,14.12,42};
cout<< 【15】 ;
return 0;
}
3月計(jì)算機(jī)二級(jí)考試《C++》真題 2
一、選擇題((1)—(10)、(21)—(40)每題2分,(11)—(20)每題1分,共70分)
。1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是
A.循環(huán)隊(duì)列
B.帶鏈隊(duì)列
C.二叉樹(shù)
D.帶鏈棧
。2)下列數(shù)據(jù)結(jié)果中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是
A.循環(huán)隊(duì)列
B.棧
C.隊(duì)列
D.二叉樹(shù)
。3)對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是
A.隊(duì)頭指針是固定不變的
B.隊(duì)頭指針一定大于隊(duì)尾指針
C.隊(duì)頭指針一定小于隊(duì)尾指針
D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
。4)算法的空間復(fù)雜度是指
A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語(yǔ)句或指令條數(shù)
D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
。5)軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是
A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D. 高內(nèi)聚高耦合
。6)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是
A.可封裝的
B. 自頂向下
C.模塊化
D. 逐步求精
。7)軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如下:
該圖是
A.N-S圖
B.PAD圖
C.程序流程圖
D. E-R圖
。8)數(shù)據(jù)庫(kù)管理系統(tǒng)是
A.操作系統(tǒng)的一部分
B.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D. 一種操作系統(tǒng)
(9)在E-R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是
A.橢圓圖
B.矩形
C.菱形
D. 三角形
。10)有三個(gè)關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和S通過(guò)某種操作得到,該操作為
A.選擇
B.投影
C.交
D.并
。11)以下敘述中正確的是
A.程序設(shè)計(jì)的.任務(wù)就是編寫(xiě)程序代碼并上機(jī)調(diào)試
B.程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)
C.程序設(shè)計(jì)的任務(wù)就是確定所用算法
D.以上三種說(shuō)法都不完整
(12)以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是
A.void
B.8_8
C._0_
D.unsigned
。13)閱讀以下程序
#include
main()
{ int case; float printF;
printf(“請(qǐng)輸入2個(gè)數(shù):”);
scanf(“%d %f”,&case,&pjrintF);
printf(“%d %f ”,case,printF);
}
該程序編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是
A.定義語(yǔ)句出錯(cuò),case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符
B.定義語(yǔ)句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符
C.定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用
D.定義語(yǔ)句無(wú)錯(cuò),printf不能輸出case的值
。14)表達(dá)式:(int)((double)9/2)-(9)%2的值是
A.0
B.3
C.4
D.5
(15)若有定義語(yǔ)句:int x=10;,則表達(dá)式x-=x+x的值為
A.-20
B.-10
C.0
D.10
。16)有以下程序
#include
main()
{ int a=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d ”,a=2*b);
}
程序運(yùn)行后的輸出結(jié)果是
A.0,0
B.1,0
C.3,2
D.1,2
17)設(shè)有定義:int a=1,b=2,c=3;,以下語(yǔ)句中執(zhí)行效果與其它三個(gè)不同的是
A.if(a>B. c=a,a=b,b=c;
B.if(a>B. {c=a,a=b,b=c;}
C.if(a>B. c=a;a=b;b=c;
D.if(a>B. {c=a;a=b;b=c;}
。18)有以下程序
#include
main()
{ int c=0,k;
for (k=1;k<3;k++)
switch (k)
{ default: c+=k
case 2: c++;break;
case 4: c+=2;break;
}
printf(“%d ”,C.;
}
程序運(yùn)行后的輸出結(jié)果是
A.3
B.5
C.7
D.9
。19)以下程序段中,與語(yǔ)句:k=a>b?(b>c?1:0):0;功能相同的是
A.if((a>b)&&(b>C.) k=1;
else k=0;
B.if((a>b)||(b>C. k=1;
else k=0;
C.if(a<=B. k=0;
else if(b<=C.k=1;
D.if(a>B. k=1;
else if(b>C.k=1;
else k=0;
20)有以下程序
#include
main()
{ char s[]={“012xy”};int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>=’a’&&s[i]<=’z’) n++;
printf(“%d ”,n);
}
程序運(yùn)行后的輸出結(jié)果是
A.0
B.2
C.3
D.5
。21)有以下程序
#include
main()
{ int n=2,k=0;
while(k++&&n++>2);
printf(“%d %d ”,k,n);
}
程序運(yùn)行后的輸出結(jié)果是
A.0 2
B.1 3
C.5 7
D.1 2
(22)有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是
A.char a=’a’;
B.char a=’ ’;
C.char a=’aa’;
D.char a=’x2d’;
。23)有以下程序
#include
main()
{ char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%d ”,c1,c2);
}
已知字母A的ASCII碼為65,程序運(yùn)行后的輸出結(jié)果是
A.E,68
B.D,69
C.E,D
D.輸出無(wú)定值
。24)有以下程序
#include
void fun(int p)
{ int d=2;
p=d++; printf(“%d”,p);}
main()
{ int a=1;
fun(a); printf(“%d ”,a);}
程序運(yùn)行后的輸出結(jié)果是
A.32
B.12
C.21
D.22
。25)以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能
#define MIN -2147483647
int findmax (int x[],int n)
{ int i,max;
for(i=0;i
{ max=MIN;
if(max
return max;
}
造成錯(cuò)誤的原因是
A.定義語(yǔ)句int i,max;中max未賦初值
B.賦值語(yǔ)句max=MIN;中,不應(yīng)給max賦MIN值
C.語(yǔ)句if(max
D.賦值語(yǔ)句max=MIN;放錯(cuò)了位置
。26)有以下程序
#include
main()
{ int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(“%d,%d,%d,%d ”,m,n,*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是
A.1,2,1,2
B.1,2,2,1
C.2,1,2,1
D.2,1,1,2
。27)若有定義語(yǔ)句:int a[4][10],*p,*q[4];且0≤i<4,則錯(cuò)誤的賦值是
A.p=a
B.q[i]=a[i]
C.p=a[i]
D.p=&a[2][1]
(28)有以下程序
#include
#include
main()
{ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];
printf(“%d,”,strlen(p));printf(“%s ”,p);
}
程序運(yùn)行后的輸出結(jié)果是
A.9,One*World
B.9,One*Dream
C.10,One*Dream
D.10,One*World
。29)有以下程序
#include
main()
{ int a[ ]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0:switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i[=0;
}
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“ ”);
}
A.3 3 4 4
B.2 0 5 0
C.3 0 4 0
D.0 3 0 4
。30)有以下程序
#include
#include
main()
{ char a[10]=”abcd”;
printf(“%d,%d ”,strlen(a),sizeof(a));
}
程序運(yùn)行后的輸出結(jié)果是
A.7,4
B.4,10
C.8,8
D.10,10
(31)下面是有關(guān)C語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是
A.不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串
B.可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組
C.字符數(shù)組中的內(nèi)容不一定是字符串
D.字符數(shù)組只能存放字符串
(32)下列函數(shù)的功能是
fun(char * a,char * b)
{ while((*b=*a)!=’’) {a++,b++;} }
A.將a所指字符串賦給b所指空間
B.使指針b指向a所指字符串
C.將a所指字符串和b所指字符串進(jìn)行比較
D.檢查a和b所指字符串中是否有’’
。33)設(shè)有以下函數(shù)
void fun(int n,char * s) {……}
則下面對(duì)函數(shù)指針的定義和賦值均是正確的是
A.void (*pf)(); pf=fun;
B.viod *pf(); pf=fun;
C.void *pf(); *pf=fun;
D.void (*pf)(int,char);pf=&fun;
(34)有以下程序
#include
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);printf(“%d ”,s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
程序運(yùn)行以后的輸出結(jié)果是
A.7
B.8
C.9
D.10
。35)有以下程序
#include
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf(“%d,%d ’,s,t);
}
程序運(yùn)行后的輸出結(jié)果是
A.10,64
B.10,10
C.64,10
D.64,64
。36)下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是
A.struct ord {int x;int y;int z;}; struct ord a;
B.struct ord {int x;int y;int z;} struct ord a;
C.struct ord {int x;int y;int z;} a;
D.struct {int x;int y;int z;} a;
(37)設(shè)有定義:char *c;,以下選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的是
A.char str[ ]=”string”;c=str;
B.scanf(“%s”,C.;
C.c=get);
D.*c=”string”;
(38)有以下程序
#include
#include
struct A
{ int a; char b[10]; double c;};
struct A f(struct A t);
main()
{ struct A a={1001,”ZhangDa”,1098.0};
a=f(a);jprintf(“%d,%s,%6.1f ”,a.a,a.b,a.C.;
}
struct A f(struct A t)
( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )
程序運(yùn)行后的輸出結(jié)果是
A.1001,ZhangDa,1098.0
B.1001,ZhangDa,1202.0
C.1001,ChangRong,1098.0
D.1001,ChangRong,1202.0
。39)若有以下程序段
int r=8;
printf(“%d ”,r>>1);
輸出結(jié)果是
A.16
B.8
C.4
D.2
。40)下列關(guān)于C語(yǔ)言文件的敘述中正確的是
A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D.文件由字符序列組成,其類(lèi)型只能是文本文件
【3月計(jì)算機(jī)二級(jí)考試《C++》真題】相關(guān)文章:
3月計(jì)算機(jī)二級(jí)考試《VFP》真題09-30
3月計(jì)算機(jī)二級(jí)考試《Access》真題12-05
9月計(jì)算機(jī)二級(jí)考試VB真題10-11
2011年3月計(jì)算機(jī)二級(jí)考試《C語(yǔ)言》真題08-17
2012年9月計(jì)算機(jī)二級(jí)考試VB真題11-08
2011年9月計(jì)算機(jī)二級(jí)考試ACCESS真題09-10
2024年9月計(jì)算機(jī)二級(jí)考試Access真題09-26