計算機二級c語言試題

來源:才華庫 2.45W

多花點時間看看書,然後做做題,計算機二級完全沒有問題。下面是計算機二級c語言試題,歡迎練習。

計算機二級c語言試題

1、以下敘述中正確的是

A.只要適當地修改程式碼,就可以將do-while與while相互轉換

B.對於“for(表示式1;表示式2;表示式3)迴圈體”首先要計算表示式2的值,以便決定是否開始迴圈

C.對於“for(表示式1;表示式2;表示式3)迴圈體”,只在個別情況下才能轉換成while語句

D.如果根據演算法需要使用無限迴圈(即通常所稱的“無窮迴圈”),則只能使用while語句

參考答案:A

參考解析:B選項中,for語句中需要先求解先求解表示式1;C選項中,for語句使用最為靈活,它完全可以取代while語句;D選項中,對於無窮迴圈,也可以使用for語句。因此A選項正確。

2、以下敘述中正確的是

A.兩個字串可以用關係運算符進行大小比較

B.函式呼叫strlen(s);會返回字串S實際佔用記憶體的大小(以位元組為單位)

C.C語言本身沒有提供對字串進行整體操作的運算子

D.當拼接兩個字串時,結果字串佔用的記憶體空間是兩個原串佔用空間的和

參考答案:C

參考解析:本題考查字串處理函式strien、strcat、strcmp。B選項中strlen返回的是字串s實際佔用記憶體大小加上結尾符,A選項中不能用關係運算符進行大小比較,可以使用strcmp。D選項當使用連線函式strcat時,記憶體空間會減少一個字元位置。

3. 下列不正確的定義是( )。

A、int *p=&i,i;

B、int *p,i;

i,*p=&i;

D、int i,*p;

參考答案:A

參考解析:選項A先定義一個整型指標變數p,然後將變數i的地址賦給p。然而此時還未定義變數i因此編譯器無法獲得變數i的地址。(A與C對比,選項C先定義變數i,則在記憶體中為i分配空間,因此i在記憶體空間的地址就可以確定了;然後再定義p,此時可以為p賦i的地址,C正確)

4.下列資料中屬於“字串常量”的是( )。

A、“a”

B、{ABC}

C、‘abc’

D、‘a’

參考答案:A

參考解析:若干個字元構成字串

在C語言中,用單引號標識字元;用雙引號標識字串。選項B,C,分別用{}和’’標識字串。選項D,標識字元。

5.已知char x[]="hello", y[]={'h','e','a','b','e'};, 則關於兩個陣列長度的正確描述是 .

A、相同

B、x大於y

C、x小於y

D、以上答案都不對

參考答案:B

參考解析:can'kaoC語言中,字串後面需要一個結束標誌位'',通常系統會自動新增。

對一維陣列初始化時可採用字串的形式(例如本題陣列x),也可採用字元集合的形式(例如本題陣列y)。在以字串形式初始化時,陣列x不盡要儲存字串中的字元,還要儲存字串後的結束標誌位,因此陣列x的長度為6;在以字元集合形式初始化時,陣列y,僅儲存集合中的元素,因此陣列y長度為5

6、若有定義語句:char a='82';則變數a( )

A.說明不合法

B.包含1個字元

C.包含2個字元

D.包含3個字元

參考答案:B

參考解析:char a='82',定義字元量a,char型變數值為1個位元組長度,並從右側開始運算,所以a的.值應為'2'。因此B選項正確。

7、 以下敘述中正確的是

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

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

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

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

參考答案:C

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

8、 以下選項中合法的c語言常量是( )。

A.,C—STR’

B.2014.1

C.”l.0

D.2EK

參考答案:B

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

9. 若“int n; float f=13.8;”,則執行“n=(int)f%3”後,n的值是( )

A、1

B、4

C、4.333333

D、4.6

參考答案:A

參考解析:“(int)f“表示將f中的值強制型別轉換為整型,即將13.8的小數部分舍掉,轉換為13;然後計算13%3,結果為1,再將結果賦給變數n,因此n的值為1

10.以下能對一維陣列a進行初始化的語句是:( )

A、int a[5]=(0,1,2,3,4,)

B、 inta(5)={}

C、 int a[3]={0,1,2}

D、 int a{5}={10*1}

參考答案:C

參考解析:詳見教材P145,一維陣列的定義、初始化

選項B,D,常量表達式只能放在中括號 [ ]中

選項A,陣列可以看做是若干個相同資料型別元素的有序集合,因此以集合的形式對其初始化,使用{ }對其初始化,選項A用了().

熱門標籤