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

下載本文檔

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

文檔簡介

1、專業(yè)專注專業(yè)專注指針主要內容的習題及答案一-選擇題1.變量的指針其含義是指該變量的BA值B地址C名D一個標志2已有定義intk=2;intA)p1=&m;p2=&p1;B)p1=&m;p2=&n;p1=*p2;ptr1,*ptr2;ptriA)p1=&m;p2=&p1;B)p1=&m;p2=&n;p1=*p2;確執(zhí)行的賦值語句是BA)k=*ptr1+*ptr2B)ptr2=kC)ptr1=ptr2D)k=*ptr1*(*ptr2)3.若有說明int*p,m=5,n;以下程序段正確的是DA)p=&n;B)p=&n;scanf(“%d”,&p);scanf(“%d”,*p);C)scanf(“%d

2、”,&n);D)p=&n;*p=n;*p=m;4已有變量定義和函數(shù)調用語句inta=25;print_value(&a);下面函數(shù)的輸出結果是Dvoidprint_value(int*x)printf(“%dn”,+*x);A)23B)24C)25D)26.若有說明int*p1,*p2,m=5,n;以下均是正確賦值語句的選項是CC)p1=&m;p2=p1;C)p1=&m;p2=p1;D)p1=&m;*p1=*p2;.若有語句int*p,a=4;和p=&a下面均代表地址的一組選項是DA)a,p,*&aB)&*a,&a,*pC)*&p,*p,&aD)&a,&*p,p.下面判斷正確的是CA)char

3、*a=”china”;等價于char*a;*a=”china”;B)charstr10=“china”;等價于charstr10;str=“china”;C)char*s=”china”;等價于char*s;s=”china”;D)charc4=”abc”,d4=”abc”;等價于charc4=d4=”abc”;TOC o 1-5 h z.下面程序段中for循環(huán)的執(zhí)行次數(shù)是Cchar*s=”ta018bc”;for(;*s!=0;s+)printf(“*”);A)9B)7C)6D)5.下面能正確進行字符串賦值操作的是CA)chars5=“ABCDE”;B)chars5=A,B,C,D,E;C)

4、char*s;s=”ABCDE”;D)char*s;scanf(“%s”,s);.下面程序段的運行結果是Cchar*s=”abcde”;s+=2;printf(“%d”,s);AcdeB字符cC字符c的地址D不確定.設pl和p2是指向同一個字符串的指針變量c為字符變量則以下不能正確執(zhí)行的賦值語句是BA)c=*p1+*p2B)p2=cC)p1=p2D)c=*p1*(*p2).設有程序段:chars=china;char*p;p=s;則下面敘述正確的是DAs和p完全相同B數(shù)組s中的內容和指針變量p中的內容相等Cs數(shù)組長度和p所指向的字符串長度相等D*p與s0相等.以下與庫函數(shù)strcpy(char

5、*p1,char*p2)功能不相等的程序段是DA)strcpy1(char*p1,char*p2)while(*p1+=*p2+)!=0);B)strcpy2(char*p1,char*p2)while(*p1=*p2)!=0)p1+;p2+C)strcpy3(char*p1,char*p2)while(*p1+=*p2+);D)strcpy4(char*p1,char*p2)while(*p2)*p1+=*p2+;.下面程序段的運行結果是Cchara=”language”,*p;p=a;while(*p!=u)printf(“%c”,*p-32);p+;A)LANGUAGEB)languag

6、eC)LANGDlangUAGE.以下與庫函數(shù)strcmp(char*s,char*t)功能相等的程序段是CA)strcmp1(char*s,char*t)for(;*s+=*t+;)if(*s=0)return0;return(*s-*t);B)strcmp2(char*s,char*t)for(;*s+=*t+;)if(!*s)return0;return(*s-*t);C)strcmp3(char*s,char*t)for(;*t=*s;)if(!*t)return0;t+;s+;return(*s-*t);D)strcmp4(char*s,char*t)for(;*s=*t;s+,t+

7、)if(!*s)return0;return(*t-*s);.以下說明不正確的是DA)chara10=”china”;B)chara10,*p=a;p=”china”;C)char*a;a=”china”;D)chara10,*p;p=a=”china”;.設有說明語句chara=Itismine;char*p=Itismine;則以下不正確的敘述是DAa+1表示的是字符t的地址Bp指向另外的字符串時字符串的長度不受限制Cp變量中存放的地址值可以改變Da中只能存放10個字符.若已定義chars10則在下面表達式中不表示s1的地址是BTOC o 1-5 h zA)s+1B)s+C)&s0+1D)

8、&s1.若有定義inta5,*p=a;則對a數(shù)組元素的正確引用是DA)*&a5B)a+2C)*(p+5)D)*(a+2).若有定義inta5,*p=a;則對a數(shù)組元素地址的正確引用是D。TOC o 1-5 h zA)p+5B)*a+1C)&a+1D)&a0.若有定義inta23;則對a數(shù)組的第i行第j列元素值的正確引用是AA)*(*(a+i)+j)B)(a+i)jC)*(a+i+j)D)*(a+i)+j.若有定義:inta23;則對a數(shù)組的第i行第j列元素地址的正確引用是DA)*(ai+j)B)(a+i)C)*(a+j)D)ai+j.若有程序段:inta23,(*p)3;p=a;則對a數(shù)組元素

9、地址的正確引用是A)*(p+2)B)p2C)p1+1D)(p+1)+2.若有程序段:inta23,(*p)3;p=a;則對a數(shù)組元素的正確引用是CA)(p+1)0B)*(*(p+2)+1)C)*(p1+1)D)p1+2.若有定義:inta5;則a數(shù)組中首元素的地址可以表示為CA)&aB)a+1C)aD)&a1.若有定義:int(*p)4;則標識符pCA是一個指向整型變量的指針B是一個指針數(shù)組名C是一個指針它指向一個含有四個整型元素的一維數(shù)組D定義不合法.以下與int*q5;等價的定義語句是CA)intq5B)int*qC)int*(q5)Dint(*q)529.以下正確的說明語句是BA)int

10、*b=1,3,5,7,9;B)inta5,*num5=&a0,&a1,&a2,&a3,&a4;C)inta=1,3,5,7,9;int*num5=a0,a1,a2,a3,a4;D)inta34,(*num)4;num1=&a13;30.若有定義:intb46,*p,*q4;0i4,則不正確的賦值語句是DA)qi=bi;B)p=b;C)p=bi;Dqi=&b0032.若要對a進行自減運算則a應有下面說明DA)intp3;B)intk;C)char*a3Dintb10;int*a=p;int*a=&k;int*a=b+1;.以下選項中對指針變量p的正確操作是BA)inta3,*p;B)inta5,

11、*p;C)inta5;D)inta5p=&a;p=a;int*p=a=100;int*p1,*p2=a;*p1=*p2;.若有定義:intx10=0,L234,5,678,9,*p1;則數(shù)值不為3的表達式是CA)x3B)p1=x+3,*p1+C)p1=x+2,*(p1+)D)p1=x+2,*+p1.下面程序段的輸出是Cinta=2,4,6,8,10,12,14,16,18,20,22,24,*q4,k;for(k=01;k4;k+)qk=&ak*3;printf(“%dn”,q30);A)8B)16C)20D)輸出不合法.若要對a進行自增運算則a應具有下面說明DA)inta32;B)char*

12、a=“12”,”ab”;C)char(*a)3D)intb10,*a=b;.若有定義inta46;則能正確表示a數(shù)組中任一元素aiji,j均在有效范圍內地址的表達式AA)&a00+6*i+jB)&a00+4*j+iC)&a00+4*i+jD)&a00+6*j+I.下面程序的運行結果是main()intx5=2,4,6,8,10,*p,*pp;p=x,pp=&p;printf(“%d”,*(p+);printf(“%3d”,*pp);A)44B)24C)22D)46.若有定義intx43=L234,567,8910,1L12;int(*p)3=x;則能夠正確表示數(shù)組元素x12的表達式是DA)*(

13、*p+1)2)B)(*p+1)+2C)*(*(p+5)D)*(*(p+1)+2).若有說明charlanguage口=FORTRAN,BASIC,PASCAL,JAVA,C”則language2的值是BA一個字符B一個地址C一個字符串D一個不定值.設有定義char*cc2=1234,5678”則正確的敘述是AAcc數(shù)組的兩個元素中各自存放了字符串1234和5678的首地址Bcc數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址Ccc是指針變量它指向含有兩個數(shù)組元素的字符型一維數(shù)組Dcc元素的值分別維1234和5678.已有定義int(A)p=max;B)p=max(a,b);C)*p

14、=max;D)p=max(a,b);44.若有函數(shù)max(a,b)并且已使函數(shù)指針變量A)p=max;B)p=max(a,b);C)*p=max;D)p=max(a,b);44.若有函數(shù)max(a,b)并且已使函數(shù)指針變量p指向函數(shù)max當調用該函數(shù)時正確的調用方法是C或p(a,b)A)(*p)max(a,b)B)*pmax(a,b);C)(*p)(a,b);D)*p(a,b);45.以下正確的敘述是CAC語言允許main函數(shù)帶形參且形參個數(shù)和形參名均可由用戶指定BC語言允許main函數(shù)帶形參形參名只能是argc和argvC當main函數(shù)帶有形參時傳給形參的值只能從命令行中得到D若有說明:in

15、tmain(intargc,char*argv)則argc的值必須大于1A代表函數(shù)的返回值B指向函數(shù)的入口地址C表示函數(shù)的類型D表示函數(shù)返回值的類型.已有函數(shù)max(a,b)為了讓函數(shù)指針變量p指向函數(shù)max正確的賦值方法是Aintj;*s=a;j=n;while(*ssj)j-;returnj;main()charc6;inti;for(i=1;i=5;i+)*(c+1)=A+i+1;printf(“%dn”,func(c,E,5);.寫出下面程序的運行結果。6fun(char*s)char*p=s;while(*p)p+;return(p-s);main()char*a=”abcdef”;

16、printf(“%dn”,fun(a);.寫出下面程序的運行結果。abcdefglkjihsub(char*a,intt1,intt2)charch;while(t1t2)ch=*(a+t1);*(a+t1)=*(a+t2);*(a+t2)=ch;t1+;t2-;main()chars12;inti;for(i=0;i12;i+)si=A+i+32;sub(s,7,11);for(i=0;i12;i+)printf(“%c”,si);printf(“n”);.當運行以下程序時寫出輸入6的程序運行結果976531sub(char*a,charb)while(*(a+)!=0);while(*(a

17、-1)=0;j-)printf(“%sn”,*(p-);四程序填空題.下面函數(shù)的功能是從輸入的十個字符串中找出最長的那個串,請?zhí)?2)空使程序完整voidfun(charstr1081,char*sp)inti;*sp=【1str0】;for(i=1;i10;i+)if(strlen(*sp)strlen(stri)【2*sp=stri】;.下面函數(shù)的功能是將一個整數(shù)字符串轉換為一個整數(shù),例如:”-1234”轉換為1234,請?zhí)?3)空使程序完整。intchnum(char*p)intnum=0,k,len,j;len=strlen(p);for(;1*p!=0;p+)k=【2*p-0】;j=

18、(-len);while(3j-!=0)k=k*10;num=num+k;return(num);.下面函數(shù)的功能使統(tǒng)計子串substr在母串str中出現(xiàn)的次數(shù)請?zhí)羁帐钩绦蛲暾?。intcount(char*str,char*substr)inti,j,k,num=0;for(i=0;1stri!=0;i+)for(【2j=i】,k=0;substrk=strj;k+;j+)if(substr3k=0)num+;break;return(num);6.下面函數(shù)的功能是將兩個字符串si和s2連接起來請?zhí)?2)空使程序完整voidconj(char*s1,char*s2)while(*s1)【1s1+】;while(*s2)*s1=【2*s2】;s1+,s2+;*s1=0;五編程題.定義3個整數(shù)及整數(shù)指針,僅用指針方法按由小到大的順序輸

溫馨提示

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

評論

0/150

提交評論