計(jì)算機(jī)二級(jí)C++模擬試題及答案
在日常學(xué)習(xí)和工作生活中,我們最離不開的就是試題了,試題可以幫助學(xué);蚋髦鬓k方考察參試者某一方面的知識(shí)才能。那么你知道什么樣的試題才能有效幫助到我們嗎?下面是小編收集整理的計(jì)算機(jī)二級(jí)C++模擬試題及答案,僅供參考,希望能夠幫助到大家。
計(jì)算機(jī)二級(jí)C++模擬試題及答案1
一、選擇題
1.樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是( )
A.有且只有1
B.1或多于1
C.0或1
D.至少2
【參考答案】A
2.在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一( )
A.不限制goto語句的使用
B.減少或取消注解行
C.程序越短越好
D.程序結(jié)構(gòu)應(yīng)有助于讀者理
【參考答案】D
3.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是( )
A.便于用戶、開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
【參考答案】D
4.單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為( )
A.外模式
B.概念模式
C.內(nèi)模式
D.存儲(chǔ)模式
【參考答案】A
5.SQL語言又稱為( )
A.結(jié)構(gòu)化定義語言
B.結(jié)構(gòu)化控制語言
C.結(jié)構(gòu)化查詢語言
D.結(jié)構(gòu)化操縱語言
【參考答案】C
6.若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問順序是( )
A.bdgcefha
B.gdbecfha
C.bdgaechf
D.gdbehfca
【參考答案】D
7.軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括軟件開發(fā)技術(shù)和( )
A.消除軟件危機(jī)
B.軟件工程管理
C.程序設(shè)計(jì)自動(dòng)化
D.實(shí)現(xiàn)軟件可重用
【參考答案】B
8.在軟件測(cè)試設(shè)計(jì)中,軟件測(cè)試的主要目的是( )
A.實(shí)驗(yàn)性運(yùn)行軟件
B.證明軟件正確
C.找出軟件中全部錯(cuò)誤
D.發(fā)現(xiàn)軟件錯(cuò)誤而執(zhí)行程序
【參考答案】D
9.索引屬于( )
A.模式
B.內(nèi)模式
C.外模式
D.概念模式
【參考答案】B
10.數(shù)據(jù)庫系統(tǒng)的核心是( )
A.數(shù)據(jù)庫
B.數(shù)據(jù)庫管理系統(tǒng)
C.模擬模型
D.軟件工程
【參考答案】B
11.下面關(guān)于類和對(duì)象的.描述中,錯(cuò)誤的是( )
A.類就是C語言中的結(jié)構(gòu)體類型,對(duì)象就是C語言中的結(jié)構(gòu)體變量
B.類和對(duì)象之間的關(guān)系是抽象和具體的關(guān)系
C.對(duì)象是類的實(shí)例,一個(gè)對(duì)象必須屬于一個(gè)已知的類
D.類是具有共同行為工的若干對(duì)象的統(tǒng)一描述體
【參考答案】A
12.設(shè)inta=10,b=11,c=12;,表達(dá)式(a+b)
A.2
B.0
C.-2
D.1
【參考答案】B
13.下列語句中不是死循環(huán)的是( )
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.下面關(guān)于數(shù)組的描述錯(cuò)誤的是( )
A.在C++語言中數(shù)組的名字就是指向該數(shù)組第一個(gè)元素的指針
B.長度為n的數(shù)組,下標(biāo)的范圍是0~n-1
C.數(shù)組的大小必須在編譯時(shí)確定
D.數(shù)組只能通過值參數(shù)和引用參數(shù)兩種方式傳遞給函數(shù)
【參考答案】D
15.下面的哪個(gè)選項(xiàng)不能作為函數(shù)的返回類型?( )
A.void
B.int
C.new
D.long
【參考答案】C
16.下列程序的輸出結(jié)果為( )
include
intfunc(intn)
{if(n<1)return1;
elsereturnn+func(n-1);
return0;}
voidmain( )
{cout<
A.0
B.10
C.15
D.16
【參考答案】D
17.以下程序中,錯(cuò)誤的行為( )
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.下面程序的運(yùn)行結(jié)果為( )
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的成員函數(shù)不得訪問類B的成員
D.類B不一定是類A的友元
【參考答案】D
20.建立派生類對(duì)象時(shí),3種構(gòu)造函數(shù)分別是a(基類的構(gòu)造函數(shù))、b(成員對(duì)象的構(gòu)造函數(shù))、c(派生類的構(gòu)造函數(shù))這3種構(gòu)造函數(shù)的調(diào)用順序?yàn)? )
A.abc
B.acb
C.cab
D.cba
【參考答案】A
21.下面關(guān)于模板的描述,錯(cuò)誤的是( )
A.函數(shù)模板和類模板的參數(shù)可以是任意的數(shù)據(jù)類型
B.類模板不能直接使用,必須先實(shí)例化為相應(yīng)的模板類,然后定義了模板類的對(duì)象后才能使用
C.函數(shù)模板不能直接使用,需要實(shí)例化為模板函數(shù)后才使用
D.類模板的成員函數(shù)都是模板函數(shù)
【參考答案】A
22.下面程序的運(yùn)行結(jié)果是( )
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.下列程序的運(yùn)行結(jié)果為( )
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++語言標(biāo)識(shí)符的是( )
A._1234
B.foo~~bar
C.virtua
D.34var
【參考答案】A
25.下列語句的輸出結(jié)果( )
cout<
A.5
B.14
C.8
D.輸出項(xiàng)不合法,無正常輸出
【參考答案】A
26.若有如下語句( )
include
voidmain( )
{intx=3;
do{
x=x-2;
cout<
}while(!(--x));
}
則上面程序段
A.輸出的是1
B.輸出的是1和-2
C.輸出的是3和0
D.是死循環(huán)
【參考答案】B
27.以下程序中調(diào)用cin函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是( )
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是一個(gè)指針變量
【參考答案】B
28.有以下程序
include
voidfun(inta,intb,intc)
{a=456,b=567,c=678;}
voidmain( )
{intx=10,y=20,z=30;
fun(x,y,z);
輸出結(jié)果是( )
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;
計(jì)算機(jī)二級(jí)C++模擬試題及答案2
1.若有以下數(shù)組說明,則i=10;a[a[i]]元素?cái)?shù)值是(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]]內(nèi)層的a[i],由于i=10,因此a[i]即a[10].
a[10]對(duì)應(yīng)下面數(shù)組中的元素為9. 因此a[a[i]]即為a[9]
a[9]對(duì)應(yīng)下面數(shù)組中的元素為6. 因此a[9]即為6
2.若有說明:int a[][3]={{1,2,3},{4,5},{6,7}}; 則數(shù)組a的第一維的大小為: ( B )
A、2
B、3
C、4
D、3 6 9
二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在本題中,按行對(duì)二維數(shù)組賦值,因此內(nèi)層有幾個(gè)大括號(hào),數(shù)組就有幾行
3.對(duì)二維數(shù)組的正確定義是(C )
詳見教材P149~152,二維數(shù)組的定義、初始化
類型符 數(shù)組名 [常量表達(dá)式][常量表達(dá)式]
二維數(shù)組可以看做是矩陣
類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識(shí)符命名規(guī)則;第一個(gè)常量表達(dá)式是指數(shù)組的行數(shù);第二個(gè)常量表達(dá)式是指數(shù)組的列數(shù);常量表達(dá)式的值只能是整數(shù),不可以是變量,而且從1開始計(jì)數(shù)。
一維數(shù)組初始化時(shí)可以省略數(shù)組長度
二維數(shù)組初始化時(shí)可以省略行數(shù),但不能省略列數(shù)
選項(xiàng)A,B,都省略了列數(shù)
選項(xiàng)D,不符合二維數(shù)組定義的一般形式,行、列常量表達(dá)式應(yīng)該放在不同的[]中
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];則對(duì)數(shù)組元素引用正確的是__C___
A、a[2][4]
B、a[1,3]
C、a[2][0]
D、a(2)(1)
5.C語言中函數(shù)返回值的類型是由 A 決定的.
A、函數(shù)定義時(shí)指定的類型
B、 return語句中的表達(dá)式類型
C、 調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型
D、形參的數(shù)據(jù)類型
6. 在C語言中,函數(shù)的數(shù)據(jù)類型是指(A )
A、 函數(shù)返回值的數(shù)據(jù)類型
B、 函數(shù)形參的數(shù)據(jù)類型
C、 調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型
D、任意指定的數(shù)據(jù)類型
7.在函數(shù)調(diào)用時(shí),以下說法正確的是( B )
A、函數(shù)調(diào)用后必須帶回返回值
B、實(shí)際參數(shù)和形式參數(shù)可以同名
C、函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量
D、主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個(gè)文件里
8. 在C語言中,表示靜態(tài)存儲(chǔ)類別的關(guān)鍵字是: ( C )
A、 auto
B、 register
C、static
D、extern
9.未指定存儲(chǔ)類別的變量,其隱含的存儲(chǔ)類別為(A )。
A、auto
B、static
C、extern
D、register
10. 若有以下說明語句:
struct student
{ int num;
char name[ ];
float score;
}stu;
則下面的敘述不正確的是: (D )
A、 struct是結(jié)構(gòu)體類型的關(guān)鍵字
B、 struct student 是用戶定義的結(jié)構(gòu)體類型
C、 num, score都是結(jié)構(gòu)體成員名
D、 stu是用戶定義的結(jié)構(gòu)體類型名
11.若有以下說明語句:
struct date
{ int year;
int month;
int day;
}brithday;
則下面的敘述不正確的是__C___.
A、 struct是聲明結(jié)構(gòu)體類型時(shí)用的關(guān)鍵字
B、 struct date 是用戶定義的結(jié)構(gòu)體類型名
C、 brithday是用戶定義的結(jié)構(gòu)體類型名
D、year,day 都是結(jié)構(gòu)體成員名
12. 以下對(duì)結(jié)構(gòu)變量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.設(shè)有如下定義:
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.設(shè)有以下說明語句:
typedef struct stu
{ int a;float b;} stutype;
則下面敘述中錯(cuò)誤的是( D )。
A、struct是結(jié)構(gòu)類型的關(guān)鍵字
B、struct stu是用戶定義的結(jié)構(gòu)類型
C、a和b都是結(jié)構(gòu)成員名
D、stutype是用戶定義的結(jié)構(gòu)體變量名
15.語句int xp;說明了 C 。
A、p是指向一維數(shù)組的指針
B、p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)
C、p是指向int型數(shù)據(jù)的指針
D、p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針
16、以下語句的輸出結(jié)果是( 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、下列程序的輸出結(jié)果是(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、執(zhí)行下面的程序后,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、設(shè)A為存放(短)整型的一維數(shù)組,如果A的.首地址為P,那么A中第i 個(gè)元素的地址為( B)。
A.P+ix2
B. P+(i-1)x2
C. P+(i-1)
D. P+i
20、下列程序執(zhí)行后輸出的結(jié)果是( 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、表達(dá)式:10!=9的值是(D )。
A. true
B. 非零值
C. 0
D. 1
22、若有說明: int i,j=7, xp=&i;, 則與i=j; 等價(jià)的語句是( B)。
A. i= xp;
B. xp=x&j;
C. i=&j;
D. i=x xp;
23、不能把字符串:Hello!賦給數(shù)組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. 對(duì)函數(shù)func的定義。
B. 對(duì)函數(shù)func的調(diào)用。
C.對(duì)函數(shù)func的原型說明。
D. 不合法的。
25、以下程序的輸出結(jié)果是( D)。
char str[15]=”hello!”;
printf(“%d ”,strlen(str));
A. 15
B. 14
C. 7
D. 6
26[單選題] 以下敘述中正確的是( )
A.用戶自己定義的函數(shù)只能調(diào)用庫函數(shù)
B.實(shí)用的C語言源程序總是由一個(gè)或多個(gè)函數(shù)組成
C.不同函數(shù)的形式參數(shù)不能使用相同名稱的標(biāo)識(shí)符
D.在C語言的函數(shù)內(nèi)部,可以定義局部嵌套函數(shù)
參考答案:B
參考解析:A選項(xiàng)中,”用戶自己定義的函數(shù)只能調(diào)用庫函數(shù)”描述是不正確的,也可以調(diào)用自定義函數(shù);C選項(xiàng)中,對(duì)于不同函數(shù)的形式參數(shù)可以使用相同名稱的標(biāo)識(shí)符;D選項(xiàng)中,關(guān)于函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。因此B選項(xiàng)正確。
27[單選題] 以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯(cuò)誤的是( )。
A.若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型
B.若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類型
C.若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型
D.整數(shù)類型表示的自然數(shù)是準(zhǔn)確無誤差的
參考答案:C
參考解析:C語言中沒有邏輯類型,所以c錯(cuò)誤。若要保存帶有多位小數(shù)的數(shù)據(jù),可以用單精度類型也可以用雙精度類型。處理包含不同類型的相關(guān)數(shù)據(jù)可以定義為結(jié)構(gòu)體類型。整數(shù)類型可以無誤差的表示自然數(shù)。
28[單選題] 下面選項(xiàng)中關(guān)于編譯預(yù)處理的敘述正確的是
A.預(yù)處理命令行必須使用分號(hào)結(jié)尾
B.凡是以號(hào)開頭的行,都被稱為編譯預(yù)處理命令行
C.預(yù)處理命令行不能出現(xiàn)在程序的最后一行
D.預(yù)處理命令行的作用域是到最近的函數(shù)結(jié)束處
參考答案:B
參考解析:本題考查預(yù)編譯的預(yù)編譯處理命令行,預(yù)處理命令行不能以分號(hào)結(jié)尾,所以A選項(xiàng)錯(cuò)誤,預(yù)處理命令行可以出現(xiàn)在程序的最后一行,預(yù)處理命令行作用域是整個(gè)文件。
29[單選題] 有以下程序
程序的輸出結(jié)果是
A.0B.1C.9D.10
參考答案:B
參考解析:本題考查宏定義,宏定義只是做個(gè)簡單的替換。執(zhí)行SQR(k+m)/SQR(k+m)=k+mxk+m/k+m}k+m=15/2,a/=SQR(k+m)/SQR(k+1TI)的結(jié)果為1,選項(xiàng)B正確。
30[單選題] 設(shè)--X樹共有150個(gè)結(jié)點(diǎn),其中度為l的結(jié)點(diǎn)有l(wèi)0個(gè),則該---X樹中的葉子結(jié)點(diǎn)數(shù)為( )。
A.71B.70C.69D.不可能有這樣的二叉樹
參考答案:D
參考解析:在樹結(jié)構(gòu)中,一個(gè)結(jié)點(diǎn)所擁有的后件個(gè)數(shù)稱為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)中最大的度稱為樹的度。對(duì)任何一棵二叉樹,度為0的結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)。如果有一棵二叉樹,結(jié)點(diǎn)總數(shù)為l50,假設(shè)度為0的結(jié)點(diǎn)個(gè)數(shù)為n,則有n+10+n一1=150,n=70.5,由于結(jié)點(diǎn)個(gè)數(shù)必須是整數(shù),所以不可能有題目中這樣的二叉樹。故選擇D選項(xiàng)。
31[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.2.3B.1,3C.1,4D.1,2
參考答案:B
參考解析:在f(int+P,int 4 q)函數(shù)中,執(zhí)行P=P+1是將P所對(duì)應(yīng)的地址加1,而0 q=+q+1是將q所指向的n的地址所對(duì)應(yīng)的值加1,所以m的得知所對(duì)應(yīng)的值沒有變,而n的值則為3了。因此B選項(xiàng)正確。
32[單選題] 以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是( )。
A.-0-B.8-;8C.voidD.unsigned
參考答案:A
參考解析:C語言中標(biāo)識(shí)符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識(shí)符。8中以數(shù)字8開頭,所以錯(cuò)誤。c與D中用的是關(guān)鍵字void與unsigned,所以錯(cuò)誤。
33[單選題] 以下敘述正確的是( )。
A.表達(dá)式sizeof(FILEx)==sizeof(intx)的值為真
B.文件指針的值是一個(gè)整數(shù),它的值一定小于文件字節(jié)數(shù)
C.文件指針的值是所指文件的當(dāng)前讀取位置
D.使用fscanf函數(shù)可以向任意類型的文件中寫入任意數(shù)量的字符
參考答案:A
參考解析:
slzeof(FILE})=4,因?yàn)閒ile·為指針,指針的大小4,sizeof(int·)=4,理由同前面。文件指針的值是地址,是一個(gè)16進(jìn)制的數(shù),它的值不一定小于文件字節(jié)數(shù),因此選項(xiàng)8錯(cuò)誤。文件指針是所指文件的當(dāng)前讀取位置,而不是文件指針的值因此選項(xiàng)C錯(cuò)誤。mgscanf(FILE-stream,constchar}format,[argument…]fmanf函數(shù)可以向任意類型的文件,寫入任意數(shù)量不能超過系統(tǒng)的緩沖區(qū),寫文件先寫入緩沖區(qū),最后一起寫入文件,因此選項(xiàng)D錯(cuò)誤。答案為A選項(xiàng)。
【計(jì)算機(jī)二級(jí)C++模擬試題及答案】相關(guān)文章:
2016計(jì)算機(jī)二級(jí)C++上機(jī)模擬試題及答案07-16
2016年計(jì)算機(jī)二級(jí)《C++》模擬試題及答案06-11
計(jì)算機(jī)二級(jí)c++試題及答案08-27
2016年計(jì)算機(jī)二級(jí)考試C++模擬試題及答案07-01
2015年計(jì)算機(jī)二級(jí)C++模擬試題及答案(五)07-08
2015年計(jì)算機(jī)二級(jí)C++模擬試題及答案(三)07-13
計(jì)算機(jī)二級(jí)《C++》上機(jī)試題及答案08-12