C語言境界(1)

C.jpg

學語言亦如修道,所以在這裏我借用仙俠小說裏關於修道境界的劃分來描述C語言學習的各個階段的特徵,這個可以衡量你C語言掌握的程度。

  • 網頁築基
  • 網頁凝體
  • 網頁化神
  • 網頁入道
  • 網頁小成
  • 網頁渡劫

  • 築基

能夠掌握編輯,編譯、鏈接、運行基本步驟,理解基本數據類型、會定義變量,能夠正確輸入輸出基本類型的數據,能夠熟練使用常用的運算符,會簡單的程序調試(斷點、單步執行、查看變量的值),那麼恭喜你,你已經打好了良好的基礎,完成了築基階段,給繼續學習創造了良好條件。下面是測試題目:

一、選擇題(每題2分,共20題,共40分)

注意:選擇題有多選也有單選,如果是多選題,必須選中所有正確答案才能得分,多選和漏選均不得分。

1. 下列不能正確表示代數式 的C語言表達式是( )

A) 2*a*b/c/d B) a*b/c/d*2 C) a/c/d*b*2 D) 2*a*b/c*d

2. 若有語句scanf(“%d,%d,%d”, &a, &b, &c); 則錯誤的輸入語句是( )

(其中,□表示空格)

A) □□□1,2,3<回車>

B) 1□2□3<回車>

C) 1,□□□2,□□□3<回車>

D) 1,2,3<回車>

3. 已知:char a;int b;float c;double d;執行語句c=a+b+c+d;後,變量c的數據類型是( )。

A) int B) char C) float D) double

4. 下列程序段的運行結果( )

int y = 5, x = 14;

y =((x=3*y,x+1), x-1);

printf(“x=%d,y=%d”, x, y);

A) x=12,y=13B) x=27,y=27 C) x=15,y=14D) x=y=27

5. 下面程序段的輸出結果是( )

int u = 011, v = 0x11, w = 11;

printf(“%o,%x,%d\n”, u, v, w);

A) 9,17,11 B) 9,11,11C) 11,11,11D) 11,17,11

6. 以下不正確的C語言標識符是( )

A) int B) a_1_2 C) ab1exe D) _x

7. 下面程序的運行結果是( )

#include <stdio.h>

int main(void)

{

int x = 0xFFFF;

x--;

printf("%d \n", x);

return 0;

}

設 int 型佔 2 個字節,則上面程序執行後的輸出結果是()。

A) -1 B) FFFE C) -32768 D) -2

8. 設有:int a=1,b=2,c=3,d=4,m=2,n=2;執行(m=a>b)&&(n=c>d)後n的值爲()

A) 1 B) 2 C) 3 D) 0

9. 不合法的整型常量()

A)1L B) 0L C) (long)234 D)234

10. 若變量a, b已正確定義,且b已經正確賦值,則非法的語句( )

A) b = double(b); B) ++b;C) a = a++ = 5; D) a = (double)b

11.如果從鍵盤上分別輸入12,則輸出結果是( )

#include <stdio.h>

int main()

{

int x, y;

scanf("%d", &x);

y = (x > 12) ? x+10 : x-12;

printf("%d\n", y);

return 0;

}

A) 1 B) 3 C) 2 D) 0

12. 若有定義:int a = 7;float x = 2.5,y = 4.7;則表達式 x + a % 3 * (int)(x+y) % 2 / 4的值是( )

A) 2.500000 B) 2.750000 C) 0.000000 D) 3.500000

13. 下列選項中合法的字符常量是( )

A) ‘1’ B) ‘”’C) ‘\xCC’ D) ‘\072’

14. 當變量C的值不爲2,4,6時,值也爲“真”的表達式是( )

A) (c==2)||(c==4)||(c==6) B) (c>=2&&c<=6)||(c!=3)||(c!=5)

C) (c>=2&&c<=6)&&!(c%2) D) (c>=2&&c<=6)&&(c%2!=1)

15. 設 char 型變量 x 中的值爲 10100111,則表達式(2 + x) ^ (~3) 的值(按一個字節計算)是( )。

A) 01010101 B) 10101001 C) 11111101 D) 10101000

16. 設變量已正確定義並賦值,下列錯誤的表達式是( )

A) x = y * 5 = x + z B) int(15.8%5)

C) x = y + z + 5, ++y D) x = 25%5.0

17. 執行下列程序段後,w的值是( )

int w = ’A’, x = 14, y = 15;

w = ((x||y) && (w<’a’));

A) -1B) ‘A’ C) 1 D) 0

18. 以下敘述正確的是()。

A. 若 a 是實型變量,C 程序中允許賦值 a = 10,因此實型變量中允許存放整型

B. 在 C 程序中,每行只能寫一條語句

C. 在 C 程序中,% 是隻能用於整數運算的運算符

D. 在 C 程序中,無論是整數還是實數,都能被準確無誤地表示

19. 語句: printf("%d \n",12 & 012); 的輸出結果是()

A) 8 B) 12 C) 012 D) 6

20. 設unsigned short x = 65535;,則x加1的結果是()

A) -65536 B) 65536 C) 0 D) -1


二.編程(每題10分)

1. 已知三角形三邊,求三角形面積

2. 數值交換

3. 旅行良伴 Tom初次來中國旅行,他很不習慣大陸用攝氏溫度計,你能幫他一個忙,將攝氏溫度轉換成華氏溫度嗎?

4. 定期存款本利之和 已知銀行定期存款的年利率爲2.25%,假設客戶存款本金爲capital元,求n年後的本利之和。

5. 求最值 編寫一個程序,輸入三個數,計算這三個數的和、平均值、最小值、最大值。

6. 數據排序 編寫一個程序,輸入3個實數,然後按從小到大的順序將3個數排序並輸出。

有需要答案的,請看我的視頻:http://edu.51cto.com/course/course_id-677-page-2.html,第十三 單元測驗。

鬱悶,還不能貼圖片..

標準:得分超過60分,過關,你已經打下了很好的基礎,可以繼續學習

得分50分以上,基礎能夠滿足你繼續學習。

得分40分一下,你再複習一下數據類型、運算符的內容吧。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章