計算機二級

當前位置 /首頁/計算機/計算機二級/列表

2016年計算機二級考試試題C語言衝刺題及答案

2016年3月(45次)全國計算機等級(以下簡稱NCRE)考試將於3月26-29日舉行。為了幫助大家能順利通過2016年計算機二級考試,下面本站小編為大家帶來2016年計算機二級考試試題C語言衝刺題及答案,供大家參考學習,預祝考生考試成功!

2016年計算機二級考試試題C語言衝刺題及答案

  一、選擇題

1[單選題] 設有定義:char*C;以下選項中能夠使C正確指向一個字串的是( )。

str( )=”string”;C=str;

f(”%s”,

C.;C.c=getchar( );

D.*c=”strin9”;

參考答案:A

參考解析:A選項為正確用法,先將字串存於字元陣列中,然後將陣列名賦給字元指標(陣列名代表陣列首地址,定義陣列時為其分配確定地址)。C選項錯誤,getchar()函式只能輸入一個字元給字元型變數,而不是字元指標。B選項和D選項有類似的錯誤,兩個選項並無語法錯誤,但執行時可能會出現問題。因為在B選項和D選項中,字元指標沒有被賦值,是個不確定的值,指向一個不確定的記憶體區域,這個區域可能存放有用的指令或資料。在這個不確定的區域重新存放字串,可能會發生無法預知的錯誤。因此A選項正確。

2[單選題] 若有以下程式

則程式的輸出結果是

A.5,6,0B.6,0,0C.6。6,1D.5,6,1

參考答案:C

參考解析:本題重點考查C語言中for語句和邏輯表示式,for語句的一般形式為:

for(表示式1;表示式2;表示式3)語句其迴圈中的“表示式1(迴圈變數賦初值)”、“表示式2(迴圈條件)”和“表示式3(迴圈變數增量)”都是選擇項,即可以預設,但“;”不能預設。該題目中省了“表示式1(迴圈變數賦初值)”和“表示式3(迴圈變數增量)”。for(;a&&(b==0);){b+=a s a-=e++;}相當於while(a&&(b==0)){b+=a;a-=c++;}。因此c選項正確。

3[單選題] 以下敘述中正確的是

A.對於邏輯表示式:a++|| b++,設a的值為1,則求解表示式的值後,b的值會發生改變

B.對於邏輯表示式:a++&&b++,設a的值為0,則求解表示式的值後。b的值會發生改變

不是一條獨立的語句,它只是if語句的一部分

D.關係運算符的結果有三種:0,1,-1

參考答案:C

參考解析:B選項和A選項中,&&、||都是先計算左邊表示式的值,當左邊表示式的值能確定整個表示式的值。而且&&、||的.優先順序比++高,所以題中只需判斷a的值即可知道符合表示式的真假;D選項中,關係運算符的結果有“真”和“假”兩種。因此c選項正確。

4[單選題] 以下選項中合法的c語言常量是( )。

A.,C—STR’B.2014.1C.”l.0D.2EK

參考答案:B

參考解析:所謂常量是指在程式執行的過程中,其值不能被改變的量。在C語言中,有整型常量、實型常量、字元常量和字串常量等型別。選項A是字串,但使用單引號,錯誤,選項c,D,為實型常量中指數形式,但指數形式e(E)之前必須是數字,之後必須為整數,錯誤。故答案為B選項。

5[單選題] 有以下程式-

程式執行後的輸出結果是( )。

A.4B.2C.8D.1

參考答案:C

參考解析:在c語言中,需要在main函式後面定義函式,需要提前宣告,否則呼叫報錯,無法找到該函式。HI=f(f(f(n))),一共呼叫3次f()函式,f()函式是對n:it2,因此,結果是n}2}2$2,得到結果為8。故答案為c選項。

6[單選題] 若有定義:float x=1.5;int a=1,b=3,c=2;則正確的switch語句是( )。

參考答案:A

參考解析:B選項中switch((int)x);語句中不應該有最後的分號。switch(exprl),中的exprl不能用浮點型別或10n9型別,也不能為一個字串,所以c錯誤。ca”後面常量表達式的型別必須與switch後面表示式的型別一致,所以D錯誤。

7[單選題] 有以下程式

程式執行後的輸出結果是

A.41;20;80;B.41;22;64;C.40;21;80;D.43;20;81;

參考答案:A

參考解析:宣告結構型別S中有兩個整形變數x,y,在main函式中,為s結構型別定義一個數組變數data初始化3個結構體元素,分別兩兩賦值給結構體中的x,y。在for迴圈中,對3個結構體元素y值轉換成二進位制數後向右移一位,再對此時x,y值依次進行輸出,答案為A選項。

8[單選題] 設有定義:char*C;以下選項中能夠使C正確指向一個字串的是( )。

str( )=”string”;C=str;

f(”%s”,

C.;C.c=getchar( );

D.*c=”strin9”;

參考答案:A

參考解析:A選項為正確用法,先將字串存於字元陣列中,然後將陣列名賦給字元指標(陣列名代表陣列首地址,定義陣列時為其分配確定地址)。C選項錯誤,getchar()函式只能輸入一個字元給字元型變數,而不是字元指標。B選項和D選項有類似的錯誤,兩個選項並無語法錯誤,但執行時可能會出現問題。因為在B選項和D選項中,字元指標沒有被賦值,是個不確定的值,指向一個不確定的記憶體區域,這個區域可能存放有用的指令或資料。在這個不確定的區域重新存放字串,可能會發生無法預知的錯誤。因此A選項正確。

9[單選題] 若有以下程式

則程式的輸出結果是

A.5,6,0B.6,0,0C.6。6,1D.5,6,1

參考答案:C

參考解析:本題重點考查C語言中for語句和邏輯表示式,for語句的一般形式為:

for(表示式1;表示式2;表示式3)語句其迴圈中的“表示式1(迴圈變數賦初值)”、“表示式2(迴圈條件)”和“表示式3(迴圈變數增量)”都是選擇項,即可以預設,但“;”不能預設。該題目中省了“表示式1(迴圈變數賦初值)”和“表示式3(迴圈變數增量)”。for(;a&&(b==0);){b+=a s a-=e++;}相當於while(a&&(b==0)){b+=a;a-=c++;}。因此c選項正確。

10[單選題] 以下敘述中正確的是

A.對於邏輯表示式:a++|| b++,設a的值為1,則求解表示式的值後,b的值會發生改變

B.對於邏輯表示式:a++&&b++,設a的值為0,則求解表示式的值後。b的值會發生改變

不是一條獨立的語句,它只是if語句的一部分

D.關係運算符的結果有三種:0,1,-1

參考答案:C

參考解析:B選項和A選項中,&&、||都是先計算左邊表示式的值,當左邊表示式的值能確定整個表示式的值。而且&&、||的優先順序比++高,所以題中只需判斷a的值即可知道符合表示式的真假;D選項中,關係運算符的結果有“真”和“假”兩種。因此c選項正確。

11[單選題] 以下選項中合法的c語言常量是( )。

A.,C—STR’B.2014.1C.”l.0D.2EK

參考答案:B

參考解析:所謂常量是指在程式執行的過程中,其值不能被改變的量。在C語言中,有整型常量、實型常量、字元常量和字串常量等型別。選項A是字串,但使用單引號,錯誤,選項c,D,為實型常量中指數形式,但指數形式e(E)之前必須是數字,之後必須為整數,錯誤。故答案為B選項。

12[單選題] 有以下程式-

程式執行後的輸出結果是( )。

A.4B.2C.8D.1

參考答案:C

參考解析:在c語言中,需要在main函式後面定義函式,需要提前宣告,否則呼叫報錯,無法找到該函式。HI=f(f(f(n))),一共呼叫3次f()函式,f()函式是對n:it2,因此,結果是n}2}2$2,得到結果為8。故答案為c選項。