【正文】
一、選擇題 (1)設(shè)有定義:int n1=0,n2,*p=amp。n2,*q=amp。n1。,以下賦值語(yǔ)句中與n2=n1。語(yǔ)句等價(jià)的是A A)*p=*q。 B)p=q。 C)*p=amp。n1。 D)p=*q?! ?2)若有定義:int x=0, *p=amp。x。,則語(yǔ)句printf(%d\n,*p)。的輸出結(jié)果是B A)隨機(jī)值 B)0 C)x的地址 D)p的地址 (3) 以下定義語(yǔ)句中正確的是C A) char a=39。A39。b=39。B39。 B) float a=b=。 C) int a=10,*b=amp。a。 D) float *a,b=amp。a?! ?4) 有以下程序C main() { int a=7,b=8,*p,*q,*r?! =amp。a。q=amp。b?! =p。 p=q。q=r。 printf(%d,%d,%d,%d\n,*p,*q,a,b)。 } 程序運(yùn)行后的輸出結(jié)果是 A) 8,7,8,7 B) 7,8,7,8 C) 8,7,7,8 D) 7,8,8,7 (5) 設(shè)有定義:int a,*pA=amp。a。以下scanf語(yǔ)句中能正確為變量a讀入數(shù)據(jù)的是A A) scanf(“%d”,pA) ?!) scanf(“%d”,a) ?!) scanf(“%d”,amp。pA) 。 D) scanf(“%d”,*pA) 。 (6) 設(shè)有定義:int n=0,*p=amp。n,**q=amp。p。則以下選項(xiàng)中,正確的賦值語(yǔ)句是D A) p=1。 B) *q=2。 C) q=p。 D) *p=5。 (7) 有以下程序A 以下是引用片段: void fun(char *a, char *b) { a=b。 (*a)++。 } main () { char c1=A, c2=a, *p1, *p2。 p1=amp。c1。 p2=amp。c2。 fun(p1,p2)。 printf(“%c%c\n”,c1,c2)。 } 程序運(yùn)行后的輸出結(jié)果是 A) Ab B) aa C) Aa D) Bb (8) , 以下選項(xiàng)中,正確運(yùn)用指針變量的程序段是D A) int *i=NULL。 B) float *f=NULL。 scanf(%d,i)。 *f=。 C) char t=m, *c=amp。t。 D) long *L?! ?c=amp。t。 L=‘\0’。 (9) 有以下程序A 以下是引用片段: inc1ude main() { printf(%d\n, NULL)。 } 程序運(yùn)行后的輸出結(jié)果是 A) 0 B) 1 C) 1 D) NULL沒(méi)定義,出錯(cuò) (10) 已定義以下函數(shù)C fun (int *p) { return *p。} 該函數(shù)的返回值是 A) 不確定的值 B) 形參p中存放的值 C) 形參p所指存儲(chǔ)單元中的值 D) 形參p的地址值 (11) 下列函數(shù)定義中,會(huì)出現(xiàn)編譯錯(cuò)誤的是B A) max(int x, int y,int *z) B) int max(int x,y) { *z=xy ? x:y。 } { int z ?! =xy? x:y。 return z ?!