2016年9月計算機二級《C++》練習題及答案
(1)以下都是C++語言標識符的是
A)dsfa,df4,f$
B)huhj,a^,k2
C)3k,h,j_9
D)_ok,jk,k8
(2)C++語言中用於定義類的關鍵字是
A)class
B)struct
C)default
D)sizeof
(3)設以下變量均爲int類型,則值不等於7的表達式是
A)(x=y=6,x+y,x+1)
B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1)
(4)以下程序的輸出結果是
#include
void main()
{ int a=21,b=11;
cout << --a+b;}
A)30
B)31
C)32
D)33
(5)while 和do-while循環的主要區別是
A)do-while的循環體至少無條件執行一次
B)while的循環控制條件比do-while的循環控制條件更嚴格
C)do-while允許從外部轉到循環體內
D)do-while 的循環體不能是複合語句
(6)與 y=(x>0?1:x<0?-1:0);的功能相同的if語句是
A)if (x>0)y=1;
else if(x<0)y=-1;
else y=0;
B)if(x)
if(x>0)y=1;
else if(x<0)y=-1;
C)y=-1;
if(x)
if(x>0)y=1;
else if(x==0)y=0;
else y=-1;
D)y=0;
if(x>=0)
if(x>0)y=1;
else y=-1;
(7)若二維數組a有m列,則計算任一元素a[i][j]在數組中相對位置的公式爲 (假設a[0][0]位於數組的第一個位置上)
A)i*m+j
B)j*m+i
C)i*m+j-1
D)i*m+j+1
(8)下面程序段的運行結果是
#include
void main()
{ char *s="abcde";
s+=2;
cout << &s;}
A)cde
B)字符′c′
C)字符′c′的地址
D)無確定的輸出結果
(9)下面敘述不正確的是
A)派生類一般都用公有派生
B)對基類成員的訪問必須是無兩義性的
C)賦值兼容規則也適用於多重繼承的組合
D)基類的公有成員在派生類中仍然是公有的
(10)下面程序應能對兩個整型變量的值進行交換。以下正確的說法是
#include
void swap(int p,int q)
{ int t;
t=p;
p=q;
q=t;}
void main()
{ int a=10,b=20;
cout << a << " " << b;
swap(&a,&b);
cout << a << " " << b;}
A)該程序完全正確
B)該程序有錯,只要將語句swap(&a,&b);中的參數改爲a,b即可
C)該程序有錯,只要將swap()函數中的形參p和q以及t均定義爲指針(執行語句不變)即可
D)以上說法都不對
答案與解析:
(1)D
解析: C++語言標識符只能由數字,字母和下劃線組成,並且只能以字母和下劃線爲開頭。
(2)A
解析: C++中類定義的關鍵字是class。class不能大寫。
(3)C
解析: C++語言中逗號","也是一種運算符,稱爲逗號運算符。其功能是把兩個表達式連接起來組成一個表達式,稱爲逗號表達式。其一般形式爲:表達式1, 表達式2,其求值過程是分別求兩個表達式的值,並以表達式2的值作爲整個逗號表達式的值。逗號表達式的一般形式可以擴展爲:表達式1,表達式2,表達式3,…,表達式n,它的值爲表達式n的值。
(4)B
解析: 自減運算符位於變量之前時,先使變量的值減1,再進行運算。
(5)A
解析: while是先判斷條件再執行語句;do-while則是先執行一次語句再判斷條件,從而決定是否繼續再執行循環體中的語句,這正是二者主要區別。
(6)A
解析: 條件運算符要求有三個操作對象,它是C++語言中惟一的一個三目運算符。條件表達式的一般形式爲:表達式1?表達式2:表達式3,先求解表達式1,若爲非0(真)則求解表達式2,此時表達式2的值就作爲整個條件表達式的值。若表達式1的值爲0(假),則求解表達式3,表達式3的`值就是整個條件表達式的值。本題中用了兩次三目運算符。
(7)A
解析: a[i][j]元素之前有i行元素(每行有m個元素),在a[i][j]的前面還有j個元素,因此a[i][j]之前共有i*m+j個元素。
(8)C
解析: 對於字符串指針,其保留的是整個串的首地址,即爲第一個字符的起始地址,當該指針做算術運算時,就是該指針根據其類型向後移動相應的存儲空間。
(9)D
解析: C++語言中如果基類的成員是公有的,它被繼承後在子類中該成員可能是公有的,也可能不是,主要看繼承的權限。
(10)D
解析: 本題應該把swap()函數改成這樣:swap(int *p,int *q){int t; t=*p;*p=*q;*q=t;}執行程序時,先將a的地址傳遞給指針變量p,b的地址傳遞給指針變量q,然後將*p(a的值)的值傳遞給t,將*q(b的值)傳遞給*p,將t的值傳遞給*q,從而將a值和b值互換。
相關文章
-
2016年9月計算機二級《C語言》模擬練習題及答案
(1)在現實中,一般我們一般將計算機分類爲A)服務器、工作站、臺式機、筆記本、掌上電腦B)大型機、小型機、個人計算機、工作站、巨型計算機C)服務器、工作站、臺式機、筆記本D)服務器/工作站、臺式機、筆記本、掌上電腦 -
2016年9月計算機二級《C語言》考前練習題及答案
一、程序填空題給定程序中,函數fun的功能是:利用指針數組對形參ss所指字符串數組中的字符串按由長到短的順序排序,並輸出排序結果。ss所指字符串數組中共有N個字符串,且串長小於M。請在程序的下畫線處填人正確的內容 -
2016年9月計算機二級《C++》上機題庫及答案
一、簡單應用題已知考生的記錄由學號和學習成績構成,N名考生的數據已存入a結構體數組中。請編寫函數fun,該函數的功能是:找出成績最低的考生記錄,通過形參返回主函數(規定只有一個最低分)。已給予出函數的首部,請完成 -
2016年9月計算機二級《C++》機考試題及答案
在辦理信用卡的時候,都需要出示收入證明。下面是小編爲大家蒐集的3篇關於信用卡的收入證明範本,供大家參考借鑑。信用卡收入證明範本一茲證明________是我公司員工,在________部門任________職務,至今爲止,一年以來總收入 -
2016年9月計算機二級《C語言》上機考題及答案
1、以下選項中屬於C語言的數據類型是( )。A. 複合型B. 雙精度型C. 邏輯型D. 集合型2、以下說法中正確的是( )。A. C語言程序總是從第一個的函數開始執行B. 在C語言程序中,要調用的函數必須在main()函數中定義C. C語 -
2016年9月計算機二級《C語言》機考試題及答案
在求職過程中,一份優秀的求職信是必可不少的一部分,如何寫優秀求職信呢?我們可以先參考優秀的求職信範文,不斷的去鍛鍊就會有成績。要明白的是不會一時三刻就可以寫一份好的求職信。而很多求職者並不明白如何去寫一份好 -
2016年9月計算機二級《C語言》上機試題及答案
(1)一個棧的初始狀態爲空。現將元素1、2、3、4、5、A、B、c、D、E依次入棧,然後再依次出棧,則元素出棱的順序是( )。A.12345ABCDEA54321El2345D.54321EDCBA(2)下列敘述中正確的是( )。A.循環隊列有隊頭和隊尾兩 -
2016年9月計算機二級《C++》測試題及答案
選擇題(1)關於友元的概念錯誤的是A)友元函數沒有this指針B)調用友元函數時必須在它的實參中給出要訪問的對象C)一個類的成員函數也可以作爲另一個類的友元函數D)只能在類的公有段聲明友元(2)關於抽象類下面說法正 -
2016年9月計算機二級《VB》衝刺練習題及答案
1.按照後進先出原則組織數據的數據結構是( )。A.隊列B.棧C.雙向鏈表D.二叉樹2.下列對於軟件測試的描述正確的是( )。A.軟件測試的目的是證明程序是否正確B.軟件測試的目的是使程序運行結果正確C.軟件測試的目的是儘可 -
2016年計算機二級《C++》練習題及答案
C++是在C語言的基礎上開發的一種面向對象編程語言,C++語言程序設計是計算機二級考試科目之一,下面本站小編爲大家搜索整理了關於二級《C++》練習題及答案,歡迎參考學習,希望對大家有所幫助!想了解更多相關信息請持續關注