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

下載本文檔

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

文檔簡(jiǎn)介

一、選擇題。變量的指針,其含義是指該變量的a)值b)地址c)名d)一個(gè)標(biāo)志.若有語(yǔ)句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是a)a,a)a,point,*&ac)*&point,*point,&ab)&*a,&a,*pointd)&a,&*point,point.若有說(shuō)明;int*p,m=5,n;以下正確的程序段的是a)p=&a)p=&n;scanf("%d”,&p);c)scanf(”%d",&n);b)p=&n;scanf("%d",*p);d)p=&n;*p=n;**p=n;4。以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是.main(){int*p,*q,a,b;p=&a;printf(“inputa:");scanf(“%d”,*p);}a)*p表示的是指針變量p的地址b)*p表示的是變量a的值,而不是變量a的地址c)*p表示的是指針變量p的值d)*p只能用來(lái)說(shuō)明p是一個(gè)指針變量.已有變量定義和函數(shù)調(diào)用語(yǔ)句:inta=25;print_value(&a);下面函數(shù)的正確輸出結(jié)果是。voidprint_value(int*x){printf(%d\n,++*x);}a)23b)24c)25d)26.若有說(shuō)明:long*p,a;則不能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是*p=&a;scanf("%ld",p);p=(long*)malloc(8);scanf(”%ld”,p);scanf("%ld",p=&a);scanf("%ld”,&a);7。有以下程序#include〈stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序運(yùn)行后的輸出結(jié)果是A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2有以下程序main(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf(”%d\n”,c);}執(zhí)行后的輸出結(jié)果是A)1B)2C)3D)4有以下程序main(){inta,k=4,m=4,*p1=&k,*p2=&m;a=p1==&m;printf(”%d\n",a);}程序運(yùn)行后的輸出結(jié)果是()A)4B)1C)0D)運(yùn)行時(shí)出錯(cuò),無(wú)定值10.在16位編譯系統(tǒng)上,若有定義inta[]={10,20,30},*p=&a;,當(dāng)執(zhí)行p++;后,下列說(shuō)法錯(cuò)誤的是()A)p向高地址移了一個(gè)字節(jié)B)p向高地址移了一個(gè)存儲(chǔ)單元C)p向高地址移了兩個(gè)字節(jié)D)p與a+1等價(jià)11。有以下程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是()A)5B)6C)8D)912。若有以下定義,則對(duì)a數(shù)組元素的正確引用是。inta[5],*p=a;a)*&a[5]b)a+2c)*(p+5)d)*(a+2)13。若有以下定義,則p+5表示。inta[10],*p=a;a)元素a[5]的地址b)元素a[5]的值c)元素a[6]的地址d)元素a[6]的值14。設(shè)已有定義:inta[10]={15,12,7,31,47,20,16,28,13,19},*p;下列語(yǔ)句中正確的是()for(p=a;a<(p+10);a++);for(p=a;p〈(a+10);p++);for(p=a,a=a+10;p〈a;p++);for(p=a;a<p+10;++a);15。有以下程序段#include<stdio.h〉intmain(){intx[]={10,20,30};int*px=x;printf(”%d,",++*px);printf("%d,",*px);px=x;printf(”%d,”,(*px)++);printf(”%d,”,*px);px=x;printf("%d,”,*px++);printf(”%d,",*px);px=x;printf(”%d,”,*++px);printf(”%d\n",*px);return0;}程序運(yùn)行后的輸出結(jié)果是()A)11,11,11,12,12,20,20,20B)20,10,11,10,11,10,11,10C)11,11,11,12,12,13,20,20D)20,10,11,20,11,12,20,2016。設(shè)有如下定義:intarr[]={6,7,8,9,10};int*ptr;ptr=arr;*(ptr+2)+=2;printf(”%d,%d\n”,*ptr,*(ptr+2));則程序段的輸出結(jié)果為A)8,10B)6,8C)7,9D)6,1017.若有定義:inta[]={2,4,6,8,10,12},*p=a;則*(p+1)的值是。*(a+5)的值是.18。若有以下說(shuō)明和語(yǔ)句,intc[4][5],(*p)[5];p=c;能正確引用c數(shù)組元素的是.A)p+1B)*(p+3)C)*(p+1)+3D)*(p[0]+2)).若有定義:inta[2][3],則對(duì)a數(shù)組的第i行j列元素地址的正確引用為。a)*(a[i]+j)b)(a+i)c)*(a+j)d)a[i]+j.若有以下定義:inta[2][3]={2,4,6,8,10,12};則a[1][0]的值是。*(*(a+1)+0)的值是.21。有以下定義chara[10],*b=a;不能給數(shù)組a輸入字符串的語(yǔ)句是()A)gets(a)B)gets(a[0])C)gets(&a[0]);D)gets(b);22。下面程序段的運(yùn)行結(jié)果是。char*s=”abcde";s+=2;printf(”%d”,s);a)cdeb)字符'c'c)字符'c'的地址d)無(wú)確定的輸出結(jié)果

23.以下程序段中,不能正確賦字符串(編譯時(shí)系統(tǒng)會(huì)提示錯(cuò)誤)的是()A)chars[10]="abcdefg";B)chart[]=”abcdefg”,*s=t;C)chars[10];s=”abcdefg";D)chars[10];strcpy(s,"abcdefg");24.設(shè)已有定義:char*st=”howareyou";下列程序段中正確的是()A)chara[11],*p;strcpy(p=a+1,&st[4]);chara[11chara[11];chara[11];chara[],*p;strcpy(a,st);strcpy(p=&a[1],st+2);25。有以下程序main(){chara[]="programming",b[]="language";char*p1,*p2;inti;p1=a;p2=b;for(i=0;i〈7;i++)if(*(p1+i)==*(p2+i))printf(”%c”,*(p1+i));}輸出結(jié)果是()A)gmB)rgC)orD)ga.設(shè)pl和p2是指向同一個(gè)字符串的指針變量,c為字符變量,則以下不能正確執(zhí)行的賦值語(yǔ)句是。a)c=*p1+*p2;b)p2=cc)p1=p2d)c=*p1*(*p2);.以下正確的程序段是b)char*p;scanf(”%s”,b)char*p;scanf(”%s”,p);d)charstr[20],*p=str;scanf(”%s”,p[2]);scanf(”%s”,&str);c)charstr[20];scanf(”%s",&str[2]);.若有說(shuō)明語(yǔ)句chara[]="Itismine";char*p=”Itismine”;則以下不正確的敘述是.a)a+1表示的是字符t的地址b)p指向另外的字符串時(shí),字符串的長(zhǎng)度不受限制c)p變量中存放的地址值可以改變d)a中只能存放10個(gè)字符29.下面程序的運(yùn)行結(jié)果是。#include〈stdio.h>#include〈string。h〉main(){char*s1="AbDeG";char*s2=”AbdEg”;s1+=2;s2+=2;printf("%d\n”,strcmp(s1,s2));}a)正數(shù)b)負(fù)數(shù)c)零d)不確定的值.有以下程序voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(*p!=*q){f(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,放[i]);}程序運(yùn)行后的輸出結(jié)果是。A)8,2,3,4,5,6,7,1,B)5,6,7,8,1,2,3,4,C)1,2,3,4,5,6,7,8,D)8,7,6,5,4,3,2,1,.已定義以下函數(shù)fun(int*p){return*p;}該函數(shù)的返回值是A)不確定的值B)形參p中存放的值C)形參p所指存儲(chǔ)單元中的值D)形參p的地址值.有以下程序intf(intb[][4]){inti,j,s=0;for(j=0;j〈4;j++){i=j;if(i>2)i=3-j;s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}執(zhí)行后的輸出結(jié)果是A)12B)11C)18D)16.若有以下函數(shù)首部intfun(doublex[10],int*n)則下面針對(duì)此函數(shù)的函數(shù)聲明語(yǔ)句中正確的是A)intfun(doublex,int*n);B)intfun(double,int);C)intfun(double*x,intn);D)intfun(double*,int*);.有以下程序voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i-—)sum(&aa[i]);printf(”%d\n”,aa[0]);}執(zhí)行后的輸出結(jié)果是()A)4B)3C)2D)1.下段代碼的運(yùn)行結(jié)果是:intmain(){chara;char*str=&a;strcpy(str,"hello");printf(str);return0;}A)helloB)nullC)hD)發(fā)生異常36。下段程序的運(yùn)行結(jié)果是:voidmain()

{char*p,*q;charstr[]=”Hello,World\n";q=p=str;p++;print(q);print(p);}voidprint(char*s){printf(“%s",s);}A)Heello,WorldHello,Worldellello,WorldHello,Worldell,WorldC)Hello,WorldD)ello,World37.有以下程序voidfun(char*c,intd){*c=*c+1;d=d+1;printf(”%c,%c,",*c,d);}voidmain(){chara=’A’,b=’a';fun(&b,a);printf(”%c,%c\n",a,b);}程序運(yùn)行后的輸出結(jié)果是。A)B,a,B,aB)a,B,a,BC)A,b,A,bD)b,B,A,b38、下面選項(xiàng)屬于函數(shù)指針的是:A、(int*)p(int,int)B、int*p(int,int)C、兩者都是D、兩者都不是39、若有函數(shù)max(a,b),并且已使函數(shù)指針變量p指向函數(shù)max,當(dāng)調(diào)用該函數(shù)時(shí),正確的調(diào)用方法是.A)(*p)max(a,b);B)*pmax(a,b);C)(*p)(a,b);D)*p(a,b);40、下面幾個(gè)選項(xiàng)中的代碼能通過(guò)編譯的是:A)int*fun(?{ints[3]={1,3,4};;returns;intmain(){int*result;result=fun();for(inti=0;i<3;i++)printf(”%d\n”,result[i]);return0;}B)int&fun(){ints[3]={1,3,4};;returns;}intmain(){int*result;result=fun();for(inti=0;i〈3;i++)printf("%d\n",result[i]);return0;}C)int*fun(){ints[3]={1,3,4};;return&s;}intmain(){int*result;result=fun();for(inti=0;i<3;i++)printf("%d\n",result[i]);return0;}D)int&fun(){ints[3]={1,3,4};;return&s;}}intmain(){int*result;result=fun();for(inti=0;i<3;i++)printf("%d\n,result[i]);return0;}41、下列選項(xiàng)中聲明了一個(gè)指針數(shù)組的是:A)int*p[2];B)int(*p)[2];C)typedefint*intPtr;intPtrp[2];A和BA和CB和C42、下面代碼能通過(guò)編譯的是:A)intmain(){inta[3]={1,2,3};int*b[3]={&a[1],&a[2],&a[3]};int**p=b;return0;}B)intmain(){inta[3]={1,2,3};int*b[3]={aEH,a[2],a[3]};int**p=b;return0;}C)intmain(){intaE3]={1,2,3};int*bE3]={&a[1],&aE2],&aE3]};int*p=b;return0;}D)intmain(){inta[3]={1,2,3};int*bE3]={&aE1],&aE2],&a[3]};int*p=&b;return0;43、對(duì)于語(yǔ)句int*pa[5];下列描述中正確的是。pa是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是5個(gè)int型元素pa是一個(gè)指向某數(shù)組中第5個(gè)元素的指針,該元素是int型變量pa[5]表示某個(gè)元素的第5個(gè)元素的值pa是一個(gè)具有5個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)int型指針44、若有以下定義,且0Wi<4,則不正確的賦值語(yǔ)句是.intb[4][6],*p,*q[4];A)q[i]=b[i];B)p=b;C)p=b[i]D)q[i]=&b[0][0];45、若要對(duì)a進(jìn)行++運(yùn)算,則a應(yīng)具有下面說(shuō)明.A)inta[3][2];B)char*a[]={“12”,”ab”};C)char(*a)[3];D)intb[10],*a=b;46、若有以下說(shuō)明語(yǔ)句:char*language口={FORTRAN,BASIC,PASCAL",JAVA,"C};char**q;q=language+2;則語(yǔ)句printf(%o\n,*q)輸出的是.A)language[2]元素的地址;B)字符串PASCALlanguage[2]元素的值,它是字符串PASCAL的首地址D)格式說(shuō)明不正確,無(wú)法得到確定的輸出47、若有以下程序:voidmain(){char*a[3]={"I,"love",China”};char**ptr=a;printf(”%c%s”,*(*(a+1)+1),*(ptr+1));}這段程序的輸出是()IlooC)oloveIlove二、程序題1、計(jì)算字符串中子串出現(xiàn)的次

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論