天天看點

C語言練習題 - 三人行部落格

C語言練習題

C語言練習題

1. 以下選項中,合法的一組C語言數值常量是(     )

A)028  .5e-3  .0xf   

B)12.  OXa23   4.5e0

C).177   4e1.5  Oabc   

D)0x8A  10,000  3.e5

2. 設整型變量x為7,則以下各表達式的值分别是(   )。

(1)y=x%3        (2) y=(++x)/3       (3) y=x/3             (4) y=8-(--x)

3. 若已定義int x=5, y=9, z; 語句z=x>y; 運作後z的值為( )。

4. ( )為正确的變量名。

A. int      B. –k15        C. k_5         D. k.jeep

5. 語句x=5%4+(4/5); 運作後,整型變量x的值為( )。

6. 若有定義 int i=1, j=9; 則表達式(++j) * (i--)的值為( )。

A. 10      B. 9           C. 8           D. 0

8. 判定邏輯值為“真”的最準确叙述是( )。

A. 大于0的數      B. 非0的整數      C. 非0的數       D. 1

9. ( )為正确的字元常量。

A. \'M\'        B. "\\"         C. "c"        D. "\24m"

10. C語言基本資料類型包括( )。

A. 整型、實型、邏輯型         B. 整型、實型、字元串型

C. 整型、字元型、邏輯型       D. 整型、字元型、實型

11. 若已定義int x,y,z; char a,b,c; 拟從鍵盤輸入一個值賦給變量y,則正确的函數調用是( )。

12. 下列輸出語句的書寫正确的是( )。

A. printf("This is C Program.");         B. print("This is C Program.");

C. printer("This is C Program.");        D. printf("This is C Program.")

13. C程式運作包括編輯、編譯、連接配接、執行四個步驟,每個步驟執行後的檔案分别是(   ),字尾名是(   ),(   )是二進制檔案,(   )可以被計算機執行。

14. C語言有( )種注釋符号。分别是(    ),有什麼差別?

15. 有表達式:a += a -= a * a,如果a的初始值為9,則表達式執行後a的值為( )。

16. C語言中運算對象必須是整型的運算符是(   )。

17. 以下程式運作後的輸出結果是( )。

int main( )

{

int a=0, b=1, c=2;

if(c = a)      printf("%d\n", c);

else     printf("%d\n", b);

return 0;

}

18. 以下程式運作後的輸出結果是( )。

int main( )

{

int x, a=0, b=1;

x=a++ && b++ ;   // x=a++  ||  b++ ;   // x= ++ a && ++ b ;  // x= ++ a || ++ b ;

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

return 0;

}

A. 0, 1      B. 1, 1       C. 0, 2     D. 1, 2

19. 以下程式運作後的輸出結果是( )。

int main( )

{

int a=0, b=1, m;

m=a>b ? a:b;

printf(“%d\n”, m);

return 0;

}

A. 0      B. 1       C. 2     D. 編譯有錯

20. 如果有如下程式段,下面描述正确的是( )。

int i;     while(i=0)    i=i+1;

A. 循環執行一次               B. 循環是無限循環

C. 循環體語句一次也不執行     D. 循環體語句執行一次

21. 與while(x)等價的語句( )。

A. while(x==0)              B. while(x==1)

C. while(x!=0)              D. while(x!=1)

22. 下面有關for循環的正确描述是( )。

A. for循環隻能用于循環次數已經确定的情況

B. for循環是先執行循環體語句,後判斷表達式

C. 在for循環中,不能用break語句跳出循環體

D. for循環的循環體語句中,可以包含多條語句,但必須用花括号括起來

24. 下列數組定義方式不正确的語句是( )。

A. char  x[5];                      B. char  y[]={\'h\',\'e\',\'l\',\'l\',\'o\'};

C. int  x[6]={12,13,14,15};            D. int  y[];

25. 若有以下的定義:int  t[5][4];能正确引用t數組的表達式是( )。

A. t[2][4]     B. t[5][0]          C. t[0][0]           D. t[0,0]

27. 若有以下定義:int a[5]={ 1, 2, 3, 4, 5 },表達式a[a[3]]的值是( )。

A. 5         B. 4             C. 3         D. 2

2. 有以下程式段,運作後的輸出結果是                    。

#include <stdio.h>

main(  )

{

int a=9;

while(a>6)

{

if(a%2 )    {  printf("%d,",  a--);   continue;  } //break

a--;

}

}

3. 有以下程式段,運作後的輸出結果是                。

 main(  )

{

int k=4, n=0;

do{

switch(k)

{

case 1: n+=1;

case 2: n+=2; break;

case 3: n+=3;

case 4: n+=4; break;

default: n+=5;

}

k--;

}while(k>0);

printf("%d", n);

}

5. 程式輸出結果為:          。

main(  )

{

int b [3][3]={0,1,2,0,1,}, i, t=1;

for(i=0;i<3;i++)

t+=b[i][i];

printf("%d",t);

}

二、判斷題

1. 一個C語言源程式可以包含兩個或者兩個以上main()函數。

2. 編寫C語言程式時,每行隻能寫一條語句。

3. 變量必須先定義後使用。

4. int a=0, b=1, c=2; 表達式a<=c<=b值為1。

5. 選擇結構中條件控制語句必須為邏輯表達式或者關系表達式。

6. do---while循環語句的循環體至少執行一次,是當型循環。

7. continue語句隻結束本次循環,而不是終止整個循環的執行。

 break語句的作用是什麼?與continue的差別是什麼?

8. 有定義char str[3][4];該二維數組共有4行3列。

9. 聲明一個長度為10的一維整型數組a時,可以用這樣的語句:int n=10, a[n];。

10. C程式是由若幹個函數組成的。

五、程式設計題

1. 通過鍵盤輸入一個小寫字元,将其轉換為大寫字母,并輸出。

2. 使用while語句求201+202+203+……+300。

1. 有公式如圖,輸入一個x值,輸出對應的y值。

2. 編寫程式,從鍵盤擷取兩個小數x, y,

輸出較大值/較小者/和/差/乘積

3. 輸出100~200之間不能被3整除的數

4. 對10個數組元素依次指派為0,1,2,3,4,5,6,7,8,9,要求按逆序輸出,輸出結果為:9,8,7,6,5,4,3,2,1,0。

5.将 數組a中下标值為偶數的元素從小到大排列,其它元素不變。

求斐波那契數列的前10項。

計算1/2  2/5   3/8   4/11   5/14   前10項分值的和。