【正文】
1 1. 由 C++源程序文件編譯而成的目標文件的默認擴展名為 ( C )。 A. cpp B. exe C. obj D. lik 2.設 x和 y均為 bool量,則 x amp。amp。 y為真的條件是 ( A )。 A. 它們均為真 B. 其中一個為真 C. 它們均為假 D. 其中一個為假 3. 在下面的二維數(shù)組定義中,正確的語句是 ( C )。 A. int a[5][]。 B. int a[][5]。 C. int a[][3]={{1,3,5},{2}}。 D. int a[](10)。 4. 在文件包含命令中,被包含文件的擴展名( C )。 A. 必須是 .h B. 不能是 .h C. 可以是 .h或 .cpp D. 必須是 .cpp 5. 要使語句“ p=new int[10][20]。”正確, p 應事先定義為( D )。 A. int *p。 B. int **p。 C. int *p[20]。 D. int(*p)[20]。 6. 在關鍵字 public后面定義的成員為該類的( B )成員。 A. 私有 B. 公用 C. 保護 D. 任何 7. 假定 AA為一個類, a為該類私有的數(shù)據(jù)成員,若要在該類的一個成員函數(shù)中訪問它,則書寫格式最好為( A )。 A. a B. AA::a C. a() D. AA::a() 8. 隊列具有( A )的操作特性。 A. 先進先出 B. 先進后出 C. 進出無序 D. 僅進不出 9. 假定 AB為一個類,則執(zhí)行 ”AB a, b(3), *p。” 語句時共調(diào)用該類構造函數(shù)的次數(shù)為 ( D )次。 A. 5 B. 4 C. 3 D. 2 10. 在重載一個運算符時,其參數(shù)表中沒有任何參數(shù),這表明該運算符是( B )。 A. 作為友元函數(shù)重載的 1 元運算符 B. 作為成員函數(shù)重載的 1 元運算符 C. 作為友元函數(shù)重載的 2元運算符 D. 作為成員函數(shù)重載的 2元運算符 1. 當執(zhí)行 cout語句輸 出 endl數(shù)據(jù)項時,將使 C++顯示輸出屏幕上的光標從當前位置移動到 ____下一行 ____的開始位置。 2. 假定 x 和 y為整型,其值分別為 16和 5,則 x/y和 double(x)/y的值分別為 _____3_____和 。 3. strlen(”apple”) 的值為 ____5____。 4. C++程序運行時的內(nèi)存空間可以分成全局數(shù)據(jù)區(qū),堆區(qū),棧區(qū)和 _____代碼 _____區(qū)。 5.假定 a 是一個一維指針數(shù)組,則 a+i所指對象的地址比 a大 ___4 * i_____字節(jié)。 6. 如果一個派生 類只有一個唯一的基類,則這樣的繼承關系稱為 _____單繼承 _____。 7.假定 AA 是一個類,“ AA* abc()const?!笔窃擃愔幸粋€成員函數(shù)的原型,在該函數(shù)體中 _____不允許 _____向 *this 或其成員賦值。 8.假定用戶沒有給一個名為 AB的類定義構造函數(shù),則系統(tǒng)為其定義的構造函數(shù)為 ____AB() {}______。 9.假定用戶為類 AB 定義了一個構造函數(shù) AB(int aa) {a=aa。},該構造函數(shù)實現(xiàn)對數(shù)據(jù)成員 _____a____的初始化。 10. 作為類的成員函數(shù)重載一個運算符時,參 數(shù)表中只有一個參數(shù),說明該運算符有 ____2____個操作數(shù)。 三、程序填充題,對程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標號把合適的內(nèi)容填寫到程序下面相應標號的后面(每小題 5分,共 20分) 1. 打印出 2 至 99之間的所有素數(shù) (即不能被任何數(shù)整除的數(shù) )。 include include void main() { int i,n。 for(n=2。 ___(1)___。 n++) { int temp=int(sqrt(n))。 //求出 n 的平方根并取整 for(i=2。 ___(2)___。 i++) if(n%i==0) ___(3)___。 if(itemp) coutn39。 39。 } cout39。\n39。 2 } (1) n=99 (2) i=temp (3) break 2. 下面是對按從小到大排列的有序數(shù)組 a[n]中進行二分查找 x的算法,若查找成功返回該元素下標,否則返回 1。 int BinarySearch(int a[],int n,int x) { int low=0, high=n1。 //定義并初始化區(qū)間下界和上界變量 int mid。 //定義保存中點元素下標的變量 while(low=high) { mid=___(1)___。 if(x==a[mid]) ___(2)___。 else if(xa[mid]) high=mid1。 else ___(3)___。 } return 1。 } (1) (low+high)/2 (2) return mid (3) low=mid+1 3.請補充完整如下的類定義: class A { char *a。 public: