若正常執(zhí)行了如下語句_第1頁
若正常執(zhí)行了如下語句_第2頁
若正常執(zhí)行了如下語句_第3頁
若正常執(zhí)行了如下語句_第4頁
若正常執(zhí)行了如下語句_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、6.2-1 若正常執(zhí)行了如下語句:int m20,*p1=m,p2=&m13,n;n=p2-p1;則n的值為( )。6.2-2 若正常執(zhí)行了如下語句:int m =1,2,3,4,5,6,7,8,*p1=m+3,*p2=&m6,*p3;p3=p1+3;coutendl*p1 *p2 *p3;則程序的輸出是( )。6.2-3 已知指針p為int型指針,且其指針值為5000,則p+3的指針值為( )。6.2-4 p為一指針變量,取p所指向單元的數(shù)據(jù)作為表達式的值,然后使p指向下一個單元的表達式是( )。6.2-5 p為一指針變量,取p所指向單元的數(shù)據(jù)作為表達式的值,然后使該單元的數(shù)據(jù)值增1的表達式

2、是( )。6.2-6 p為一指針變量,使p指向下一個單元,然后取該單元的數(shù)據(jù)作為表達式的值的表達式是( )。6.2-7 p為一指針變量,將p所指向單元的數(shù)據(jù)值增1并作為表達式的值的表達式是( )。6.2-8 p1,p2都是字符指針,p1指向字符串ABCDEFGIJKLMN,p2-p1的差為9,則執(zhí)行語句coutp2;時顯示在屏幕上的是( )。6.2-9 已知變量ld定義為:long ld;,現(xiàn)需要一個指向ld的指針p,但又禁止通過p修改ld,則p應定義為( )。6.2-10 (單選)下列說法不正確的是( )。A. 地址從0開始編號,因此0是最小的指針值。B. 地址從1開始編號,而0則專用于表示

3、空指針。C. 地址0處不能用于存放數(shù)據(jù)。D. 一個C+字符串的地址就是該字符串第一個字符的地址。6.2-11 (單選)空指針是指( )。A 所指向的空間位置未存放任何數(shù)據(jù)的指針。B 所指向的空間位置存放著數(shù)據(jù)0的指針。C 所指向的空間位置可用于存放任何類型數(shù)據(jù)的指針。D 所指向的空間位置就是地址0的指針。6.2-12 (單選)下列說法正確的是( )。A. 空指針也稱為void指針,是一種不指向任何數(shù)據(jù)的指針。B. 空指針也稱為無類型指針,是一種可指向任何類型數(shù)據(jù)的指針。 C. 除了void指針外,任何非空指針都指向某種既定類型的數(shù)據(jù)。D. void指針也稱為無類型指針,是一種不指向任何數(shù)據(jù)的指

4、針。6.2-13 (單選)下列說法正確的是( )。A. 在2000,2001,20022007著幾個連續(xù)的地址單元中可存放8個數(shù)據(jù)。B. 在2000,2001,20022007著幾個連續(xù)的地址單元中可存放8個字符。C. 在2000,2001,20022007著幾個連續(xù)的地址單元中可存放字符串ABCDEFGH。D. 在2000,2001,20022007著幾個連續(xù)的地址單元中可存放8個整數(shù)。6.2-14 (單選)已知一運行正常的程序中有這樣兩個語句: int *p1,*p2=&a;p1=b;由此可知,變量a和b的類型分別是( )。Aint和int B. int*和intC. int和int* D

5、. int*和int*6.2-15 (單選)已知一運行正常的程序中有這樣兩個語句:int *p2=&x,*p1=a;*p2=b;由此可知,變量a和b的類型分別是( )。Aint和int B. int*和intC. int和int* D. int*和int*6.2-16 (多選)已知變量ld定義為:long ld;,在下面關于指針p的定義中,不能通過p修改ld的有( )。A.long *p=&ld; B.long const *p=&ld;C.long * const p=&ld; D.const long *p=&ld;6.2-17 (單選)假定p是一指針變量,下列指針表達式中正確的是( )。

6、A+p+ B.(+p)+C+(p+) D.p+-=36.2-18 (單選)假定p是一指針變量,下列指針表達式中正確的是( )。A(p+3)+ B.+(p+3)C+p D.p+6.2-19 下面的程序段包含了一系列指針操作,請在有關語句行注釋區(qū)的括弧中填寫對應于該行的輸出內(nèi)容: int i,m =0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;int *p=m;cout*pendl; /( )p+=10;cout*pendl; /( )p=m+10;cout*pendl; /( )i=*p;coutiendl; /( )i=*p+;couti,*p,m11endl;

7、/( )i=(*p)+;couti,*p,m11endl;/( )i=*-p;couti,*p endl; /( )i=*(p-=5);couti,*p endl; /( )*(p+1)=9;cout*p,*(p+1)endl; /( )6.3-1 通過定義,p成為指向數(shù)組X的可用于訪問X的元素的指針;已知X的定義是double X47;則p的定義是( )。6.3-2 已知數(shù)組Int定義為:int Inx46;p1是一個指針;要使下標訪問p1ij與Inxij等效,p1應定義為( )。6.3-4 已知數(shù)組Jnx定義為:int Jnx46;p2是一個一維數(shù)組;要使下標訪問p2ij與Jnxij等效,

8、p2應定義為( )。6.3-5 已知執(zhí)行語句for(int i=0;i=6;i+)coutWEEKDAYi,;后屏幕上顯示的是Sun,Mon,Tue,Wed,Thu,F(xiàn)ri,Sat則二維數(shù)組WEEKDAY的定義是( )。6.3-6 (單選)下列表達式中,與下標引用Ak等效的是( )。A.A+k B.*A+kC.*(A+k) D.A+*k6.3-7 (單選)已知i,j都是整形變量,下列表達式中,與下標引用Xij不等效的是( )。A.*(Xi+j) B.*(X+i)jC.*(X+i+j) D.*(*(X+i)+j)6.3-8 (單選)要使指針變量p指向1維數(shù)組A的第1個元素,正確的賦值表達式是(

9、)。A.p=A或p=A0 B.p=A或p=&A0C.p=&A或p=A0 D.p=&A或p=&A06.3-9 (單選)要使指針變量p指向2維數(shù)組A的第1個元素(0行0列元素),正確的賦值表達式是( )。A.p=A或p=A00 B.p=A0或p=A00C.p=A0或p=&A00 D.p=A或p=&A006.3-10 (單選)要想使語句coutSTR;顯示Hello!,STR不可定義為( )。A.char STR =Hello!; B.char STR6=Hello!;C.char *STR=Hello!; D.#define STRHello!6.4-1 已知函數(shù)fa的原形是:int fa(int

10、,char*);,pfa是指向fa的指針,則pfa的定義是( )。6.4-2 已知函數(shù)fb的原形是:char *fb(const char*);,pfb是指向fb的指針,則pfb的定義是( )。6.4-3 (單選)已知函數(shù)f1的原形是:void f1(int*a,char*b);變量v1,v2的定義是:int v1;char v2 =ABCDW;把v1和v2分別作為第一參數(shù)和第二參數(shù)來調(diào)用函數(shù)f1,正確的調(diào)用語句是( )。A.f1(v1,v2); B.f1(&v1,v2);C.f1(v1,&v2); D.f1(&v1,&v2);6.4-4 (單選)已知一函數(shù)的形參說明為double *(*p)

11、10,則下列數(shù)組中可以作為對應實參的是( )。A.double *F10; B.double *F510;C.double F510; D.double *(*F)10;6.5-1 要使引用jr代表變量int j;,jr應定義為( )。6.5-2 要使引用pr代表變量char *p;,pr應定義為( )。6.5-3 已知變量a,b定義為:int a=99,&b=a;,則couta-1,b+1;的輸出是( )。6.5-4 已知變量x,y定義為:int x =(99,98,97),&y=x1;,則couty-1,y*2;的輸出是( )。6.5-5 (單選)已知函數(shù)f1的原形是:void f1(in

12、t*a,long&b);變量v1,v2的定義是:int v1;long v2;把v1和v2分別作為第一參數(shù)和第二參數(shù)來調(diào)用函數(shù)f1,正確的調(diào)用語句是( )。A.f1(v1,v2); B.f1(&v1,v2);C.f1(v1,&v2); D.f1(&v1,&v2);6.5-6 (單選)已知函數(shù)f2的原形是:void f2(int&a,double(&b)5);變量v1,v2的定義是:int v1;double v25;把v1和v2分別作為第一參數(shù)和第二參數(shù)來調(diào)用函數(shù)f2,正確的調(diào)用語句是( )。A.f2(v1,v2); B.f2(&v1,v2);C.f2(v1,&v2); D.f2(&v1,&v

13、2);6.6-1 已知變量x的定義是int x;,要申請一塊能容納x中數(shù)據(jù)且與x同值的動態(tài)空間,并使變量px指向這個動態(tài)空間,則px應定義為( ),申請動態(tài)空間的操作應表示為( )。6.6-2 已知變量y的定義是long y10;,要申請一塊能容納y中所有數(shù)據(jù)的動態(tài)空間,并使變量py指向這個動態(tài)空間,則py應定義為( ),申請動態(tài)空間的操作應表示為( ),把y中的所有數(shù)據(jù)賦值給這塊動態(tài)空間的操作應表示為( )。6.6-3 已知變量z的定義是double(*z)10;,要申請一塊能容納z中數(shù)據(jù)的動態(tài)空間,并使變量pz指向這個動態(tài)空間,則pz應定義為( ),申請動態(tài)空間的操作應表示為( )。6.6

14、-4 已知變量p1,p2和p3的定義是:int*p1=new int(10);int*p2=new int10;int*p3=new int*(new int);要釋放上面申請的所有動態(tài)空間的語句是( )。6.6-5 (單選)要使語句p2=new int*;能夠正常執(zhí)行,p2應定義為( )。A.int p2; B. int *p2; C. int* p2; D. int *p2;6.6-6 (單選)要使語句p3=new int*10;能夠正常執(zhí)行,p3應定義為( )。A.int*p3; B.int*p310;C.int(*p3)10; D.int*(*p3)10;6.6-7 (單選)要使語句p

15、4=new int510;能夠正常執(zhí)行,p4應定義為( )。A.int p4510; B.int*p410;C.int(*p4)10; D.int(*p4)510;6.6-8 (單選)要使語句p1=new int10;能夠正常執(zhí)行,p1應定義為( )。A.int p1; B.int p110;C.int*p1; D.int(*p1)10;6-1 填空1. 若正常執(zhí)行了如下語句int m20,*p1=&m5,*p2=m+17,n;n=p2-p1;則n的值為( )。2. 若正常執(zhí)行了如下語句int m =1,2,3,4,5,6,7,8,*p1=m+7,*p2=&m2;p1-=3;coutendl*

16、p1 *p2;則程序的輸出是( )。3.執(zhí)行 int a,*p=a;coutp,sizeof(int);coutendl(p+3);若第一行的輸出是:0x0065FDF4,4則第二行的輸出必然是( )。4.p為一指針變量,使p指向前一個單元,然后取該單元的數(shù)據(jù)作為表達式的值的表達式是( )。5.p為一指針變量,將p所指向單元的數(shù)據(jù)值減1并作為表達式的值的表達式是( )。6.p為一指針變量,取p所指向單元的數(shù)據(jù)作為表達式的值,然后使p指向前一個單元的表達式是( )。7. p為一指針變量,取p所指向單元的數(shù)據(jù)作為表達式的值,然后使該單元的數(shù)據(jù)值減1的表達式是( )。8.若p指向字符串ABCDEFG

17、HIJKLMN,則執(zhí)行語句coutp+7;時顯示在屏幕上的是( )。9.已知變量ld定義為:long ld30;,現(xiàn)需要一個指向ld的指針p,使得通過p能夠取得數(shù)組ld的元素值,但又不能修改ld中的元素,則p應定義為( )。10.通過定義,p成為指向數(shù)組X的可用于訪問X的元素的指針;已知X的定義是double *X7; 則p的定義是( )。11.已知數(shù)組Inx定義為:int Inx46;,并能順利執(zhí)行語句p1=Inx;,p1的定義是( )。12.已知數(shù)組Jnx定義為:int Jnx46;,并能順利執(zhí)行語句p2=&Jnx;,p2的定義是( )。13.已知執(zhí)行語句for(int i=0;i=6;i

18、+)coutWEEKDAYi,;后屏幕上顯示的是Sun,Mon,Tue,Wed,Thu,F(xiàn)ri,Sat, 則二維數(shù)組WEEKDAY的定義是( )。14.已知(*pfs)(10.57,XYZ)是以正確的參數(shù)類型對函數(shù)fa的調(diào)用(fa無可選參數(shù)),則fa的原形是( ),pfa的定義是( )。15.已知函數(shù)fb的原形是:void(*fb()(const char *);,pfb是指向fb的指針,則pfb的定義是( )。16.要使引用kj代表變量char j;,kj應定義為( )。17.要使引用kp代表變量char(*p)4;,kp應定義為( )。18.已知變量a,b定義為:long a=66,&b=

19、a;,則couta-1,b+1;的輸出是( )。19.已知變量x,y定義為:int x =99,98,97,&y=x1;,則couty+1,y+X2;的輸出是( )。20.已知變量x的定義是int x;,要申請一塊能容納x中數(shù)據(jù)且與x同值的動態(tài)空間,并使變量px指向這個動態(tài)空間,則px應定義為( ),申請動態(tài)空間的操作應表示為( )。21.要使變量py指向一個具有5個單元的int型數(shù)組動態(tài)空間,且將該5個單元分別賦初值為1,2,3,4和5,則py應定義為( ),申請動態(tài)空間的操作應表示為( ),數(shù)組賦初值操作應表示為( )。22.已知變量z的定義是double(*z)410;,要申請一塊能容納

20、z中數(shù)據(jù)的動態(tài)空間,并使變量pz指向這個動態(tài)空間,則pz應定義為( ),申請動態(tài)空間的操作應表示為( )。23.已知變量p1,p2和p3的定義是:int *p1=new int10;int *p2=new int(10);int * *p3=new int *(p1);要釋放上面申請的所有動態(tài)空間的語句是( )。24.下面的程序段包含了一系列指針操作,請在有關語句行注釋區(qū)的括弧中填寫對應于該行的輸出內(nèi)容:int i,m =0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;int *p=m+2;cout*pendl; /( )p+=11;cout*pendl; /( )

21、p=m+11;cout*pendl; /( )i=*p+8;coutiendl; /( )i=*p-;couti,*p,m10endl; /( )i=(*p)-;cout i,*p,m10endl; /( )i=*+p;couti,*pendl; /( )i=*(p-=3);couti,*pendl; /( )*(p+1)=9;cout *p,*(p+1)endl; /( )6-2 選擇1.下列說法不正確的是( )。A. 一個數(shù)組的地址就是該數(shù)組第一個元素(0號元素)的地址。B. 地址0專用于表示空指針。C. 地址值0可以用符號常量NULL表示。D. 兩個指針相同是指它們的地址值相同。2.空指

22、針是指( )。A. 無指針值的指針。B. 不指向任何數(shù)據(jù)的指針。C. 無數(shù)據(jù)類型的指針。D. 既無指針值又無數(shù)據(jù)類型的指針。3.(多選)已知數(shù)組X定義為long X10;,在下面關于指針p的定義中,能用*p訪問X的首元素的有( )。A. long *p=X0; B.long *p=&X0;C.long *p=X; D.long *p=&X;4.(多選)已知數(shù)組Y定義為int Y1020;,在下面關于指針p的定義中,能用pij訪問Yij的有( )。A.int(*p)20=&Y0; B.int(*p)20=Y;C.int *p=&Y00; D.int(*p)1020=&Y;5.已知一運行正常的程序

23、中有這樣兩個語句:int *p1,*p2=&a;p1=*b;由此可知,變量a和b的類型分別是( )。A.int和int B.int和int*C.int和int* * D.int*和int*6.已知一運行正常的程序中有這樣兩個語句:int *p2=&x,*p1=a;*p2= *b;由此可知,變量a和b的類型分別是( )。A.int和int B.int*和intC.int和int* D.int*和int*7.已知變量ld定義為:long ld;,在下面關于指針P的定義中,能通過語句*p=0;ld置為0的是( )。A.long *p B.long const *p=&ld;C. long *cons

24、t p=&ld; D.const long *p=&ld;8.假定p是一指針變量,下列指針表達式中正確的是( )。A. p+=3 B.+(p-)C.(+p)- D.-p+9. 假定p是一指針變量,下列指針表達式中正確的是( )。A.p- B.-+PC.-(p+3) D.(p-3)+10.(多選)已知k為整型變量,下列表達式中,與下標引用Xij等效的是( )。A. *(&A0+k) B.A+k C. *(A+k) D.A+*k11.(多選)已知i,j都是整型變量,下列表達式中,與下標引用Xij等效的是( )。A. *(*(X+i)+j) B. *(X+i+j)C. *(&X0+i)j D. *(

25、Xi+j)12.要使指針變量p指向1維數(shù)組A的第5個元素(下標為4的那個元素),正確的賦值表達式是( )。A.p=&A或p=&A4 B. p=A+4或p=&A4 C. p=&A+4或p=A4 D. p=A+4或p=A4 13.要使指針變量p指向2維數(shù)組A的0行3列元素,正確的賦值表達式是( )。A. p=A+3或p=A03 B.p=A0+3或p=A03C.p=&A+3或p=&A03 D.p=A0+3或p=&A0314.(多選)要想使語句coutSTR;顯示Hello!,STR不可定義為( )。A. char STR10=Hello!;B. char STR=Hello!;C. char STR

26、 =H,e,l,l,o,!;D. char STR =Hello!;15.已知函數(shù)f1的原形是:viod f1(int &a,char *b);,變量v1,v2的定義是:int v1;char v2 =ABCDW;,把v1和v2分別作為第一參數(shù)和第二參數(shù)來調(diào)用函數(shù)f1,正確的調(diào)用語句是( )。A.f1(&v1,&v2); B.f1(&v1,v2);C.f1(v1,v2); D.f1(v1,&v2);16. 已知函數(shù)f2的原形是:viod f2(int *a,double (&b)5);,變量v1,v2的定義是:int v1;double v25;,把v1和v2分別作為第一參數(shù)和第二參數(shù)來調(diào)用函

27、數(shù)f2,正確的調(diào)用語句是( )。A. f2(v1,&v2); B.f2(&v1,v2);C.f2(v1,v2); D.f2(&v1,&v2);17. 已知函數(shù)f1的原形是:viod f2(int *a,long &b);變量v1,v2的定義是:int v1;long v2;把v1和v2分別作為第一參數(shù)和第二參數(shù)來調(diào)用函數(shù)f2,正確的調(diào)用語句是( )。A.f1(v1,v2); B.f1(&v1,v2);C.f1(v1,&v2); D.f1(&v1,&v2);18. 已知函數(shù)f2的原形是:viod f2(int &a,double (&b)5);,變量v1,v2的定義是:int v1;double

28、 v25;把v1和v2分別作為第一參數(shù)和第二參數(shù)來調(diào)用函數(shù)f2,正確的調(diào)用語句是( )。A.f2(v1,v2); B.f2(&v1,v2);C.f2(v1,&v2); D.f2(&v1,&v2);19.要使語句p1=new double12;能夠正常執(zhí)行,p1應定義為( )。A.double(*p1) ; B.double *p112;C.double *p1; D.double(*p1)12;20. 要使語句p2=new long *;能夠正常執(zhí)行,p2應定義為( )。A.long *p2; B.long *p2;C.long *p2; D.long p2;22. 要使語句p3=new fl

29、oat * 15;能夠正常執(zhí)行,p3應定義為( )。A.float(*p3)15; B. float(*p3) ;C.float * *p3; D. float *(*p3)15;23. 要使語句p4=new int105;能夠正常執(zhí)行,p4應定義為( )。A.int(*p4) 5; B. int(*p4)105;C.int(*p4)5; D. int *p45; 6-3 設計函數(shù)gf1,它返回兩個參數(shù)的乘積,并在必要時交換兩個參數(shù),使小在前。例如執(zhí)行int a=3,b=5,c=9,d=2;cout/gf1(&a,&b),;couta,b;cout/gf1(&c,&d),;coutc,d;cout/gf1(&b,&c),;coutb,c;顯示在屏幕上的是:/15,3,5/18,2,9/10,2,5。6-4 設計函數(shù)gf2,它交換作為參

溫馨提示

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

評論

0/150

提交評論