




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一、選擇題
1.在每個C++程序中都必須包含有這樣一個函數,該函數的函數名為
____________A_________o
A.mainB.MAINC.
nameD.function
2.若a,b均為int型變量,為了將10賦給a,將20賦給b,則對應以下cin
語句的正確輸入方式為B。(<CR>代表回車換行,—代表空格)。
cin?a?b;
A.1020<CR>B.10_20<CR>C,10,20<CR>D.20_10<CR>
3.在以下關于C++語言的注釋的敘述中,不正確的是C°
A.C++程序中,注釋可用7*"、"*/"形式表示,也可用"http://"形式表示
B.C++編譯器在編譯一個程序時,將跳過注釋,不對其進行處理
C.C++編譯器在編譯一個程序時,可發現注釋中的單詞拼寫錯誤
D.程序中注釋的多少不會影響所生成的可執行文件的長度
4.以下敘述不正確的是C。
A.在C++程序中,嚴格區分大小寫字母
B.一個C++源程序有且僅有一個main函數
C.在C++程序中,注釋只能位于一條語句的后面
D.一個C++程序總是從main函數開始執行
5.C++語言對C語言做了很多改進,C++語言相對于C語言的最根本的變化是
D
A.增加了一些新的運算符
B.允許函數重載,并允許設置缺省參數
C.規定函數說明符必須用原型
D.引進了類和對象的概念
6.C++是C
A.面向對象的程序設計語言
B.結構化程序設計語言
C.既是面向對象的程序設計語言又是結構化程序設計語言
D.非結構化程序設計語言
7.下列合法的標識符為D
A.abde+B.#KDJFC.67KDJD.DK3_
8.關于字符串和字符的關系正確的是C
A."A”與'A,是相同的
B.字符串是常量,字符是變量
C."A”與'A,是不同的
D."A"與"A”是相同的
9.下面關于語句的說法正確的是B
if(x>y)if(x>y)
{z=x;s=z*z;}z=x;s=z*z;
elseelse
{z=y;s=]/(z*z);}z=y;s=l/(z*z);
A.下面這兩段程序的執行效果是一致的
B.空語句是只有一個分號的語句,它其實什么也不干
C.語句的構成不一定需要分號
D.語句的書寫對程序的運行不起作用,因此可以隨便寫都可以
10.以下各標識符中,合法的用戶標識符組為D。
A.PAd,P#d,b-b,abc,_0123,ssiped
B.cin,alO,CPP,float,del_word,signed
C.void,max,hiy,<fr>,list,*jer
D.a,temp,_isw,INT,keep,wind
11.在VC++中,以下語句的輸出為D0
shortintk=-1;
cout?k??(unsignedshort)k?endl;
A.-1,-1B.-1,32767C.-1,32768D.-1,65535
12.若給出以下程序,其輸出為B。
#include<iostream>
usingnamespacestd;
intmain()
{inta=4,b=7;
cout?(a=a+l,b+a,b+l)?endl;
return0;
)
A.5B.8C.11D.程序有錯誤,無法運行
13.字符串“\"E0F=-\61\””的長度是A°
A.8B.9C.12D.非法字符串
14.數學式心詞在C++程序中對應正確的表達式為a
A.sqrt(sin(x)>O?sin(x):-sin(x))B.sqrt(fabs(sinx))
C.sqrt(sqrt(sinx*sinx))D.fabs(sqrt(sin(x)))
15.下列A是C++語言的有的標識符?
A._NolB.No.1C.12345D.int
16.C++語言中,表示一條語句結束的標號是B
A.#B.;C.//D.}
17.每個C++程序中都必須有且僅有一個C
A.類B.預處理命令C.主函數D.語句
18.下列數據類型不是C++語言基本數據類型的是D.
A.字符型B.整型C.實型D.數組
19.下列字符列中,可作為C++語言程序自定義標識符是B。
A.switchB.fileC.breakD.do
20.運算符+、<=、=、%中,優先級最低的運算符是C。
A.+B.<=C.=D.%
21.下列字符列中,可以作為“字符串常量”的是B。
A.ABCB."xyz"C.'uvw'D.'a'
22.設變量m,n,a,b,c,d均為0,執行(m=a==b)||(n=c==d)后,m,n
的值是D。
A.0,0B.0,1C.1,0D.1,1
23.字符串"vm\x43\\\nD\102Q"的長的是A。
A.8B.10C.17D.16
24.在C++語言中,自定義的標識符D。
A.能使用關鍵字并且不區分大小寫
B.不能使用關鍵字并且不區分大小寫
C.能使用關鍵字并且區分大小寫
D.不能使用關鍵字并且區分大小寫
25.設有代碼“inta=5;”,則執行了語句"a+=a-=a*a;"后,變量a
的值是C°
A.3B.0C.-40D.-12
26.設a為5,執行下列代碼后,b的值不為2的是C
A.b=a/2B.b=6_(―a)
C.b=a%2D.b=a<3?3:2
27.設x和y均為bool量,則x&&y為真的條件是
A
A.它們均為真B.其中一個為真
C.它們均為假D.其中一個為假
28.若給定條件表達式(m)?(a++):(a-),則其中表達式mC
A.和(m==0)等價B.和(m==1)等價
C.和(m!=0)等價D.和(m!=l)等價
29.在C++語言的if語句中,用作判斷的表達式為D°
A.關系表達式B.邏輯表達式
C.算術表達式D.任意表達式
30.設i和k都是int類型,則以下for循環語句B.
for(i=0,k=-1;k=l;i++,k++)cout?
A.判斷循環結束的條件不合法B.是無限循環
C.循環體一次也不執行D.循環體只執行一次
31.若有以下語句,則輸出結果為A。
inta=2,b=l;
cout?a>b?"a大于b":"a小于b"?endl;
A.a大于bB.a小于bC.1D.輸出語句有錯
32.intk=10;
while(k=0)k=k-l;
則下面描述正確的是C°
A.while循環執行10次B.循環是無限循環
C.循環體語句一次也不執行D.循環體語句執行一次
33.inta=l,b=2,c=2,t;
while(a<b){t=a;a=b;b=t;c—;}
cout?a?w?b?w,w?c;
運行結果為D:
A.1,2,0B.2,1,0C.1,2,1D.2,1,1
34.intx=-l;
do
{x=x*x;}
while(!x);
下列說法正確的是C°
A.是死循環B.循環執行兩次
C.循環執行一次D.有語法錯誤
35.以下能正確計算1*2*3樸“*10的程序段是C°
A.do{i=l;s=l;B.do{i=l;s=0;
s=s*i;i++;}s=s*i;i++;)
while(i<=10);while(i<=10);
C.i=l;s=l;D.i=l;s=0;
do{s=s*i;do{s=s*i;
i++;}i++;}
while(i<=10);while(i<=10);
36.以下描述正確的是C。
A.由于do-while循環中循環體語句只是一條可執行語句,所以循環體內不
能使用復合語句
B.do-while循環由do開始,用while結束,在while(表達式)后面不能寫
分號
C.在do-while循環體中,一定要有能使while后面表達式的值變為零
(“假的操作
D.do-while循環中,根據情況可以省略while
37.C++中while和do-while循環的主要區別是A。
A.do-while的循環體至少無條件執行一次
B.while的循環控制條件比do-while的循環控制條件嚴格
C.do-while允許從外部轉到循環體內
D.do-while的循環體不能是復合語句
38.下面有關for循環的正確描述是D0
A.for循環只能用于循環次數已經確定的情況
B.for循環是先執行循環體語句,后判斷表達式
C.for循環中,不能用break語句跳出循環體
D.for循環的循環體語句中,可以包含多條語句,但必須用花括號括起來
39.對for(表達式1;:表達式3)可理解為B。
A.for(表達式1;0;表達式3)
B.for(表達式1;1;表達式3)
C.for(表達式1;表達式1;表達式3)
D.or(表達式1;表達式3;表達式3)
40.for(i=2;i==0;)printf("%d”,I-);
循環執行的次數是B。
A.無限次B.0次C.1次D.2次
41.在C++編程語言中,以下正確的描述是B。
A.continue語句的作用是結束整個循環的執行
B.只能在循環體內和switch語句體內使用break語句
C.在循壞體內使用break語句或continue語句的作用相同
D.從多層循環嵌套中退出,只能使用goto語句
42.下面程序段D°
for(t=l;t<=100;t++)
{cin?x;
if(x<0)continue;
cout?t;}
A.當x<0時整個循環結束B.x>=0時什么也不輸出
C.cout永遠也不執行D.最多允許輸出100個非負整數
43.定義一個函數實現交換x和y的值,并將結果正確返回。能夠實現此功能的
是C。
A.swap(intx,inty){intt;t=x;x=y;y=t;}
B.swap(int*x,int*y){intt;t=x;x=y;y=t;}
C.swap(int*x,int*y){intt;t=*x;*x=*y;*y=t;}
D.swap(int*x,int*y){int*t;t=x;x=y;y=t;}
44.說明語句"int(*p)():"的含義是C°
A.p是一個指向一維數組的指針變量
B.p是指針變量,指向一個整型數據
C.p是一個指向函數的指針,該函數的返回值是一個整型
D,以上都不對
45.設有說明int(*p)[4];其中的標識符D是C°
A.4個指向整型變量的指針變量
B.指向4個整型變量的函數指針
C.一個指向具有4個整型元素的一維數組的指針
D.具有4個指向整型變量的指針元素的一維指針數組
46.若有如下聲明,下列說法錯誤的是C。
structem
{chara;
charb;
);
A.struct是結構體類型關鍵字B.em是結構體類型名
C.em是用戶聲明的結構體變量D.a,b是結構體成員名
47.若有下列定義,則對結構體變量的成員引用錯誤的是C.
structdate
{intyear;
intmonth;
intday;
);
structstudent
{intno;
charname[16];
datebirthday;
}stud;
A.stud,no
B.stud,name
C.stud,birthday
D.stud,birthday,year
48.下列敘述中,不正確的是B。
A.類的構造函數可以重載
B.類的析構函數可以重載
C.一個類可以不定義構造函數
D.一個類可以不定義析構函數
49.已知宏定義:
SdefineN3
#defineY(n)((N+l)*n)
((N+l)*5+1)
執行語句z=2*(N+Y(5+D);后,變量z的值是B。
A.42B.48C.52D.出錯
50.類的構造函造的作用是C
A)一般成員函數的初始化
B)類的初始化
C)對象的初始化
D)刪除類創建的對象
51.下列說法正確的是B
A)內置函數在運行時是將該函數的目標代碼插入每個調用該函數的地方
B)內置函數在編譯時是將該函數的目標代碼插入每個調用該函數的地方
C)類的內置函數必須在類體內定義
D)類的內置函數必須在類體外通過加關鍵字inline定義
二、填空題
1.程序的三種基本的控制結構是:順序結構、選擇結構、_選
擇結構
2.假定一個結構類型定義為:
ustructD{inta;union{intb;doublec;};D*
d[2];};",則該類型的大小為20字節。
3.C++語言中的每條基本語句以__________;_______________作為結束符,每
條復合語句以}作為結束符。
4.關系表達式x+y>5的相反表達式為
x+y<=5o
5.下面的程序段中循環體的執行次數是3。
a=10;b=0;
do{b+=2;a-=2+b;}while(a>=0);
6.下面程序段的運行結果為**。
x=2;
do{cout<<;x—;}while(!x==0);
7.定義內置函數的方法是在函數的返回值類型之前增加關鍵字inline
8.假定a為一個整型數組名,則元素a[4]的字節地址為
____________a+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論