2016年計算機二級《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;
C.int 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\0’
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語言中,字符串后面需要一個結束標志位'\0',通常系統會自動添加。
對一維數組初始化時可采用字符串的形式(例如本題數組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的值會發生改變
C.else不是一條獨立的語句,它只是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用了().
【計算機二級《C語言》練習題與答案】相關文章:
計算機二級《C語言》基礎練習題及答案03-23
計算機二級《C語言》練習題及答案201603-09
計算機二級《C語言》基礎練習題及答案02-06
2016計算機二級《C語言》練習題及答案03-26
計算機二級C語言模擬試題及答案12-08
計算機二級《C語言》試題及答案201611-21