超級(jí)經(jīng)典c語(yǔ)言陷阱考試題_第1頁(yè)
超級(jí)經(jīng)典c語(yǔ)言陷阱考試題_第2頁(yè)
超級(jí)經(jīng)典c語(yǔ)言陷阱考試題_第3頁(yè)
超級(jí)經(jīng)典c語(yǔ)言陷阱考試題_第4頁(yè)
超級(jí)經(jīng)典c語(yǔ)言陷阱考試題_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上若有定義:int a23,則對(duì)a數(shù)組的第i行j列元素地址的正確引用為_(kāi)d_. a)*(ai+j) b)(a+i) c)*(a+j) d)ai+j以下正確的程序段是_. a)char str20; b)char *p; scanf("%s",&str); scanf("%s",p); c)char str20; d)char str20,*p=str; scanf("%s",&str2); scanf("%s",p2);下面程序的運(yùn)行結(jié)果是_. #include <st

2、dio.h> #include <string.h> fun(char *w,int n) char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2)t=*s1+;*s1=*s2-;*s2=t; main() char p = “”; fun(p,strlen(p); puts(p); a) b) c) d)下面程序段的運(yùn)行結(jié)果是_ hELLO!_. char s80,*sp="HELLO!" sp=strcpy(s,sp); s0='h' puts(sp);下面程序段的運(yùn)行結(jié)果是_ef_. char st

3、r="abc0def0ghi",*p=str; printf("%s",p+5);設(shè)有如下定義:int x = 1, y = -1;,則語(yǔ)句:printf(“%dn”, (x-&+y);的輸出結(jié)果是: B A. 1 B. 0 C. -1 D. 2設(shè)有如下定義:int a, b;,則語(yǔ)句:printf("%d", (a = 5) && (b = -1);的輸出結(jié)果是: A E. 1 F. 5 G. -1 H. 不確定程序執(zhí)行后的輸出結(jié)果是: n = 3 int i, n = 0; for (i = 2; i &l

4、t; 7; i+) do if (i % 3) continue; -n; while(!i); n+; printf("n = %dn", n);1. 以下代碼,哪一句是非法的?_最后一句s.p0 = 2;_struct po_s int i; int *p; int main(void) struct po_s s; int *p; p = &s.i; p0 = 4; p1 = 3; s.p = p; s.p1 = 1; s.p0 = 2; return 0;2. 以下代碼,輸出什么?_a3, BB(注意大小寫(xiě))_int a5 = 0x1a,0xa3,0xd3,

5、0xe4,0xbb; int *ptr;ptr = (int *)(&a + 1); printf("%x, %X", *(a + 1), *(ptr - 1);3. 下面的代碼輸出是什么,為什么?void foo(void) unsigned int a = 0x10; int b = -20; (a + b > 6) ? puts("> 6") : puts("<= 6");輸出>6因?yàn)楸磉_(dá)式中存在有符號(hào)類(lèi)型和無(wú)符號(hào)類(lèi)型時(shí)所有的操作數(shù)都自動(dòng)轉(zhuǎn)換為無(wú)符號(hào)類(lèi)型。因此-20變成了一個(gè)非常大的正整數(shù),所以該

6、表達(dá)式計(jì)算出的結(jié)果大于6。4. 說(shuō)明以下兩個(gè)語(yǔ)句的作用,哪個(gè)更好?為什么?#define PS struct po_s*typedef struct po_s* PS_t; 這兩個(gè)語(yǔ)句是將PS 和 PS_t 作為一個(gè)指向結(jié)構(gòu)po_s指針。typedef更好。因?yàn)槿缦麓aPS p1, p2;PS_t p3, p4;p1為一個(gè)指向結(jié)構(gòu)的指,p2為一個(gè)實(shí)際的結(jié)構(gòu),這也許不是你想要的。第二個(gè)例子正確地定義了p3 和p4 兩個(gè)指針。5. 下面兩段代碼一樣嗎?為什么?int square(volatile int *ptr) int a, b; a = *ptr; b = *ptr; return a *

7、 b;int square(volatile int *ptr) int a; a = *ptr; return a * a;由于*ptr的值可能被意想不到地該變,因此a和b可能是不同的。第一段段代碼返回的可能不是你所期望的平方值。#includestatic jmp_buf buf;main(b) volatile int b;b =3;if(setjmp(buf)!=0)printf("%d ", b); exit(0);b=5;longjmp(buf , 1); 請(qǐng)問(wèn), 這段程序的輸出是(a) 3(b) 5(c) 0(d) 以上均不是考查多維數(shù)組與指針void foo

8、(int 3); main()int a 33= 1,2,3 , 4,5,6,7,8,9;foo(a);printf("%d" , a21);void foo(int b3) + b;b11 =9;這段程序的輸出是: b(a) 8(b) 9(c) 7(d)以上均不對(duì)考查自減操作(-)void e(int ); main()int a;a=3;e(a);void e(int n)if(n>0)e(-n);printf("%d", n);e(-n);void f(char*);main()char * argv = "ab" ,"cd" , "ef" ,"gh", "ij" ,"kl"

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論