C語言程序設計(指針)期末單元測試與答案_第1頁
C語言程序設計(指針)期末單元測試與答案_第2頁
C語言程序設計(指針)期末單元測試與答案_第3頁
C語言程序設計(指針)期末單元測試與答案_第4頁
C語言程序設計(指針)期末單元測試與答案_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、單項選擇題1、假設有說明:intn = 2,*p = &n,*q = p;那么以下非法的賦值語句是()A.p = q;B.p = n;C.n = *q;D.*q = 3;正確答案:B解析:B、p為指針類型,即“地址箱”,要保存地址,而n為整型 數,類型不匹配。2、假設有以下定義:int x, *pb;那么正確的賦值表達式是()A.*pb = *x;B.pb = x;C.pb = &x;D.*pb = &x;正確答案:c解析:A、x是整型變量,普通變量前面加*,這是錯誤的,沒有該 語法D、運行時錯誤。正確的選項是pb = &x; x的地址應放到“地址箱”即指針變量pb中,一定要注意“地址箱”

2、即指針變量為pb,而非*pb。如果寫成*pb = &x;會出現什么問題呢?pb為隨機指向的“野指針”,即隨機指向一個空間,該語句試圖吧&x放入到該隨機空間中,報運行時錯誤3、假設定義:int a =511,*b = &a;那么 printf(%dn,*b);的輸出結果為( )A.511B.無確定值C.512D.a的地址正確答案:A解析:A、b是指針變量,保存a的地址,那么*b就是a4、下面能正確進行字符串賦值操作的是()A.char *s;s =abcde;B.char *s;scanf(%s,s);C.chars5 QaJb-cJdJe;D.char s5 = abcde;正確答案:A解析:

3、B、編譯不報錯,運行時錯誤。原因s指針隨機指向一個空間,即野指針,不能試圖把一個字符串輸 入到該隨機空間中,運行時報錯C、語法正確,但數組s中由于缺 少字符串結束符0,故村的不是字符串,而是5個獨立的字符。D、s數組可容納5個字符元素,而字符串匕bed。別忘了默認一個vr, 故共6個字符,存不下,語法保存5、以下語句錯誤的選項是()A.char a10 = china;B.char a10,*p;p = a = china;C.char *a;a = china;D.char a10, *p = a;p = china;正確答案:B解析: B、p = a = china;為連續賦值語句,由于賦

4、值號=的右結合性,先執行把china賦 值給a,這步就有語法錯誤,因為a是數組名,數組名是常量,不能 為其賦值C、開始指針a為隨機指向的“野指針”后來指向字符串常量china”,即指向該字符串中的首字符c為正確語法D、p初始指向a0,指向完p = china;后p指向字符串常量“china” ,不再指向a0,為正確語法6、假設已定義char a10;那么在下面表達式中不表示al地址的是A.&alB.&aO+lC.a + 1D.a+正確答案:D解析:D、后綴加表達式,先取a的值作為表達式的值,為還是 a0的地址,與題目不符7、main函數中有聲明int a = 3zb = 5;假設在main函數

5、中通過執 行函數調用語句swap(&a,&b);實現交換a b值的功能,那么以下swap 函數的定義中正確的選項是()A.void swap(int x,int y)(int t;t=x;x=y;y=t;B.void swapfint *x,int *y)(int *p;*p = *x;* 7*y = *p;C.void swap(int *x,int *y)(int *p;P=x;x=y;Y=P;)D.void swapfint *x,int *y)(int t;t=*x;*x=*y;*y=t;正確答案:D解析:A、首先分析調用語句swap (&a,&b);兩個實參分別傳遞 的是地址,那形參

6、自然要是“地址箱”即指針變量來接受該地址。應 該為 void swapfint *x,int *y)故該選項不對B、p指針沒有合法指向,為“野指針”,不能為該隨 機空間賦值, 即*p = *x;這條編譯時并不會報錯,但運行時錯誤 C、該選項交換的是X、y兩個指針變量中的值即地址,交換前:X 中保存a地址、y中保存b地址; 交換后:x中保存b地址,y中 保存a地址。即該選項swap內部交換的是形參中a和b的地址,對外部a和b的 值并沒改變8、以下程序的輸出結果是()#includeint main(void) (inta = l,2,3,4,5,6,7,8,9,*p=a;P+;printf(%d,*(p+4);return 0;)A.6B.8C.7D.5正確答案:A解析:A、p初始指向a0,執行p+后,p

溫馨提示

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

評論

0/150

提交評論