C語言指針習(xí)題及答案_第1頁
C語言指針習(xí)題及答案_第2頁
C語言指針習(xí)題及答案_第3頁
C語言指針習(xí)題及答案_第4頁
C語言指針習(xí)題及答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、指針習(xí)題及答案一選擇題1變量的指針,其含義是指該變量的BA )值B)地址C)名D) 一個(gè)標(biāo)志2.已有定義int k=2;int *ptr1,*ptr2;且 ptr1 和 ptr2 均已指向變量k,下面不能正確執(zhí)行的賦值語句是B。A) k=*ptr1+*ptr2B) ptr2=kC) ptr1=ptr2D) k=*ptr1*(*ptr2)3.若有說明:int *p,m=5,n;以下程序段正確的是D。A) p=&n ;B) p = &n ;sca nf(“ d,&p);scanf(“d ,*p);C ) scanf(“ c”,&n);D) p = &n ;*p=n ;*p = m ;4.已有變量定

2、義和函數(shù)調(diào)用語句:int a=25;print_value(&a);下面函數(shù)的輸出結(jié)果是D。void prin t_value(i nt *x) printf( “ d ,+*x); A) 23B) 25D)265.若有說明:int *p1, *p2,m=5,n;以下均是正確賦值語句的選項(xiàng)是CA) p仁&m; p2=&p1 ;B) p仁&m; p2=&n; *p1=*p2 ;C) p仁&m; p2=p1 ;6. 若有語句:A) a,p,*&a7. 下面判斷正確的是A)B)C)D)D) p1=&m; *p1=*p2 ; int *p,a=4;和p=&a ;下面均代表地址的一組選項(xiàng)是C) *&p,

3、*p,&aB) &*a,&a,*p C。char *a= ” china等價(jià)于 char *a; *a=D。D) &a,&*p,p”I .”chinachar str10=“ chir等價(jià)于;char str10; str =char *s=” china等價(jià)于 char *s; s= ” china ” abc” ,d4=等價(jià)于bchar c4=d4= for循環(huán)的執(zhí)行次數(shù)是018bc” ; ;s+) printf( “ * ”B) 6char c4=8. 下面程序段中,char *s=”for (; *s!=A) 99. 下面能正確進(jìn)行字符串賦值操作的是A) char s5=“ ABCDE

4、 ;C) char *s ; s= ” ABCDE ;10. 下面程序段的運(yùn)行結(jié)果是Cchar *s=” abcde ” ;s+=2 ; printf( “ d ,s);A) cdeB)字符,c,11. 設(shè)p1和p2是指向同一個(gè)字符串的指針變量,語句是BC)chi na”I”abcochar s5= A,char *s; sca nf(” ;B , C,, D,, “ s ,s);字符,的地址c為字符變量,則以下不能正確執(zhí)行的賦值D)不確定,E,;D) c=*p1*(*p2)D。A) C=*p1+*p2B) p2=cC) p仁p212. 設(shè)有程序段:char s =” china ” ; ch

5、ar *則下面敘述正確的是A) s和p完全相同B) 數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等C) s數(shù)組長度和p所指向的字符串長度相等D) *p與s0相等13. 以下與庫函數(shù) strcpy(char *p1,char *p2)功能不相等的程序段是D。A) strcpy1(char *p1,char *p2) while (*p1+=*p2+)!=) ; B) strcpy2(char *p1,char *p2) while (*p1=*p2)!=) p1+; p2+ C) strcpy3(char *p1,char *p2) while (*p1+=*p2+); D) strcpy4(char

6、*p1,char *p2) while (*p2) *p1+=*p2+ ; 14下面程序段的運(yùn)行結(jié)果是C。char a =” language ” , *p ;p=a ;while (*p!= u ) printf( -32);“p%+;,*pA) LANGUAGEB)languageC)LANGD)IangUAGE16.以下與庫函數(shù) strcmp(char *s,char *t)功能相等的程序段是C。A) strcmp1(char *s,char *t) for ( ; *s+=*t+;)if (*s= = ) return 0 ; return (*s-*t);B) strcmp2(cha

7、r *s,char *t) for ( ; *s+=*t+;)if (!*s) return 0 ; return (*s-*t);C) strcmp3(char *s,char *t) for ( ; *t= =*s;) if (!*t) return 0 ; t+ ; s+ ; return (*s-*t);D) strcmp4(char *s,char *t) for ( ; *s=*t; s+, t+ )A) char a10=” 1 . ”china;C) char *a; a=china;18.設(shè)有說明語句:char a=” It is mine17以下說明不正確的是DDA) a+

8、1表示的是字符t的地址B) p指向另外的字符串時(shí),字符串的長度不受限制if (!*s) return 0 ; return (*t-*s);B) char a10,*p=a; p= ” chinaD)char a10,*p; p=a= ” china;char *p= 則以下不正確的敘述是C) p變量中存放的地址值可以改變D) a中只能存放10個(gè)字符19若已定義char s10;則在下面表達(dá)式中不表示s1的地址是A) s+120若有定義:A) *&a521. 若有定義:A) p+522. 若有定義:A) *(*(a+i)+j)B) s+C) &s0+1int a5,*p=a;則對(duì)a數(shù)組元素的正

9、確引用是B) a+) *(p+5)D)int a5,*p=a;則對(duì)a數(shù)組元素地址的正確引用是B) *a+) &a+1D)D*(a+2)& a0int a23;則對(duì)a數(shù)組的第i行第j列元素值的正確引用是B) (a+i)jC) *(a+i+j)23. 若有定義:int a23;則對(duì)a數(shù)組的第i行第j列元素地址的正確引用是A) *(ai+j)B) (a+i)C) *(a+j)24. 若有程序段:int a23,(*p)3; p=a;則對(duì)a數(shù)組元素地址的正確引用是A) *(p+2)B) p2C) p1+125. 若有程序段:int a23,(*p)3; p=a;則對(duì)a數(shù)組元素的正確引用是A) (p+1

10、)0B) *(*(p+2)+1)C) *(p1+1)26. 若有定義:int a5;則a數(shù)組中首元素的地址可以表示為CA) &aB) a+) aD) &a127. 若有定義:int (*p)4;則標(biāo)識(shí)符pA)B)C)D)是一個(gè)指向整型變量的指針是一個(gè)指針數(shù)組名是一個(gè)指針,它指向一個(gè)含有四個(gè)整型元素的一維數(shù)組 定義不合法C。C) int *(q5)28. 以下與int *q5;等價(jià)的定義語句是A) int q5B) int *q29. 以下正確的說明語句是Bint *b=1,3,5,7,9;int a5,*num5=&a0,&a1,&a2,&a3,&a4;int a=1,3,5,7,9; int

11、 *nu m5=a0,a1,a2,a3,a4;int a34,(*num)4; num1=&a13;D) &s1A 。D) *(a+i)+jDD) ai+jD)(p+1)+2p1+2in t (*q)5A)B)C)D)30若有定義:int b46,*p,*q4;且0W i4不正確的賦值語句是A) qi=bi;B)32. 若要對(duì)a進(jìn)行自減運(yùn)算,A) int p3;B)int *a=p;33. 以下選項(xiàng)中,對(duì)指針變量A) int a3, *p;B)p=&a;p=b;則a應(yīng)有下面說明int k;int *a=&k;p的正確操作是int a5, *p;p=a;C) p=bi;DC) char *a3B

12、C) int a5;int *p=a=100;D)qi=&b00int b10;int *a=b+1;34若有定義:int x10=0,1,2,3,4,5,6,7,8,9,*p1;A) x3C) p仁x+2,*(p1+)35下面程序段的輸出是則數(shù)值不為3的表達(dá)式是B) p1=x+3,*p1+D) p1=x+2,*+p1D)int *p1,*p2=a; *卩仁*p2;C 。int a5int a =2,4,6,8,10,12,14,16,18,20,22,24,*q4,k;for (k=01; k4; k+) qk=&ak*3; printf( %d ,q30);A) 8B) 20D)輸出不合法

13、36若要對(duì)a進(jìn)行自增運(yùn)算,則a應(yīng)具有下面說明D。A)int a32;B)char *a =“, ” ab” ;C) char (*a) 3D) int b10, *a=b;37若有定義int a46;則能正確表示a數(shù)組中任一元素aij ( i,j均在有效范圍內(nèi))地址的表達(dá)式 A。B) &a00+4*j+iD) &a00+6*j+lA) &a00+6*i+jC) &a00+4*i+j38下面程序的運(yùn)行結(jié)果是Bmain () int x5=2,4,6,8,10, *p, *pp ;p=x , pp = &p ;printf(“ d ,*(p+);printf(“ 3d ,*pp);A) 44B)

14、2) 22D) 4639若有定義 int x43=1,2,3,4,5,6,7,8,9,10,11,12; int (*p)3=x ;則能夠正確表示數(shù)組元素42. 已有定義int (*p)();指針p可以A)代表函數(shù)的返回值C)表示函數(shù)的類型B。B) 指向函數(shù)的入口地址D )表示函數(shù)返回值的類型43. 已有函數(shù)max(a,b),為了讓函數(shù)指針變量p指向函數(shù)max,正確的賦值方法是A) p=max;B) p=max(a,b);44若有函數(shù)max(a,b),并且已使函數(shù)指針變量 調(diào)用方法是 C 或p(a,b)。A) (*p)max(a,b) B) *pmax(a,b);C) *p=max;D) *p

15、=max(a,b);p指向函數(shù)max,當(dāng)調(diào)用該函數(shù)時(shí),正確的C) (*p)(a,b);D )*p(a,b);x12的表達(dá)式是D。A)*(*p+1)2)B) (*p+1)+2C) *(*(p+5)D) *(*(p+1)+2)40.若有說明:char *la nguage=“ FORTRAN , ” BASIC”,” PASCAL, : ” CJAVIanguage2的值是B。A )一個(gè)字符B )一個(gè)地址C) 一個(gè)字符串D) 一個(gè)不定值41.設(shè)有定義:char *cc2=則正確的敘述是A。A) cc數(shù)組的兩個(gè)元素中各自存放了字符串”和”的首地址B) cc數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維

16、字符數(shù)組的首地址C) cc是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組D) cc元素的值分別維”和”45.以下正確的敘述是CA) C語言允許main函數(shù)帶形參,且形參個(gè)數(shù)和形參名均可由用戶指定B) C語言允許main函數(shù)帶形參,形參名只能是 argc和argvC) 當(dāng)main函數(shù)帶有形參時(shí),傳給形參的值只能從命令行中得到D) 若有說明:int main(int argc,char *argv),則 argc 的值必須大于 1 三程序閱讀題1寫出下面程序的運(yùn)行結(jié)果。5fun c(char *s,char a,i nt n) int j;*s=a; j=n ;while (*ssj) j-;

17、return j;mai n () char c6;int i ;for (i=1; i=5 ; i+) *(c+1)= A +i+1;printf(r%d,func(c, E ,5);2寫出下面程序的運(yùn)行結(jié)果。6fun (char *s) char *p=s;while (*p) p+ ;return (p-s);mai n () char *a= ” abcdef ” ;printf(r%d ,fun( a);3寫出下面程序的運(yùn)行結(jié)果。abcdefglkjihsub(char *a,i nt t1,i nt t2) char ch;while (t1t2) ch = *(a+t1); *(a+t1)=*(a+t2) ; *(a+t2)=ch ; t1+ ; t2-;mai n () char s12;int i;for (i=0; i12 ; i+) si= A +i+32 ;sub(s,7,11);for (i=0; i12 ; i+) printf (“ c” ,si);printf( n ”);9765314當(dāng)運(yùn)行以下程序時(shí),寫出輸入6/的程序運(yùn)行結(jié)果。sub(char *a,char b) while (*(a+)!= );while (*

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論