指針和結(jié)構(gòu)體練習(xí)題_第1頁
指針和結(jié)構(gòu)體練習(xí)題_第2頁
指針和結(jié)構(gòu)體練習(xí)題_第3頁
指針和結(jié)構(gòu)體練習(xí)題_第4頁
指針和結(jié)構(gòu)體練習(xí)題_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第十章指針選擇題.變量的指針,其含義是指該變量的OA)值B)地址C)名D)一個標(biāo)志.已有定義intk=2;int*ptrl,*ptr2;且ptrl和ptr2均已指向變量k,下面不能正確執(zhí)行的賦值語句是。A)k=*ptrl+*ptr2B)ptr2=kC)ptrl=ptr2D)k=*ptrl*(*ptr2).若有說明:int*p,m=5,n;以下程序段正確的是。A)p=&n;B)p=&n;scanf(d”,&p);scanf(d”,*p);C)scanf(%d,&n);D)p=&n;*p=n;*p=m;.已有變量定義和函數(shù)調(diào)用語句:inta=25;print_value(&a);下面函數(shù)的輸出結(jié)果

2、是ovoidprmt_value(iiit*x)prin氓%dn”,+*x);A)23B)24C)25D)26.若有說明:int*pl,*p2,m=5,n;以下均是正確賦值語句的選項(xiàng)是。A)pl=&m;p2=&pl;B)p2=&n;*pl=*p2;C)pl=&m;p2=pl;D)pl=&m;*pl=*p2;.若有語句:int*p,a=4;和所&a;下面均代表地址的一組選項(xiàng)是。A)a,p,*&aB)&*a,&a,*pC)*&p,*p,&aD)&a,&*p,p.下面判斷正確的是。chai*a=china;等價于chai*a;*a=china”;charstr10=c7;等價于charsti10;s

3、ti=china”;char*s=china”;等價于chai*s;s=china”;chaic4=abc”,d4=abc;等價于charc4=d4=abc;.下面程序段中,for循環(huán)的執(zhí)行次數(shù)是ochai-*s=ta018bc,;for(;*s!=0;s+)printf(巧;A)9B)7C)6D)5.下面能正確進(jìn)行字符串賦值操作的是oA)chas5=“ABCDE”;B)chais5=ArB,CDrE;C)char*s;s=ABCDED)char*s;scanf(s”,s);.下面程序段的運(yùn)行結(jié)果是。char*s=abcde”;s+=2;prmtf(“%d”,s);A)cdeB)字符eC)字符

4、的地址D)不確定IL設(shè)pl和p2是指向同一個字符串的指針變量,c為字符變量,則以下不能正確執(zhí)行的賦值語句是oA)c=*pl+*p2B)p2=cC)pl=p2D)c=*pl*(*p2)12.設(shè)有程序段:chars=chma”;char*p;p=s;則下面敘述正確的是。A)s和p完全相同B)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等s數(shù)組長度和p所指向的字符串長度相等*p與s0相等13.以下與庫函數(shù)strcpy(char*pl,char*p2)功能不相等的程序段是。strcpyl(char*pl,char*p2)wliile(*pl+=*p2+)!=0,);strcpy2(char*pl,char*p

5、2)wlule(*pl=*p2)!=0)pl+;p2+strcpy3(char*pl,char*p2)wliile(*pl-H-=*p2+);strcpy4(char*pl,char*p2)wliile(*p2)*pl+=*p2-H-;.下面程序段的運(yùn)行結(jié)果是。chaia-Uanguagen,*p;P=a;while(*p!=U)pnntf(%c”,*p-32);p+;A)LANGUAGEB)languageC)LANGD)langUAGE.若有語句:charsi卜”string”,s28,*s3,*s4=string2”;則庫函數(shù)strcpy的錯誤調(diào)用是。A)strcpy(sljstnng2

6、);B)strcpy(s4Jstnngl)C)strcpy(s3Jstringl”);D)sticpy(sl,s2);.以下與庫函數(shù)strcmp(char*s,char*t)功能相等的程序段是。sticmp1(chai*s,char*t)for(;*s+=*t+;)if(*s=,0?)return0;return(*s-*t);)strcmp2(char*s,char*t)for(;*s+=*t+;)return0;return(*s-*t);)C)strcmp3(char*s,chai-*t)for(;*t=*s;)if(!*t)return0;t+;s+;return(*s-*t);)D)

7、strcmp4(char*s,char*t)for(;*s=*t;s+,t+)return0;return(*t-*s);).以下說明不正確的是。B)chara10,*p=a;phina;D)chara10,*p;p=a-A)chara10=cliuia,B)chara10,*p=a;phina;D)chara10,*p;p=a-C)char*a;a-hiiia;.設(shè)有說明語句:chara=Itismine;char*p=,tItismine則以卜不正確的敘述是Oa+1表示的是字符t的地址p指向另外的字符串時,字符串的長度不受限制p變量中存放的地址值可以改變a中只能存放10個字符.若已定義ch

8、ars10;則在下面表達(dá)式中不表示s1的地址是。A)s+1B)s+C)&s0+lD)&sl.若有定義:inta5,*p=a;則對a數(shù)組元素的正確引用是。A)*&a5B)a+2C)*(p+5)D)*(a+2).若有定義:inta5,*p=a;則對a數(shù)組元素地址的正確引用是。A)p+5B)*a+lC)&a+lD)&a0.若有定義:inta5;則a數(shù)組中首元素的地址可以表示為0D)&alD)mt(*q)5D)inta5int*pl,*p2=a;D)&alD)mt(*q)5D)inta5int*pl,*p2=a;*pl=*p2;.以下與int*q5;等價的定義語句是oA)mtq5B)iiit*qC)m

9、t*(q5).以下選項(xiàng)中,對指針變量p的不正確操作是。A)mta3,*p;B)inta5,*p;C)mta5;p=&a;p=a;mt*p=a;25.若有定義:intx10=0,1,2,3,4,5,6,7,8,9),*pl;則數(shù)值不為3的表達(dá)式是A)x3B)pl=x+3,*pl+C)pl=x+2,*(pl+)D)pl=x+2,*-H-pl26.若有說明:charlanguage二“FORTRAN二記ASIC”;TASCAL”,“JAVA,“C;則language2的值是。一個字符B)一個地址C)一個字符串D)一個不定值27.設(shè)有定義:char*cc2二“1234”,“5678”;則正確的敘述是0

10、A)cc數(shù)組的兩個元素中各自存放了字符串“1234”和“5678”的首地址cc數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址cc是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組cc數(shù)組元素的值分別維“1234”和“5678”.已有定義int(*p)();指針p可以oA)代表函數(shù)的返回值B)指向函數(shù)的入口地址C)表示函數(shù)的類型D)表示函數(shù)返回值的類型.已有函數(shù)max(a,b),為了讓函數(shù)指針變量p指向函數(shù)max,正確的賦值方法是。A)p=max;B)p=niax(a,b);C)*p=niax;D)*p=niax(a,b);.若有函數(shù)max(a,b),并且已使函數(shù)指針變量p指向函數(shù)

11、max,當(dāng)調(diào)用該函數(shù)時,正確的調(diào)用方法是oA)(*p)max(a,b)B)*pmax(a,b);C)(*p)(a,b);D)*p(a,b);.以下正確的敘述是cC語言允許main函數(shù)帶形參,且形參個數(shù)和形參名均可由用戶指定C語言允許main函數(shù)帶形參,形參名只能是argc和argvC)當(dāng)main函數(shù)帶有形參時,傳給形參的值只能從命令行中得到D)若有說明:intinam(intargc,chai*argv口),則argc的值必須大于1二.填空題.在C程序中,指針變量能夠賦值或值。.在C語言中,數(shù)組名時一個不可改變的,不能對它進(jìn)行賦值運(yùn)算。.若有定義語句:inta4=0,1,2,3,*p;p=&a

12、l;則+(*p)的值是.若有定義:inta23=2,4,6,8,10,12;則*(&a00+2*2+1)的值是*(al+2)的值是。.若有程序段:int*p3,a6,i;for(i=0;i3;i+)pi=&a2*i;則*p0引用的是a數(shù)組元素,*(pl+l)引用的是a數(shù)組元素三.程序閱讀題.寫出下面程序的運(yùn)行結(jié)果。fiinc(cliai-*s,chara,intn)mtj;*s=a;j=n;while(*ssj)j;returnj;main()charc6;inti;for(i=l;iE,5);.寫出下面程序的運(yùn)行結(jié)果。firn(char*s)char*p=s;while(*p)pH;retu

13、rn(p-s);main()char*a=,abcdef;pnntf(%dn,fin(a);.寫出下面程序的運(yùn)行結(jié)果。sub(chartljntt2)chaich;wlule(tlt2)ch=*(a+tl)=*(a+t2);*(a+t2)=ch;tl+;t2-;main()chais12;inti;for(1=0;i12;i+)si=宣+i+32;sub(s,7,ll);for(i=0;i12;i+)prmtf巧;abcdefglkjili4.當(dāng)運(yùn)行以下程序時,寫出輸入6/的程序運(yùn)行結(jié)果。sub(char*a,charb)while(*(a+)!=,0J;while(*(a-l)sex);D)

14、scanf(u%dv,p-age);.以下引用不合法的是ostructsintil;structs*i2,*i0;a=2,&al,0,4,&a2,&a0,6,,0,*ptr=a;A)ptr-il+B)*ptr-i2C)+ptr-iOD)*ptr-il.若有以下程序段:inta=l,b=2,c=3;structdent(intn;int*m;s3=101,&a,102,&b,103,&c;structdent*p=s;則以下表達(dá)式中值為2的是oA)intB)*(p+)-mC)(*p).mD)*(+p)-m.若要利用下面的程序段使指針變量P指向一個存儲整型變量的存儲單元,則在【】中應(yīng)有的內(nèi)容是。int*p;p=11malloc(sizeof(int);A)intB)int*C)(*int)D)(int*).下面對typedef的敘述中不正確的是。A)用typedef可以定義多種類型名,但不能用來定義變量B)用typedef可以增加

溫馨提示

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

最新文檔

評論

0/150

提交評論