第 1 頁:選擇題 |
第 5 頁:程序填空題 |
第 6 頁:程序改錯題 |
一、選擇題
1執(zhí)行下列程序后,變量a,b,C的值分別是( )。
int x=5,y=4;
int a,b,c;
a=(--x==y++)?x=++y;
b=++x;
c=y:
A.a=5,b=5,c=5B.a=4,b=5,c=5C.a=5, b=6,c=5 D.a=1,b=5,c=6
參考答案:B
參考解析:本題考查自加(++)、自減(--)運算符的使用!++x,--x”,在變量x前使用,先使x的值加1或者減1,再使用此時的表達式的值參與運算;“x++,x”,先把使用x的值參與運算,在使用x之后,再使X的值加1或者減1。對于表達式--x=4,y++=4,兩者相等,--x=y++為真,所以a=x=4,執(zhí)行完此語句后y的值是5。第2個表達式b=++x,x的值先加1,然后賦給b,即b=x+1=5;表達式c=y=5。故選項B正確。
2若有以下程序段:
jnt c1=1,c2=2,c3:
c3=c1/c2:
執(zhí)行后的輸出結(jié)果是( )。
A.0B.1/2C.0.5D.1
參考答案:A
參考解析:cl和c2都是整數(shù),1/2取整得0,舍棄小數(shù)點。因此正確答案為A。
3若有定義:“int a=4,b=5;float x=3.4,y=2.1;”,則下列表達式的值為( )。
A.5.5B.55C.5.500000 D.55.00000
參考答案:C
參考解析:在計算(float)(a+b)/2時,由于通過強制類型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進行計算,得4.500000。
在計算(int)x%(int)y時,先將x和y通過強制類型轉(zhuǎn)換成int型,再進行求余運算,結(jié)果為1。又因為4.500000是float型,所以將1和它相加時,先將1換成float型,再計算,得到5.500000。
類型轉(zhuǎn)換的一般規(guī)則是低級類型從高級類型進行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類型的級別由低到高的排序表示為:char→int→unsigned→log→float→double。
4下列程序的執(zhí)行結(jié)果是( )。
A.3,14,1B.3,l4,2C.2,04,1D.2,14,l
參考答案:A
參考解析:本題主要考查自加減運算符(++,--)的使用。①如果作為前綴變量“++a,--a”,在使用a之前,先使a的值加1或者減1,再使用表達式的值參與運算;②后綴變量“a++,a--”,先使用表達式的值參與運算,在使用a之后,再使i的值加1或者減1。在本題中計算表達式c=(a++)-1時先使用a的值進行計算,結(jié)果為c=2-1=l,然后將a的值加1,即執(zhí)行完此句后a的值是3;表達式c+=-a+++(++b)也可寫成c=c+(-a++)+(++b),c=1+(-3)+3=l,此時a=4,b=3。
5下列程序的輸出結(jié)果是( )。
A.19B.18C.6D.8
參考答案:D
參考解析:本題考查switch ease開關(guān)語句,default退出繼續(xù)循環(huán)。當i=1時,執(zhí)行case 1,因為沒有break語句,所以依次往下運行,a=a+2=2,a=a+3=5;當i=2時,執(zhí)行case 2,沒有break語句,所以依次往下運行,a=a+2=7,a=a+3=10;當i=3時,執(zhí)行case 3,當a=a+1=11,沒有break語句,所以依次往下運行,a=a+2=13,a=a+3=16;當i=4時,沒有case語句,則執(zhí)行default,a=a+3=19,i=5不成立,循環(huán)結(jié)束。
6下面程序的功能是輸出以下形式的金字塔圖案:
在橫線處應(yīng)填入的是( )。
A.iB.2*i一1C.2*i+1D.i+2
參考答案:B
參考解析:通過觀察可知圖形共4行,主函數(shù)中通過一個for循環(huán)四次,輸出4行。第一行輸出3個空格和1個“*”,第2行輸出2個空格和3個“*”,第3行輸出3個空格和5個“*”,第四行輸出7個“*”,主函數(shù)中通過第二個循環(huán)控制每行的輸出空格數(shù),第三個for循環(huán)控制輸出的“*”的個數(shù),總結(jié)規(guī)律:每行輸出的“*”的個數(shù),總比前一行的多2個,且第一行的個數(shù)為1,可以斷定每行輸出的“*”的個數(shù)組成了一個公差為2的等差數(shù)列,所以每行輸出“*”的個數(shù)即該等差數(shù)列的通項,故該空格處應(yīng)該填寫2*i-1。
7設(shè)a、b、C、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達式(m=a>b)&&(n=c>d)運算后,n的值是( )。
A.0B.1C.2D.3
參考答案:C
參考解析:因為a>b不成立,故表達式a>b的值為0,即把0賦給m,因此&&左邊表達式的值為0,0與任何值&&運算都為0,于是不再計算&&右邊表達式的值,所以此時的n仍然為2。
8有下列二叉樹:
進行中序遍歷的結(jié)果是( )。
A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG
參考答案:A
參考解析:有3種遍歷方法:前序、中序和后序。中序遍歷首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。結(jié)果為ACBDFEC-。
9下列描述錯誤的是( )。
A.繼承分為多重繼承和單繼承
B.對象之間的通信靠傳遞消息來實現(xiàn)
C.在外面看不到對象的內(nèi)部特征是基于對象的“模塊獨立性好”這個特征
D.類是具有共同屬性、共同方法的對象的集合
參考答案:C
參考解析:對象的封裝性是指從外面看只能看到對象的外部特性,而對象的內(nèi)部,其處理能力的實行和內(nèi)部狀態(tài)對外本來就是不可見的、隱蔽的。
10若有以下說明,則( )不是對strcpy庫函數(shù)正確的調(diào)用。
A.strcpy(str2,str1)
B.B.strcpy(str3,str1)
C.strcpy(str1,str2)
D.strcpy(str5,str1)
參考答案:C
參考解析:strcpy(s1,s2)函數(shù)的功能是將字符串s2復(fù)制到字符串s1中。要保證sl存儲區(qū)能容納下s2字符串。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |