C語言習題五 an

2023-01-08 19:09:03 字數 3029 閱讀 9861

一、選擇題

1.設x和y均為int 型變數,則以下語句:x+=y;y=x-y;y=x-y;x-=y;的功能是

a、把x 和y按從大到小排列

b、把x和y按從小到大排列

c、無確定結果

d、交換x和y中的值

【答案:d】

2.執行以下程式段後的輸出結果是 。

int x=0xcde;

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

a、 3294,6336,cde b、 3294,6336,xcde

c、 3294,06336,0xcde d、 3294,6336,0cde

【答案:a。0xcde是十六進製制數,寫成二進位制數形式為:

1100 1101 1110。%d 按十進位制輸出,將十六進製制轉換為十進位制;%o按八進位制輸出,將十六進製制轉換為八進位制(按從右向左3位二進位制數寫成1位),%x按十六進製制形式輸出。】

3.執行以下程式段後,輸出結果為 。

unsigned int x=65535;

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

a、 65535 b、 1 c、有錯誤 d、 -1

【答案:d。將x定義成無符號整數,並且已初始化為:

1111111111111111,若按%d格式輸出,則最高位的1被當成了符號,1111111111111111成了負數的補碼,%d按十進位制的原碼輸出。結果為-1。】

4.下列程式執行後的輸出結果是

main()

a、 -32767 b、 -1 c、 fffe d、 -32768

【答案:b。此題的關鍵是字元在計算機內按整型儲存,16進製制的ffff轉換成二進位制為 11111111 11111111,最高位為1,則為補碼,將補碼轉換為原碼(取反加1或減1取反,得到原始碼)為-1.

】5.以下判斷兩個字串相等的正確方法是。

a、if(str1=str2b、if(str1==str2)

c、if(strcpy(str1,str2)=0) d、if(strcmp(str1,str2)==0)

【答案:d。字串比較大小或判斷是否相等必須要用字串比較函式。strcpy為字串拷貝函式】

6.執行下面程式的正確結果是。

main( )

printf("%f",a); }

a、1.900000 b、111122221.900000

c、22221.900000 d、0000111122221.900000

【答案:b。 本題的關鍵是switch中表示式的值要求為整型,若不是整型將其轉換為整型(不4舍5入)。 】

7.下面程式的輸出結果是

main()

,*p=a;

printf("%d\n",*(p+2));

} a、3 b、4 c、1 d、2

【答案:a】

8.執行以下程式後,a,b的值分別為

main()

a、 07 b、a=0b=7 c、a=0,b=7 d、0,7

【答案:b】

9.若有以下程式

#include ""

int a[]=;

main()

上面程式輸出結果是

a、6 b、8 c、4 d、2

【答案:d】

10.以下程式有語法錯誤,有關錯誤原因的正確說法是

main()

a、語句 void prt_char();有錯,它是函式呼叫語句,不能用void說明

b、變數名不能使用大寫字母

c、函式說明和函式呼叫語句之間有矛盾

d、函式名不能使用下劃線

【答案:c。void型別為空型別,定義為該型別後,函式無返回值,即不能將函式賦給乙個變數。】

11.若已定義的函式有返回值,則以下關於該函式呼叫的敘述中錯誤的是

a、函式呼叫可以作為獨立的語句存在

b、函式呼叫可以作為乙個函式的實參

c、函式呼叫可以出現在表示式中

d、函式呼叫可以作為乙個函式的形參

【答案:d】

12.有以下函式定義:

void fun(int n, double x)

若以下選項中的變數都已正確定義並賦值,則對函式fun的正確呼叫語句是

a、fun(int y,double m); b、k=fun(10,12.5);

c、fun(x,nd、void fun(n,x);

【答案:c】

13.有以下程式

fun(int a, int b)

main()

程式執行後的輸出結果是

a、3 b、6 c、8 d、12

【答案:d】

14.有以下程式段

main()

int f2(int x,int y)

main()

程式執行後的輸出結果是

a、4,3,7 b、3,4,7 c、5,2,7 d、2,5,7

【答案:a】

二、填空題

(1)下面程式的執行結果是 【1】

main( )

【本題的關鍵:y=(int)x; 強制型別轉換,但並不改變x的原值,x仍為4.9,將4.9轉換為整型賦給y

結果:x=4.900000,y=4】

(2)以下程式的功能是呼叫函式fun計算:m=1-2+3-4+…+9-10,並輸出結果。請填空。

int fun( int n)

-1*f

return m;

}main()

【變數f 確定正負號,主函式呼叫函式fun】

(3)求三個數中的最大值和最小值。

max(int a,int b)

min(___【5】_____) int a,int b

main( )

(4)以下程式中函式float fun(int n)的功能是:根據下列公式計算並返回s的值(n≥o)。

#include <>

float fun(int n)

return s; }

main()

{ int n = 5;

c語言習題

表示式1.若定義 int x 2 y 3 float i 則以下符合c語言語法的表示式是 a x x 3 2 b x y 1 c i float x d i 3 2.若有定義 float x 3.5 int z 8 則表示式x z 3 4的值是 a 3.75 b 3.5 c 3 d 4 3.下列敘述...

C語言習題答案

第1章1 選擇題 1 c 2 b 3 a 2 填空題 1 main 2 main 3 有窮性 確定性 有零個或多個輸入 有乙個或多個輸出 有效性 4 順序 分支和迴圈 5 自頂向下,逐步細化 模組化設計 結構化編碼 第2章1 選擇題 12 345 6 7 890 1234 5 accda dcaba...

c語言練習題

下列敘述中不正確的是 c a 函式可以帶引數 也可以不帶引數。b main函式在c程式中必須有惟一乙個 c c程式的執行從main函式開始,所以main函式必須放在程式最前面 d 每個函式執行時,按函式體中語句的先後次序,依次執行每條語句 以下四個程式中,完全正確的是 d a include mai...