C語言程式設計錯題集

2021-10-03 14:17:22 字數 2176 閱讀 2428

2019/03/06

1.下列程式段輸出結果為:

int x=1, y=012;

printf(「%d」,y*x++);

a.20    b.10     c.12      d.24

2.以下表示式x&&1

用在if的條件中時,和哪個是等價的:

a.x!=1          b.x==0           c.x==1         d.x!=0

3.對於以下**:

unsigned short sht = 0;

sht --;

執行後,sht的值是?

a.32767        b.-1         c.2的16次方-1         d.65536

4.對於以下**:

int i=6;

if ( i<= 6 )

printf("hello\n");;

else

printf("bye-bye\n");;

哪句話是對的?

a.列印出"hello bye-bye"        b.列印出"bye-bye"        c.列印出"hello"       d.無法編譯

5.在**:while ( !e )中,!e等價於:

a.e==1        b.e!=0        c.e == 0       d.e != 1

6.對於以下**:

char ch = -1;

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

輸出結果是?

a.255         b.-1         c.編譯錯誤,因為賦值的時候不能把負數賦給char        dascii碼表中255那個位置的字元

7.以下**的輸出是 _____.

int x=0, y=0, z=0;

z = (x==1) && (y=2);

printf("%d ", y);

8.以下**段的結果是:_____.

int i=10;

long long t = sizeof(i++);

printf("%d", i);

9.表示式(double)(10/4*4)

的結果是_____.

10.以下**的輸出是 :

int i,x,y; i=x=y=0; do while ( i<=7 ); printf("%d %d %d", i, x, y);

1.正確答案:b

解析:012是8進製數,而x++的結果是加1以前的值

2.正確答案:d

解析:x只要不是0就是邏輯真 ; 右邊的1是確定的值,所以其實不起作用

3.正確答案:c

解析:short型別在各種平台都是16位,2的16次方為65536,所以unsigned short能表達的最大的數是65535 

4.正確答案:d

解析:if後面的printf後面的第二個分號使得else無法和if聯結 

5.正確答案:c

解析:a、任何非0整數值都是邏輯的true  b、e前面還有乙個!呢  c、任何非0整數值就是邏輯的true,所以只有e是0的時候,!e才會是true  d、任何非0整數值都是邏輯的true

6.正確答案:b

解析:a、char是有符號的  b、這是以整數形式輸出  c、char是一種整數,而且是有符號的  d、這是以整數形式輸出

7.正確答案:0

8.正確答案:10

解析:sizeof()是靜態運算子

9.正確答案:8

10.正確答案:9 1 20

解析:你注意到x+=i,是以逗號結尾的了嗎?

C語言程式設計錯題集(1)

假設有變數定義如下 int a,k 則以下哪條語句不能確保將變數k的值變為0 a.k a a 1 b.k k c.k k a k a d.k k k 正確答案 c 解析 1 對a選項,表示按位取反,運算物件是二進位制資料,1變0,0變1。所有正整數的按位取反是其本身 1的負數,所有負整數的按位取反是...

C語言錯題集

c語言錯題集 1 continue 不是結束本次迴圈,而是終止整個迴圈的執行。錯誤 用continue語句提前結束本次迴圈 2 直接訪問就是直接利用變數的位址進行訪問直接訪問 正確3 共用體變數可以作結構體的成員,結構體變數也可以作共用體的成員。正確4 列舉型別中的元素都具有乙個整型值。正確5 函式...

c語言錯題集

在 c 語言程式中 凡是沒有出現儲存類說明符的變數都是自動類的。1分 t f正確答案是t 兩指標變數相減所得之差是兩個指標所指陣列元素之間相差的元素個數。1分 t f正確答案是t 根據宣告int a 10 p a 下列表示式錯誤的是 d 2分 a 9 p 5 a p 以下陣列定義中錯誤的是 2分 i...