




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
試題說明
本套試題共包括1套試卷
每題均顯示答案和解析
C++開發基礎練習題及答案5(500題)
C++開發基礎練習題及答案5
L[單選題]當一個類A中沒有聲明任何成員變量與成員函數,sizeof(A)的值是多少?
A)0
B)1
04
答案:B
解析:
2.[單選題]冒泡排序的時間復雜度
A)0(n)
B)O(logN)
C)O(n)
答案:C
解析:
3.[單選題]數據結構中,對于希爾排序的組內排序采用的方式是。
A)冒泡排序
B)折半插入排序
C)快速排序
D)以上都不對
答案:D
解析:
4.[單選題]在循環中使用break語句的功能是()。
A)使程序的執行跳出break所在的那一重循環
B)使程序執行結束
C)跳出包含此break語句的所有循環
D)終止本次循環,繼續下次循環
答案:A
解析:
5.[單選題]關于delete運算符的下列描述中,()是錯誤的。
A)它必須用于new返回的指針;
B)使用它刪除對象時要調用析構函數;
C)對一個指針可以使用多次該運算符;
D)指針名前只有一對方括號符號,不管所刪除數組的維數。
答案:C
解析:
6.[單選題]
已知函數swap定義的定義為:voidswap(int
A,intb){intt=a;a=b;b=t;}
下列語句的輸出是:
Intx=5,y=10;
Swap(x,y);
Cout<<x<<""?y<<endl;
A)105
B)510
C)55
D)1010
答案:B
解析:
7.[單選題]要聲明一個有10個int型元素的數組,正確的語句是()
A)inta[10]
B)inta[2,5]
C)inta[]
D)int*a[10]
答案:A
解析:
8.[單選題]關于對象概念的描述中,說法錯誤的是()
A)對象就是C語言中的結構體
B)對象代表著正在創建的系統中的一個實體
C)對象是類的一個變量
D)對象之間的信息傳遞是通過消息進行的
答案:A
解析:類是對現實世界中客觀事物的抽象。
對象是系統中用來描述客觀事物的一個實體。故A錯誤,B正確。
對象是類的一個具象,類是對象的一個抽象。對象是類的實例,是類的一個變量。故C正確。
對象之間通過消息進行信息傳遞,故D正確。
9.[單選題]設存在函數intmin(int,int)返回兩參數中較小值,若求15,26,47三者中最小值,下
列表達式中錯誤的是O
A)intm=min(min(15,26),min(15,47));
B)intm=min(15,26,47);
C)intm=min(15,min(47,26));
D)intm=min(min(47,26),16);
答案:B
解析:函數的使用中參數的類型與個數應與聲明中保持一致。函數形參只有兩個參數,B選項傳遞了
3個參數,故錯誤。
10.[單選題]把一棵樹轉換為二叉樹后,這棵二叉樹的形態是
A)唯一的
B)有多種
C)有多種,根結點沒有左孩子
D)有多種,根結點沒有右孩子
答案:A
解析:
11.[單選題]下列關于運算符重載的描述中,錯誤的是()。
A)運算符重載不可以改變操作數的個數
B)運算符重載不可以改變運算符的功能
C)運算符重載不可以改變結合方向
D)運算符重載可以改變運算優先級
答案:D
解析:
12.[單選題]Shell排序是一種什么排序()
A)選擇
B)插入
C)交換
D)歸并
答案:B
解析:
13.[單選題]總體說明:40題,每題2分,編程題3題,每題15分,總分125分,最終折算成100分
C++對C語言做了很多改進,下列描述中_____使得C語言發生了質變,即從面向過程變成面向對象。
A)增加了一些新的運算符
B)允許函數重載,并允許設置默認參數
C)規定函數說明必須用原型
D)引進類與對象的概念
答案:D
解析:
14.[單選題]若有定義"intx=17;”,則語句"cout
A)11
B)0xll
021
D)20
答案:C
解析:
15.[單選題]下列循環語句中有語法錯誤的是()。
A)inti;for(i=l;i<10;i++)cout?'*';
B)inti,j;for(i=l,j=0;i<10;i++,j++)cout?'*';
C)inti=0;for(;i<10;i++)cout?"*';
D)for(1)cout<<'*';
答案:D
解析:
16.[單選題]通??截悩嬙旌瘮档膮当硎?)。
A)某個對象名
B)某個對象的成員名
C)某個對象的引用名
D)某個對象的指針名
答案:C
解析:
17.[單選題]在一個程序文件中有如下語句:
Externintvar;
關于這個語句,下列表述中錯誤的是()。
A)var稱為外部變量
B)var定義在函數或類的外部
C)var已在另一個程序文件中定義
D)編譯系統在處理這個語句時將為之分配空間
答案:D
解析:
18.[單選題]逗號表達式(x=2*3,x=x*5),x+25的值為
A)25
B)55
045
D)100
答案:B
解析:
19.[單選題]已知:inta=3;則執行a+=a-=a*a;后,變量a的值為()。
A)3
B)0
09
D)-12
答案:D
解析:先計算a-=a*a,得a值為-6,所以結果為T2
20.[單選題]下列描述中,()是錯誤的。
A)內聯函數的主要解決程序的運行效率問題。
B)內聯函數的定義或聲明必須出現在內聯函數第一次補調用之前。
C)內聯函數中可以包括各種語句
D)對內聯不可以進行異常接口聲明
答案:C
解析:在內聯函數中不允許使用循環語句(for,while)和switch結果,帶有異常接口聲明的函數也
不能聲明為內聯函數。另外,遞歸函數(自己調用自己的函數)是不能被用來做內聯函數的。內聯函
數只適合于只有1?5行的小函數。
21.[單選題]要定義整型數組x,使之包括初值為0的三個元素,下列語句中錯誤的是()。
A)intx[3]={0,0,0};
B)intx[]={0};
C)staticintx[3]={0};
D)intx[]={0,0,0};
答案:B
解析:
22.[單選題]下列語言中,屬于面向對象的語言是()。
A)C語言
B)C++語言
C)Pascal語言
D)Basic語言
答案:B
解析:
23.[單選題]通常,復制構造函數的參數是()。
A)某個對象名
B)某個對象的成員名
C)某個對象的引用名
D)某個對象的指針名
答案:C
解析:
24.[單選題]以下死循環的程序段是()。
A)intx;for(intx=0;x<3;){x++;};
B)intk=0;do{++k;}while(k>=0);
C)inta=5;while(a){a-;};
D)inti=3;for(;i;i-);
答案:B
解析:
25.[單選題]下列關于C++語言全局變量與局部變量的敘述中,錯誤的是()。
A)函數調用結束時,函數中靜態局部變量不釋放內存空間,變量值保留
B)函數調用結束時,函數中動態局部變量釋放內存空間,變量值消失
C)全局變量的生存周期是從程序開始到程序結束
D)在一個函數或復合語句中,當局部變量與已有的全局變量重名時,在該函數或復合語句中局部變量
不起作用。
答案:D
解析:
26.[單選題]設有:inta=l,b=2,c=3,d=4,m=2,n=2;執行(m=a<b)|I(n=c>d)后n的值是()
A)1
B)2
03
D)0
答案:B
解析:expl|'exp2若expl為1,則exp2不執行.m=l,所以(n=c>d)不執行,n值不變
27.[單選題]聲明函數為內聯使用的關鍵字為()
A)const
B)inline
C)short
D)signed
答案:B
解析:內聯函數應該定義在前,調用在后,定義時只需在函數頭返回值類型的前面加上關鍵字
inline0故本題選B。
short表示數據類型短整型。定義引用時,可以在定義的前面加const關鍵字,表明該引用是“常引
用”。D為干擾項。
28.[單選題]如果c為字符型變量,判斷c是否為空格(假設已知空格ASCII碼為32)不能使用()
A)if(c==32)
B)if(c=='32')
C)if(c=='\40')
D)if(c=='')
答案:B
解析:\40是八進制換算成二進制就是32也就是空格
29.[單選題]如果變量x,y已經正確定義,下列語句哪一項不能正確將x,y的值進行交換()。
A)x=x+y,y=x_y,x=x-y
B)t=x,x=y;y=t
C)t=y,y=x,x=t
D)x=t,t=y,y=x
答案:D
解析:
30.[單選題]從具有n個結點的二叉搜索樹中搜索一個元素時,在最壞情況下進行成功搜索的時間復
雜度為
A)0(n)
B)0(l)
C)0(log2n)
D)0(n"2)
答案:A
解析:
31.[單選題]以下選項中可作為C++語言合法整數的是()。
A)101011B
B)0286
C)Oxffa
D)x2ba
答案:C
解析:A:是程序外的一種表示,B:八進制沒有數碼8,D:十六進制是0X開頭,x開頭非法
32.[單選題]關于delete運算符的下列描述中,()是錯誤的。
A)它必須用于new返回的指針;
B)使用它刪除對象時要調用析構函數;
C)對一個指針可以使用多次該運算符;
D)指針名前只有一對方括號符號,不管所刪除數組的維數。
答案:C
解析:
33.[單選題]以下關于類占用內存空間的說法錯誤的是()
A)類所占內存的大小是由成員變量(靜態變量除外)和虛擬函數表指針空間(若有虛函數)所決定
B)32位操作系統環境下空類的內存大小是4個字節
C)類中無論有多少個虛函數,只會多占一個虛表指針空間
D)子類的內存大小等于父類的內存大小加上子類獨有成員變量的內存大小
答案:B
解析:空的類是會占用內存空間的,而且大小是1,原因是C++要求每個實例在內存中都有獨一無二的
地址。
34.[單選題]若有如下程序
ttincludeusingnamespacestd;voidfun(int*x,ints,inte){inti,j,t;for(i=s,j=e;i
A)0987651234
B)3210987654
09876543210
D)4567890123
答案:D
解析:
35.[單選題]按照二叉樹的定義,具有3個結點的二叉樹有()種
A)3
B)4
05
D)6
答案:C
解析:
36.[單選題]有如下函數定義:voidfunc(inta,int&b){a++;b++;}若執行代碼段:int
x=0,y=lfunc(x,y);則變量x和y值分別是()
人)0和1
8)1和1
C)0和2
D)1和2
答案:C
解析:
37.[單選題]C++函數中未指定存儲類別的局部變量,其隱含的存儲類別是<,
A)auto
B)static
C)extern
D)register
答案:A
解析:
38.[單選題]鎖機制是線程之間通信的常用方式,不包括?
A)互斥量
B)全局變量
C)鎖
D)條件變量
答案:B
解析:
39.[單選題]下列for循環的循環體執行次數為()。
for(inti(0),j(10);i=j=4;i++,j—)
A)0;
B)l;
04;
D)無限;
答案:D
解析:
40.[單選題]設x為int型變量,則執行以下語句后,x的值為ox=10;x+=x-=x-x;
A)10
B)20
040
D)30
答案:B
解析:
41.[單選題]以下程序中,while循環的的循環次數為()。
Sinclude<iostream>
Usingnamespacestd;
Intmain()
(
inti=0;
while(i<10)
(
if(i<10)continue;
if(i==5)break;
i++;
)
return0;
}
A)1
B)10
C)6
D)死循環,不能確定次數
答案:D
解析:i++執行不到就回到循環開始,條件始終為真,死循環。
42.[單選題]假定機器數為8位,則-50的補碼為()。
A)10001110
B)11001110
O01001110
D)10110011
答案:B
解析:
43.[單選題]下列關于數組的描述正確是o
A)數組的長度是可變的,而其中元素的數據類型必須相同
B)數組的長度是可變的,而其中元素的數據類型可以不同
C)數組的長度是固定的,而其中元素的數據類型可以不同
D)數組的長度是固定的,而其中元素的數據類型必須相同
答案:D
解析:
44.[單選題]下面對C++語言的描述中,正確的是()0
A)函數一定有返回值,否則無法使用函數
B)C++語言函數既可以嵌套定義又可以遞歸調用
C)在C++語言中,調用函數時,只能將實參的值傳遞給形參
D)C++程序中有調用關系的所有函數都必須放在同一源程序文件中
答案:C
解析:
45.[單選題]關于文件包含,下列描述錯誤的是
A)文件包含命令行必須以#include開頭
B)文件包含命令行的兩種形式是有區別的,當#include后面的文件名用?括起來時,應該先在源程序
所在目錄中進行搜索
C)文件包含是可以嵌套的,即在被包含的文件中又使用文件包含命令行包含其他文件
D)一個#include命令只能包含一個文件,當多個文件需要包含時,應使用多個#include命令行
答案:B
解析:
46.[單選題]變量的指針,其含義是指該變量的。
A)值
B)地址
C)名
D)一個標志
答案:B
解析:
47.[單選題]設存在函數intmax(int,int)返回兩參數中較大值,若求22,59,70三者中最大值,下
列表達式不正確的是()
A)intm=max(22,max(59,70));
B)intm=max(max(22,59),70);
C)intm=max(22,59,70);
D)intm=max(59,max(22,70));
答案:c
解析:函數參數的使用應與聲明中類型與個數保持一致。函數形參只有兩個參數,C選項傳遞了3個參
數。
48.[單選題]下列對于類的描述錯誤的是。
A)類要先聲明后使用
B)類是具有唯一標識的實體
C)兩個類可以使用同一個名稱
D)組成類的不僅有數據,還可以有對數據進行操作的函數
答案:C
解析:類是具有唯一標識符的實體,就是說類名不能重復。故C錯誤。
49.[單選題]表示“X大于1而小于10”的邏輯表達式是()。
A)Kx<10
B)x>l&&x<10
C)!(x<=l|x>=10)
D)x>l||x<10
答案:B
解析:
50.[單選題]若a為int類型,且其值為3,則執行完表達式a+=a-=a*a后,a的值是。(題)
A)12
B)-3
09
D)-12
答案:D
解析:
51.[單選題]以下對一維數組a的正確定義是()。
A)intn=5,a[n];
B)inta(5);
C)constintN=5;inta[N];
D)intn;cin?n;inta[n];
答案:C
解析:
52.[單選題]關于C++的特點下列說法不正確的是()。(題)
A)C++中沒有結構化編程的語句
B)C++是C語言的超集,大多數C程序在不用修改的情況下就可以在C++的集成環境下運行或調試
C)C++是面向對象的程序設計語言
D)C++的執行效率很高
答案:A
解析:
53.[單選題]如果有intx,*p;floaty,*q;則下面操作中,正確的是()
A)p=x
B)p=q
C)p=&x
D)p=&y
答案:C
解析:c選項,指針變量p指向整型變量X,正確。
54.[單選題]關于類模板的模板參數說法正確的是()。
A)只可作為數據成員的類型
B)只可作為成員函數的返回值類型
C)只可作為成員函數的參數類型
D)既可作為數據成員的類型,也可說明成員函數的類型
答案:D
解析:
55.[單選題]什么是成員()。
A)類的特征
B)類的方法
C)類的事件
D)以上全是
答案:D
解析:
56.[單選題]下列關于析構函數描述正確的是()
A)可以重載
B)函數體中必須有delete語句
C)返回類型必須是void類型
D)不能指定返回類型
答案:D
解析:
57.[單選題]下列程序段的輸出是ounsignedshorti=65538;intbcout<(b=a);
A)65538
B)有語法錯誤,無法編譯通過
C)0
D)2
答案:C
解析:
58.[單選題]在C++中,關于下列設置缺省參數值的描述中,()是正確的。
A)不允許設置缺省參數值;
B)在指定了缺省值的參數右邊,不能出現沒有指定缺省值的參數;
C)只能在函數的定義性聲明中指定參數的缺省值;
D)設置缺省參數值時,必須全部都設置;
答案:B
解析:
59.[單選題]如下輸出語句cout<
A)8
B)3
04
D)9
答案:B
解析:
60.[單選題]以下說法中正確的是()
A)C++總是從第一個定義的函數開始執行
B)C++程序總是從main函數開始執行
C)C++中函數必須有返回值
D)C++中函數名必須唯一
答案:B
解析:程序中必須有且僅有一個主函數main。,這是程序執行的總入口。主函數也稱為主程序。程序
從主函數,即main。函數的開始處執行。故本題選B。
61.[單選題]在C++中,編寫一個內聯函數Fsqu,使用double類型的參數,求其平方并返回,返回值
為double類型,下列定義正確的是()
A)doubleFsqu(doublex){returnx*x;}
B)inlinedoubleFsqu(doublex){returnx*x;}
C)doubleinlineFsqu(doublex){returnx*x;}
D)doubleFsqu(doublex){inlinereturnx*x;}
答案:B
解析:
62.[單選題]在類外定義成員函數時,需要在函數名前加上()
A)對象名
B)類名
C)類名和作用域運算符
D)作用域運算符
答案:C
解析:
63.[單選題]設存在函數intmax(int,int)返回兩參數中較大值,若求22,59,70三者中最大值,下
列表達式正確的是()
A)intm=max(22,max(59,70));
B)intm=max(max(22,59),max(59,70));
C)intm=max(max(22,70),59);
D)以上皆正確
答案:D
解析:ABC選項都正確,都可求出三者中的最大值。函數max只有兩個參數,因此傳遞的實參也只能有
兩個。
64.[單選題]C++語言中所有在函數中定義的變量,連同形式參數,都屬于()
A)全局變量
B)局部變量
C)靜態變量
D)函數答案
答案:B
解析:
65.[單選題]若inta=6,則執行完下列語句后,a的值為().if(a>10)a-=5;a+=5;
A)10
B)ll
01
D)6
答案:B
解析:
66.[單選題]intFunc(int,int);不可與下列哪個函數構成重載()
A)intFunc(int,int,int);
B)doubleFunc(int,int);
C)doubleFunc(double,double);
D)doubleFunc(int,double);
答案:B
解析:
67.[單選題]類中定義的成員默認為()訪問屬性。
A)public
B)private
C)protected
D)Friend
答案:B
解析:
68.[單選題]在C++中使用流進行輸入輸出,其中專用于從鍵盤進行輸入的流是()
A)cerr
B)cin
C)cout
D)cfile
答案:B
解析:C++類中對象:
cin;運算符為>〉,用于鍵盤輸入。
cout:運算符為<<,用于屏幕輸出。
故本題選B。
69.[單選題]下列控制格式輸入輸出的操作符中,能夠設置浮點數精度的是
A)setprecision
B)showpoint
C)setfill
D)setw
答案:A
解析:
70.[單選題]下列說法正確的是_
A)字符型數組與整型數組可通用
B)字符型數組與字符串其實沒什么區別
C)字符串的輸出可以用存儲它的數組來輸出,也可以字符串的形式整體輸出,結果沒區別
D)當字符串放在字符數組中,這時要求字符數組長度比字符串長1個單元,因為要放字符串終結符
,\0;
答案:D
解析:
71.[單選題]以下4個選項中,不能看作一條語句的是()
A)if(b==0)m=l;n=2;
B)a=0,b=0,c=0;
C)if(a>0);
D){;}
答案:A
解析:語句以分號“;”結尾。
A選項中,m=l;n=2之間有個分號,應該是兩條語句。故本題選A。
72.[單選題]設有定義inti;doublej=5;,則10+i+j值的數據類型是()
A)int
B)double
C)float
D)不確定
答案:B
解析:
73.[單選題]下列哪個不屬于C++的預定義的流對象()。(題)
A)iostream
B)cin
C)cerr
D)clog
答案:A
解析:
74.[單選題]使用string.h庫操縱字符串時,將兩個字符串連接成一個字符串的函數是()
A)strlen()
B)strcapO
C)strcat()
D)strcmp()
答案:C
解析:strcatO:用于連接字符串。
strlen():返回字符串的長度。
strcmp():比較兩個字符串的大小。
不存在strcapO°
故本題選C。
75.[單選題]有如下定義語句:intaa[][3]={12,23,34,4,5,6,78,89,45};,則45在數組22中的行列坐
標各為()。
A)3,2
B)3,l
02,2
D)2,l
答案:C
解析:
76.[單選題]若有定義typedefcharT[10];T*a;上述定義中a的類型與下面選項中完全相同的
是()?
A)chara[10];
B)char(*a)[10];
C)char*a;
D)char*a[10];
答案:B
解析:
77.[單選題]關鍵字unsigned不能修飾的類型是。
A)char
B)int
C)float
D)longint
答案:C
解析:
78.[單選題]下面程序執行后的輸出結果是o#includeusingnamespacestd;intf(int
b[],intm,intn){inti,s=0;for(i=m;i
A)25
B)18
022
D)14
答案:D
解析:
79.[單選題]已知intx=5,y=5,z=5;執行語句x%=y+z;后,x的值是()。
A)0
B)5
06
D)1
答案:B
解析:
80.[單選題]使用輸入輸出操作符setw,可以控制()。(題)
A)輸出寬度
B)輸出精度
C)對齊方式
D)填充字符
答案:A
解析:
81.[單選題]在一顆二叉樹上第6層的結點數最多是
A)8
B)16
032
D)64
答案:C
解析:
82.[單選題]10流中,oftream的父類是下面的
A)ostream
B)istream
C)ifstream
D)iostream
答案:A
解析:
83.[單選題]對數組名作函數參數,下面描述正確的是()。
A)調用時將實參數組復制給形參數組
B)實參和形參占用同一段存儲單元
C)形參定義的數組長度不能省略
D)不能改變主調函數中的數據
答案:B
解析:
84.[單選題]定義新類是通過什么實現的()。
A)信息隱藏
B)數據封裝
C)繼承機制
D)數據抽象
答案:C
解析:
85.[單選題]關于C++語言中return語句正確的說法是()
A)只能在主函數中出現
B)在每個函數中都必須出現
C)可以在一個函數中出現多次
D)只能在除主函數之外的函數中出現
答案:C
解析:
86.[單選題]有如下程序intmain(){intn=9;while(n>6)cout<
A)987
B)876
08765
D)9876
答案:A
解析:
87.[單選題]對數組名作函數的參數,下面描述正確的是()o
A)數組名作函數的參數,調用時將實參數組復制給形參數組。
B)數組名作函數的參數,主調函數和被調函數共用一段存儲單元。
C)數組名作參數時,形參定義的數組長度不能省略。
D)數組名作參數,不能改變主調函數中的數據
答案:B
解析:
88.[單選題]C++的繼承性允許派生類繼承基類的()
A)部分特性,并允許增加新的特性或重定義基類的特性
B)部分特性,但不允許增加新的特性或重定義基類的特性
C)所有特性,并允許增加新的特性或重定義基類的特性
D)所有特性,但不允許增加新的特性或重定義基類的特性
答案:A
解析:
89.[單選題]執行下列語句段后,輸出字符"*"的個數是()。for(inti=50;i>l;i-=2)cout?'*';
(
題)
A)26
B)24
025
D)50
答案:C
解析:
90.[單選題]已知print。函數是一個類的常成員函數,它無返回值,下列表示中正確的是
A)voidprint()const;
B)constvoidprint();
C)voidconstprint();
D)voidprint(const);
答案:A
解析:
91.[單選題]對C++語言和C語言的兼容性,描述正確的是()
A)C++兼容C
B)C++部分兼容C
C)C++不兼容C
D)C兼容C++
答案:A
解析:
92.[單選題]在C++中,要實現動態聯編,必須使用()調用虛函數。
A)類名
B)派生類指針
C)對象名
D)基類指針
答案:D
解析:
93.[單選題]運行下述程序,輸出結果是o
A)5
B)7
09
D)12
答案:D
解析:
94.[單選題]設有如下程序段:intx=2002,y=2003;cout<<(x,y)?"\n";則以下敘述中正確的是
A)編譯時產生出錯信息,不能正確輸出
B)輸出2002,2003
C)輸出值為2002
D)輸出值為2003
答案:D
解析:
95.[單選題]一個隊列的入隊序列是1,2,3,4,則隊列的輸出序列是
A)4,3,2,1
B)l,2,3,4
01,4,3,2
D)3,2,4,1
答案:B
解析:
96.[單選題]若有定義inta[3][5],i,j;(且0Wi<3,0Wj<5),則不正確的地址表示
是()。
A)&a[i][j]
B)a[i]+j
C)*(a+i)+j
D)*(*(a+i)+j)
答案:D
解析:求的是哪個地址表示是錯的,只有選項D明顯解引出來的數組元素,不是個地址,結果答案選D
oA,B,C,都是合法的地址表示方法。
97.[單選題]下面關于線性表的敘述中,錯誤的是
A)線性表采用順序存儲必須占用一片連續的存儲單元
B)線性表采用順序存儲便于進行插入和刪除操作
C)線性表采用鏈式存儲不必占用一片連續的存儲單元
D)線性表采用鏈式存儲便于進行插入和刪除操作
答案:B
解析:
98.[單選題]所謂多態性是指()
A)不同的對象調用不同名稱的函數
B)不同的對象調用相同名稱的函數
0一個對象調用不同名稱的函數
D)一個對象調用不同名稱的對
答案:B
解析:
99.[單選題]假定AA為一個類,a為該類公有的數據成員,x為該類的一個對象,則訪問x對象中數據
成員a的格式為()。
A)x(a)
B)x[a]
C)x->a
D)x.a
答案:D
解析:
100.[單選題]已知有如下定義:chara[10];,則不能將字符串"abc"存儲在數組a中的是。
A)strcpy(a,"abc");
B)a[O]='\0',strcat(a,"abc");
C)a="abc";
D)inti;for(i=0;i<3;i++)a[i]=i+97;a[i]='\0';
答案:C
解析:
10L[單選題]已知x=35,ch='A',y=0,則表達式(x>=y&&ch<'B'I|!y)的值為()。
A)0
B)1
C)非0的值
D)語法錯誤
答案:B
解析:
102.[單選題]表達式!x等效于o
A)x==l
B)x==0
C)x!=l
D)x!=O
答案:B
解析:
103.[單選題]下列敘述中,錯誤的是()。
A)true是一個bool常量
B)"x"是一個字符常量
C)100是一個int常量
D)3.14是一個double常量
答案:B
解析:
104.[單選題]運行如下程序,輸出結果為()。
A)3
B)2
01
D)0
答案:D
解析:分析幾條語句,if語句分if子句和else子句
105.[單選題]若一棵二叉樹具有12個度為2的結點,6個度為1的結點,則度為0的結點個數是()o
A)10
B)ll
013
D)不確定
答案:C
解析:
106.[單選題]以下選項中,正確的語句組是o
A)chars[10];s="BOOK!?,;
B)chars[];s-*BOOK!n;
C)char*s;s={"B00K!M};
D)char*s;s="BOOK!v;
答案:D
解析:
107.[單選題]if與else在使用過程中為避免嵌套出現二義性,C++中規定與else子句配對的是()
A)其之前最近的if語句
B)其之前最近且尚未配對的if語句
C)縮排位置相同的if語句
D)其之后最近的if語句
答案:B
解析:if后面和else后面的語句可以再包含if語句,需要注意的是,else總是與前面最近的并且沒有
與其他else匹配的if相匹配。為了明確匹配關系,避免出現匹配錯誤,強烈建議將內嵌的if語句
,一律用一對大花括號括起來。
108.[單選題]函數intsum(inta=10,intb=15,intc=25);不可與下列哪個函數同時聲明()
A)intsum(int,int,int,int)
B)intsum(int,int,int)
C)intsum(double)
D)intsum(double,double,double);
答案:B
解析:名稱相同,參數個數相同,參數類型相同,無法重載。
109.[單選題]假設OneClass為一個類,則該類的復制初始化構造函數的聲明語句為()。
A)OneClass(OneClassp)
B)0neClass&(OneClassp)
C)OneClass(OneClass&p)
D)OneClass(OneClass*p)
答案:C
解析:
110.[單選題]對于順序存儲的線性表,訪問結點和增加、刪除結點的時間復雜度為()
A)0(n)0(n)
B)O(n)0(1)
00(1)0(n)
D)0⑴0⑴
答案:C
解析:
111.[單選題]以下代碼片段的輸出結果為()。
inta[3][3]={1,2,3,4,5,6,7,8,9};
int*pa[3]={a[0],a[l],a[2]};
voidmain()
(
printf(""%d\n"",*pa[l]);
}"
A)4
B)1
04,5,6,7,8,9
D)4,5,6
答案:A
解析:
112.[單選題]下面有關友員函數的描述中,真確的說法是()
A)友員函數是獨立于當前類的外部函數
B)一個友員函數不可以同時定義為兩個類的友員函數
C)友員函數必須在類的外部進行定義
D)在類的外部定義友員函數時必須加上friend關鍵字
答案:A
解析:
113.[單選題]要定義數組A,使得其中每個元素的數據分別依次為:3、9、4、8、0、0、0,錯誤的定義
語句是O
A)intA□善{3,9,4,8,0,0,0};
B)intA[]={3,9,4,8};
OintA[7]三{3,9,4,8,0,0,0};
D)intA[7]={3,9,4,8};
答案:B
解析:
114.[單選題]
[多繼承內嵌對象構造函數執行次序]下列程序的輸出是:
#include<iostream>
Usingnamespacestd;
ClassA{public:A(intal){cout<<,fA,f;a=al;}
Private:inta;};
ClassB{public:B(intbl){cout<<wBM;b=bl;}
Private:intb;};
ClassC{public:C(intcl){cout<<,fC,f;c=cl;}
Private:intc;};
ClassD:public
A,publicB{private:Cc;
Public:D(intd):B(d),A(d),c(d){cout?wDw;}
);
Intmain(){Ddl(1);return0;}
A)D
B)ABD
C)BACD
D)ABCD
答案:D
解析:
115.[單選題]關于異常機制,以下說法正確的是()。
A)異常不是語法錯誤
B)異常代表了編程過程中遇見的所有錯誤
C)一旦出現異常,程序將會中斷,退出執行
D)派生類不能捕獲基類的異常
答案:A
解析:
116.[單選題]在類定義的外部,可以被訪問的成員有()。
A)所有類成員
B)private或protected的類成員
C)public的類成員
D)public或private的類成員
答案:C
解析:
117.[單選題]在C++中,要實現動態聯編,必須使用()調用虛函數。
A)類名
B)派生類指針
C)對象名
D)基類指針
答案:D
解析:
118.[單選題]以下程序的輸出結果為()。
inta[3][3]={0,1,2,0,1,2,0,1,2},t=l;
for(inti=0;i<3;i++)
for(intj=i;j<=i;j++)
t=t+a[i][a[j][j]];
printf(""%d\n"",t);
A)3
B)4
01
D)9
答案:B
解析:
119.[單選題]關于this指針使用說法正確的是。
A)保證每個對象擁有自己的數據成員,但共享處理這些數據的代碼
B)保證基類私有成員在子類中可以被訪問。
C)保證基類保護成員在子類中可以被訪問。
D)保證基類公有成員在子類中可以被訪問。
答案:A
解析:
120.[單選題]0有如下程序
:#includeusingnamespacestd;intmain(){intf,fl=0,f2=l;for(inti=3;i<=6;i++){f=fl+f2;fl=f2
;f2=f;}cout<
A)2
B)3
05
D)8
答案:C
解析:
121.[單選題]如輸入1,最后輸出什么()voidmain(){charc;scanf("%c",&c);switch(c){
case'1':printf("1");case'2':printf("2")case'3':printf("3")default:
printf("error");}}
A)1
B)123
C)error
D)123error
答案:D
解析:沒有寫break,依次執行
122.[單選題]關于用const定義的常變量,下列敘述錯誤的是。
A)定義常變量時必須進行初始化
B)每個常變量都有其特定的數據類型
C)常變量在使用前必須先進行定義
D)常變量定義之后可以被改變
答案:D
解析:
123.[單選題]設存在函數intmax(int,int)返回兩參數中較大值,若求22,59,70三者中最大值
,下列表達式不正確的是()
A)intm=max(22,max(59,70));
B)intm=max(max(22,59),70);
C)intm=max(22,59,70);
D)intm=max(59,max(22,70));
答案:C
解析:max中參數為兩個,當實參數量多于形參數量時,多于的參數會被忽略。故本題中不能比較出
三者中的最大值
124.[單選題]面向對象中的“對象”是指()
A)行為抽象
B)數據抽象
C)行為抽象和數據抽象的統一
D)行為抽象和數據抽象的對立
答案:C
解析:結構化程序設計使用的是功能抽象,面向對象程序設計不僅能進行功能抽象,而且能進行數據
抽象?!皩ο蟆睂嶋H上是功能抽象(行為抽象)和數據抽象的統一。
125.[單選題]類的析構函數的作用是()。
A)一般成員函數
B)類的初始化
C)刪除對象
D)對象的初始化
答案:C
解析:
126.[單選題]假設AB為一個類,則該類的拷貝構造函數的原型為()
A)AB&(ABx)
B)AB(ABx)
C)AB(AB&x)
D)AB(AB*x)
答案:C
解析:
127.[單選題]for(intx=0,y=0;!x&&y<=5;y++)
語句執行循環的次數是多少次?
A)0
B)5
06
D)無數次
答案:C
解析:如果循環體中X得值不改變,!x一直為true,則只需要考慮y的值就可以了,一共6次。
128.[單選題]圖結構中,對于網的說法正確的是
A)每個邊(或?。┒几郊右粋€權值的圖,稱為帶權圖
B)有一個邊附加一個權值的圖,稱為帶權圖
C)帶權的非連通圖稱為網
D)不帶權的連通圖稱為網
答案:A
解析:
129.[單選題]判斷字符型變量ch是否為大寫英文字母,應使用表達式()。
A)ch>='A'&ch<='Z'
B)ch<='A'|ch>='Z'
C)A'<=ch<='Z'
D)ch>='A'&&ch<='Z'
答案:D
解析:
130.[單選題]cout是C++的()
A)關鍵字
B)對象
C)類
D)運算符
答案:B
解析:C++類中對象:
cin:運算符為>〉,用于鍵盤輸入。
cout:運算符為<<,用于屏幕輸出。
故cout是對象。選B。
131.[單選題]如果待排序的數組近似遞減排序,則此時使用快排算法進行遞增排序的時間復雜度為
0
A)0(n)
B)0(n*2)
C)0(nlogn)
D)0((n*2)*logn)
答案:B
解析:
132.[單選題]一棵樹深度為K的完全二叉樹至少有多少個結點
A)2*k-1
B)2"(k-1)-1
C)2"(k-1)
D)2'k
答案:C
解析:
133.[單選題]執行完下列語句段后,i值為:()intf(intx){return((x>0)x*f(x-
l):2);}inti;i=f(f(l));
A)2
B)4
08
D)無限遞歸
答案:B
解析:
134.[單選題]要求用友員函數重載的運算符是()。
A)=
B)[]
C)?
D)0
答案:C
解析:
135.[單選題]在C++語言中用于注釋的標識符是()
A)&
B)//
0*
D)/
答案:B
解析:C++程序中,仍沿用C語言的注釋風格,即注釋有以下兩種形式。
1)從/*開始,到*/結束,這之間的所有內容都視作注釋。
2)從〃直到行尾,都是注釋。
故綜上,/*……*/或〃都用于注釋。本題選B。
136.[單選題]在C++中,編譯系統自動為一個類生成缺省構造函數的條件是—
A)該類沒有定義任何有參構造函數
B)該類沒有定義任何無參構造函數
C)該類沒有定義任何構造函數
D)該類沒有定義任何成員函數
答案:C
解析:
137.[單選題]在哪種情況下適宜采用inline定義內聯函數?
A)函數體含有循環語句
B)函數體含有遞歸語句
C)函數代碼少、頻繁調用
D)函數代碼多、不常調用
答案:C
解析:
138.[單選題]設inta=l,b=2,c=3,d=4;則以下條件表達式的值為()。
a<b?a:c<d?c:d
A)1
B)2
03
D)4
答案:A
解析:
139.[單選題]以下程序的輸出結果為()。
floata=3333.33333;
printf("%f\n",a);
A)3333
B)3333.33333
03333.333252
D)編譯錯誤
答案:C
解析:
140.[單選題]下列哪個不是面向對象的關鍵要素()
A)抽象性
B)結構性
C)封裝性
D)多態性
答案:B
解析:面向對象的程序設計有“抽象”“封裝”“繼承”和“多態”4個基本特點。故不包括B。
141.[單選題]若有以下的定義:inta=100,*p=&a;,則下列選項中,表述錯誤的是()
A)聲明變量p,其中*表示p是一個指針變量
B)變量p經初始化,獲得變量a的地址
C)變量p只可以指向一個整型變量
D)變量p的值為100
答案:D
解析:指針P指向整型變量a,p中保存a的地址,而不是值100。p指向的地址中的值是100。故D錯誤。
注意:地址與地址中的值不要混淆。
142.[單選題]已知x=43,ch='A",y=0;則表達式(x>=y&&ch〈'B'&&!y)的值是()
A)0
B)語法錯
01
D)“假”
答案:C
解析:x>=y是成立的,A的ASCH值是小于B的,!y=l所以答案是1
143.[單選題]聲明函數intFunc(inta=0,intb=3,intc=4)相當于聲明了幾個函數形式。
A)1
B)2
03
D)4
答案:D
解析:可以用4種方法調用,即
Func()〃無參數
Func(2)〃一個參數
Func(2,3)〃兩個參數
Func(2,3,3)〃三個參數
144.[單選題]下列不正確的定義是()
A)int*p=&i,i
B)int*p,i
C)inti,*p=&I
D)inti,*p
答案:A
解析:
145.[單選題]關于函數的返回值說法正確的是()。
A)由return語句返回時,只帶回一值,其類型在函數定義時確定。
B)其類型由調用表達式決定。
C)函數可以沒有返回值,這時在函數定義,函數的類型說明就沒必要了。
D)函數調用就要有返回值,否則調用就沒意義了。
答案:A
解析:
146.[單選題]C++語言的函數體必須放在一對()中
A){)
B)""
0[]
D)()
答案:A
解析:
147.[單選題]判斷char型變量cl是否為小寫字母的正確表達式是—
A)"a'<=cl<="z'
B)cl>=a&&cl<=z
C)'a'>=cl|"z"<=cl
D)cl>='a'&&cl<=,z'
答案:D
解析:
148.[單選題]下列對于指針的描述錯誤的是______良
A)地址就是指針
B)指針不能用除0以外的常量賦值
C)兩個指針變量的加法無意義
D)指向不同基類型的指針變量占用內存空間大小不同
答案:D
解析:
149.[單選題]若二維數組丫有0)列,則位于之前的元素數量是。
A)j*m+i
B)i*m+j
C)i*m+j-l
D)i*m+j+l
答案:B
解析:二維數組y有m列,即每行有m個元素。y[i][j]前面的元素有前i行i*m個元素再加上第i行第j列
前面的j個元素,一共i*m+j個元素。
150.[單選題]若有以下定義,則釋放指針所指內存空間的操作是()ofloat*r=newfloat[10];
A)deleter;
B)delete*r;
C)deleteElr;
D)deleter[];
答案:C
解析:
151.[單選題]已知函數func的原型為intfunc(int,double);下列重載函數原型中錯誤的是
A)floatfunc(int,double,int)
B)boolfunc(int,double,bool)
C)charfunc(int,double)
D)intfunc(int,char*)
答案:C
解析:
152.[單選題]若x,i,j和k都是int型變量,則計算表達式x=(i=4,j=16,k=32)后,x的值為。(題)
A)4
B)16
032
D)20
答案:C
解析:
153.[單選題]運算符+、
A)0
B)'O'
C)“0”
D)0.0
答案:B
解析:
154.[單選題]下面有關回調函數的說法,錯誤的是?
A)回調函數一般是一個通過函數指針調用的函數
B)回調函數可能被系統API調用一次,也可能被循環調用多次
C)回調函數本身可以直接是全局函數、靜態函數或某個特定類的成員函數
D)回調函數可用于通知機制
答案:C
解析:所謂的回調函數,就是預先在系統的對函數進行注冊,讓系統知道這個函數的存在,以后,當
某個事件發生時,再調用這個函數對事件進行響應。定義一個類的成員函數時在該函數前加
CALLBACK即將其定義為回調函數,函數的實現和普通成員函數沒有區別
155.[單選題]下列關于友元函數和靜態成員函數的敘述中,錯誤的是。
A)靜態成員函數在類體中說明時加static,在類外定義時不能加static
B)靜態成員函數帶this指針
C)友元函數在類體中說明時加friend,在類外定義函數時不能加friend
D)友元函數不帶this指針
答案:B
解析:
156.[單選題]執行語句序列inta=10,b=15,c;c=a|I(a+=b)|I(++b);后,變量a、b和c的值分別為
A)10,15,1
B)25,16,l
010,15,10
D)25,15,l
答案:A
解析:
157.[單選題]下列各運算符中,()優先級最低。
A)?:
B)I
Oil
D)!=
答案:A
解析:
158.[單選題]程序中主函數的名字為()。
A)main
B)MAIN
OMain
D)任意標識符
答案:A
解析:
159.[單選題]假定一個類的構造函數為"A(intaa=l,intbb=O){a=-aa;b=bb;}",則執行"A
x(4);“語句后,x.a
和x.b的值分別為()。
A)1^0
B)1和4
04和1
口)4和0
答案:D
解析:
160.[單選題]有函數原型voidfun4(int&);下面選項中,正確的調用是()。
A)inta=2.17;fun4(&a);
B)inta=15;fun4(a*3.14);
C)intb=100;fun4(b);
D)fun4(256);
答案:C
解析:
161.[單選題]有以下的類定義:classMyClass{public:MyClass(){cout
A)11
B)lll
01111
D)11111
答案:B
解析:
162.[單選題]定義p并使p指向動態空間中的包含30個整數的數組所使用的定義語句為()。
A)int*p=newint[30];
B)int*p=newint(30);
C)int*p=new[30];
D)*p=newint[30];
答案:A
解析:
163.[單選題]結構化程序設計所規定的三種基本控制結構是()
A)輸入、處理、輸出
B)樹形、網形、環形
C)順序、選擇、循環
D)主程序、子程序、函數
答案:C
解析:在編寫程序時,使用3種基本控制結構來構造程序:順序、選擇、循環基本控制結構。這3種結
構到目前為止仍是主要的控制結構。故本題選C。
164.[單選題]下面的哪個保留字不能作為函數的返回類型()。
A)new
B)int
C)void
D)long
答案:A
解析:
165.[單選題]設有定義int"doublej=5;,則10+i+j值的數據類型是()(題)
A)double
B)int
C)float
D)不確定
答案:A
解析:
166.[單選題]以下循環體的執行次數是ointmain(){inti,j;for(i=0,j=l;i
A)3
B)2
01
D)0
答案:C
解析:
167.[單選題]以下不能對二維數組a進行正確初始化的語句是()。
A)inta[2][3]={0};
B)inta:]E3]={{0,1},{0}};
Ointa[2][3]={{0,1},{2,3},{4,5});
D)inta[][3]={0,1,2,3,4,5};
答案:C
解析:
168.[單選題]若有如下程序:intmain(){inty=3,x=3,z=l;printf("%d%d\n",(++x,y++),
z+2);}運行該程序的輸出結果是(
A)34
B)42
043
D)33
答案:D
解析:逗號表達的求值順序是從左向右以此計算用逗號分隔的各表達式的值,最后一個表達式的值就
是整個逗號表達式的值,所以(++x,y++)的值將是y++,因為是先輸出y的值,再將y增1,所以軸
線輸出3,再輸出Z+2的值,即3;所以應選擇D
169.[單選題]下列語句將輸出字符'*'的個數為()。
Intn=100;
While(1)
(
n-;
if(n==0)break;
cout<X'*';
)
A)101
B)100
099
D)98
答案:C
解析:
170.[單選題]下列關于賦值兼容規則的敘述中,錯誤的是。
A)派生類的對象可以賦值給基類的對象
B)基類的對象可以賦值給派生類的對象
C)派生類的對象可以初始化其基類的引用
D)可以將派生類對象的地址賦值給其基類的指針變量
答案:B
解析:
171.[單選題]若有以下說明語句,則下列錯誤的引用是()。
structWorker
{intno;
charname[20];
):
Workerw,*p=&w;
A)w.no
B)p->no
C)(*p).no
D)*p.no
答案:D
解析:
172.[單選題]下列函數中,不能說明為虛函數的是()o
A)私有成員函數
B)公有成員函數
C)構造函數
D)析構函數
答案:C
解析:
173.[單選題]有如下程序:運行時的輸出結果是__o
A)121
B)21
0211
D)12
答案:B
解析:
174.[單選題]下列字符串可以用做C++標識符的是()。
A)」23
B)foobar
C)case
D)double
答案:A
解析:B含空格,CD是保留字
175.[單選題]若x和y是程序中的兩個整型變量,則下列if語句中正確的是o
A)ifx!=Oy=l;elsey=2;
B)if(x!=0)theny=lelsey=2;
C)if(x!=0)y=1;elsey=2;
D)if(x!=0)y=lelsey=2;
答案:C
解析:
176.[單選題]下面程序的輸出結果為()Sincludeusingnamespacestd;func(inta,intb)
{intc;c=a*b;return(c);}intmain(){intx=6,y=7,z=8,r;r=func(-x*y,z-);cout
A)294
B)245
C)280
D)416
答案:C
解析:
177.[單選題]哪個操作符不能作為類成員函數被重載?
A)?:
B)++
0[]
D)==
答案:A
解析:不可重載運算符包括"?:這四個
178.[單選題]以下選項中不屬于C++語言數據類型的是()。
A)signedshort
B)unsignedchar
C)unsignedfloat
D)unsignedint
答案:C
解析:
179.[單選題]以下正確的說法是()
A)全局變量的的作用域一定比局部變量的作用范圍大
B)函數的形參可以是全局變量
C)靜態(static)變量的生存周貫穿于整個程序運行期間
D)在定義變量時沒有賦初值的auto變量和static變量的初值都是隨機值
答案:C
解析:
180.[單選題]指出下列對定義重載函數的要求中,()是錯誤的。
A)要求參數的個數相同
B)要求參數的類型相同時,參數個數不同
C)函數的返回值可以不同
D)要求參數的個數相同時,參數類型不同
答案:A
解析:
181.[單選題]對于類中定義的成員,其隱含的訪問權限為()
A)public
B)protected
C)private
D)static
答案:C
解析:
182.[單選題]已知i=5,j=0,下列各式中運算結果為j=6的表達式是()。
A)j=i+(++j)
B)j=j+i++
C)j=++i+j
D)j=j+++i
答案:A
解析:
183.[單選題]已知枚舉類型聲明語句為:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};則下
列說法中
錯誤的是()。(題)
A)枚舉常量WHITE的值為1
B)枚舉常量YELLOW的值為1
C)枚舉常量RED的值為6
D)枚舉常量BLACK的值為10
答案:A
解析:
184.[單選題]字面常量42、4.2、42L的數據類型分別是()。
A)long,double,int
B)long、floatsint
C)int、double,long
D)int、floatslong
答案:C
解析:
185.[單選題]下面合法的C語言字符常量是()。
A)'a'
B)"A"
C)'65'
D)A
答案:A
解析:
18
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海農林職業技術學院《學前兒童五大領域教育及活動設計》2023-2024學年第二學期期末試卷
- 2025年中學語文教師資格證考試試卷及答案
- 心理健康教育與2025年相關考核題目及答案
- 網絡技術與應用2025年考試試卷及答案
- 2025年中學教師資格考試試題及答案
- 山東省濟南市實驗中學2025年高三第四次模擬考試:歷史試題試卷含解析
- 江蘇省句容市崇明中學2025年初三中考適應性月考數學試題(一)含解析
- 2025年注冊會計師考試試卷及答案呈現
- 內蒙古科技職業學院《AutoCAD1》2023-2024學年第二學期期末試卷
- 上海市豐華中學2024-2025學年高三下學期第一次月考-生物試題含解析
- 高標準基本農田建設項目監理月報1期
- 溫泉度假設施造價預算
- 水質自動在線監測系統技術協議1010審計
- DBJ04∕T 258-2016 建筑地基基礎勘察設計規范
- 七年級地理下雙向細目表
- 企業風險評估報告模板
- 網吧員工勞動合同書
- Revit基礎入門課件
- 小升初英語奧數題
- 項目部管理人員安全培訓考試題及答案
- 國內各航空公司差異化服務
評論
0/150
提交評論