2015年計算機二級《C語言》最新章節(jié)練習題(2)
16有以下程序
程序的運行結果是
A.DB.CC.BD.A
參考答案:A
參考解析:首先判斷x>1由于x=1不大于1,不進入該if語句,程序跳入else語句判定zx。條件不成立,因此輸出字母D,答案為A選項。
17以下關于C語言函數(shù)參數(shù)傳遞方式的敘述正確的是
A.數(shù)據(jù)只能從實參單向傳遞給形參
B.數(shù)據(jù)可以在實參和形參之間雙向傳遞
C.數(shù)據(jù)只能從形參單向傳遞給實參
D.C語言的函數(shù)參數(shù)既可以從實參單向傳遞給形參,也可以在實參和形參之間雙向傳遞,可視情況選擇使用
參考答案:A
參考解析:數(shù)據(jù)只能由實參單向傳遞給形參稱為“值傳遞”,而不能由形參傳回來給實參,A選項正確;數(shù)組名、指針等作參數(shù),實參傳遞給形參的是地址值,這樣形參和實參就指向同一段內存單元,在函數(shù)體內對形參數(shù)據(jù)的改變也將影響到實參。實參和形參之間不可雙向傳遞。B、D選項錯誤。數(shù)據(jù)不能從形參傳遞給實參,C選項錯誤。
18以下fun函數(shù)的功能是將形參s所指字符串內容顛倒過來
在橫線處應填同入的內容是
A.+1B.-1C.+0D.k=0
參考答案:B
參考解析:本題考查字符串處理函數(shù)strlen,strlen計算一個字符串的長度,包含結尾符,所以本題中j的初始化應該是從最后一個字符開始,所以應該將得到的字符串長度減1,選項B正確。
19若有以下程序
則程序的輸出結果是
A.China!B.to China!C.me you to China!D.you to China!
參考答案:D
參考解析:該程序首先定義*a和b[],并進行初始化。主函數(shù)中通過外層for循環(huán)語句,遍歷字符數(shù)組b[],并且將符合if條件語句的字符賦給數(shù)組p;for內層循環(huán)語句,遍歷字符數(shù)組a[]。再將符合if條件語句的結果輸出。因此D選項正確。
20若有以下程序
則程序的輸出結果是
A.Hay!B.HowareyouC.Howareyou!D.How are you!
參考答案:C
參考解析:主函數(shù)中首先定義字符數(shù)組a[]="How areyou! ";執(zhí)行for循環(huán)語句,語句if(a[i]!= ")a[j++]=a[i];其功能是將字符數(shù)組中的空格去掉。因此C選項正確。
21若有以下程序
則程序的輸出結果是
A.4,5,6,7,
B.4,7,10,13,
C.4,6,8,10,
D.3,5,7,9,
參考答案:C
參考解析:主函數(shù)中變量k作為for語句的循環(huán)變量,取值0、1、2、3,同時也作為實參通過調用函數(shù)f傳遞給形參變量m。南于變量a是全局變量,變量n是static靜態(tài)變量,因此k=0時,f函數(shù)中,語句return n+m+a;即l+0+3=4;k=1時,f函數(shù)中,語句retum n+m+8;即2+1+3=6;k;2時,f函數(shù)中,語句returnn+m+a;即3+2+3=8;k=3時,f函數(shù)中,語句return n+m+a;即4+3+3=10。因此C選項正確。
22若有以下程序
執(zhí)行時若輸入:(其中表示回車符)
Fig flower is red.
則輸出結果是
A.wet is red.Fig Co is blue.
B.wet is red.Fig flo
C.wet is red.The sky is blue.
D.Fig flower is red.The sky is blue.
參考答案:A
參考解析:程序首先初始化字符數(shù)組b[],執(zhí)行for循環(huán)語句。循環(huán)變量i的取值范圍從0到6。在for循環(huán)語句中通過scanf函數(shù)將從鍵盤上輸入的數(shù)據(jù)輸入到b[]中,即b的值為Fig Co is blue.。退出for循環(huán)語句,執(zhí)行語句gets(A.;,gets()函數(shù)的調用形式為:gets(str_adr),其中str_adr是存放輸入字符串的起始地址,可以是字符數(shù)組名。字符數(shù)組元素的地址或字符指針變量。gets函數(shù)用來從終端鍵盤讀入字符串(包括空格符),直到讀入一個換行符為止,即a的值為wflr is red.。因此A選項正確。
23以下敘述中正確的是
A.數(shù)組下標的下限是1
B.數(shù)組下標的下限由數(shù)組中第一個非零元素的位置決定
C.數(shù)組下標的下限由數(shù)組中第一個被賦值元素的位置決定
D.char el,c2,*c3,c4[40];是合法的變量定義語句
參考答案:D
參考解析:
數(shù)組下標的下限是0。因此D選項正確。
24對于while(!E)s;,若要執(zhí)行循環(huán)體s,則E的取值應為:
A.E等于1B.E不等于0C.E不等于1D.E等于0
參考答案:D
參考解析:while語句的一般形式為:while(表達式)語句;其中表達式是循環(huán)條件,語句為循環(huán)體。while語句的語義是:計算表達式的值,當值為真(非0)時,執(zhí)行循環(huán)體語句。該題中如要執(zhí)行語句s,則!E應為真,因此E應等于0,D選項正確。
25以下敘述中正確的是
A.局部變量不能被說明為static
B.只有全局變量才有自己的作用域,函數(shù)中的局部變量沒有作用域
C.只有在函數(shù)內部定義的變量才是局部變量
D.只要是用戶定義的標識符,都有一個有效的作用域
參考答案:D
參考解析:本題考查局部變量和全局變量作用域,B選項中局部變量也有作用域,C選項中,函數(shù)內部定義的也可能是全局變量,A選項錯誤,因為可以定義個靜態(tài)局部變量。
26有以下程序
程序的輸出結果是
A.693825B.69825C.63825D.6385
參考答案:D
參考解析:本題的意圖在于將C中兩個字符串的偶數(shù)位置的數(shù)字組成一個新數(shù),找到的四個數(shù)字分別為6、3、8、5,組成的數(shù)為6385,所以答案為D選項。
27有如下程序段
則循環(huán)結束后i的值為
A.6B.5C.9D.10
參考答案:A
我的答案:D
參考解析:if(i>5)break;表示判斷i值,如果i大于5,執(zhí)行break語句,結束循環(huán)程序,這里當i=6,循環(huán)結束。因此答案為A選項。第27題 筆記記錄我的筆記(0) | 精選筆記(1)選擇筆記標簽:試題內容(1)答案解析(0)
28以下敘述中正確的是
A.只能在循環(huán)體內和switch語句體內使用break語句
B.當break出現(xiàn)在循環(huán)體中的switch語句體內時,其作用是跳出該switch語句體,并中止循環(huán)體的執(zhí)行
C.continue語句的作用是:在執(zhí)行完本次循環(huán)體中剩余語句后,中止循環(huán)
D.在while語句和do-while語句中無法使用continue語句
參考答案:A
參考解析:break語句通常用在循環(huán)語句和開關語句中。
當break用于開關語句switch中時,可使程序跳出switch而執(zhí)行switch以后的語句;當break語句用于do…while、for、while循環(huán)語句中時,可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語句,即滿足條件時便跳出循環(huán)。continue語句的作用是跳過循環(huán)體中剩余的語句而強行執(zhí)行下一次循環(huán)。B選項中break只跳出該switch語句,并不能終止循環(huán),因此B錯。C選項continue語句結束本次循環(huán),至于大循環(huán)的終止與否與其無關,因此C錯。D項中while和do…while語句都可以使用,continue語句跳出本次循環(huán),因此D錯誤。因此A進項正確。
29有以下程序
程序運行后的輸出結果是
A.2 6B.2 3C.4 3D.4 6
參考答案:B
參考解析:本題主要考查指針與數(shù)組。觀察題目,可以發(fā)現(xiàn),*P=&aa[0][0]語句實際是將數(shù)組”的首地址賦給了指針變量P。將i的值帶入for循環(huán)中,i=0時,aa[0][1]=3,*P=2;*P輸出的是指針所指向的數(shù)組值,此時P所指向的是aa[O][0],輸出2,而i=1時執(zhí)行了++P操作使指針向后移動指向了aa[0][1],所以在輸出*P時應為3。因此B選項正確。
30以下敘述中正確的是
A.if語句只能嵌套一層
B.if子句和else子句中可以是任意的合法的c語句
C.不能在else子句中再嵌套if語句
D.改變if-else語句的縮進格式,會改變程序的執(zhí)行流程
參考答案:B
參考解析:A選項中,if語句的嵌套沒有規(guī)定層數(shù);C選項中,可以在else予句中再嵌套if語句;D選項中,改變if—else語句的縮進格式,不會改變程序的執(zhí)行流程,需要注意if和else的配對問題。因此B選項正確。