學(xué)習(xí)情境六指針習(xí)題_第1頁
學(xué)習(xí)情境六指針習(xí)題_第2頁
學(xué)習(xí)情境六指針習(xí)題_第3頁
學(xué)習(xí)情境六指針習(xí)題_第4頁
學(xué)習(xí)情境六指針習(xí)題_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、學(xué)習(xí)情境六指針習(xí)題一、選擇題1若有說明:int i, j=2,*p=&i;,則能完成i=j賦值功能的語句是 。ai=*p; b*p=*&j; ci=&j; di=*p;2以下定義語句中,錯(cuò)誤的是 。aint a=1,2; bchar *a3; cchar s10=test; dint n=5,an;3假定以下程序main( int argc, char *argv) while(-argc0) printf(%s,argvargc);printf(n);經(jīng)編譯和連接后生成可執(zhí)行文件prog.exe,如果在此可執(zhí)行文件所在目錄的dos提示符下鍵入:prog abcdefgh ijkl則輸出結(jié)果為

2、 。aabcdefg bijhl cabcdefghijkl dijklabcdefgh4若定義了以下函數(shù):void f()*p=(double *)malloc( 10*sizeof( double);p是該函數(shù)的形參,要求通過p把動(dòng)態(tài)分配存儲(chǔ)單元的地址傳回主調(diào)函數(shù),則形參p的正確定義應(yīng)當(dāng)是 。adouble * p bfloat * p cdouble * p dfloat * p5若有以下說明和定義fun(int *c) main() int (*a)()=fun,*b(),w10,c;在必要的賦值之后,對fun函數(shù)的正確調(diào)用語句是 。aa=a(w); b(*a)(&c); cb=*b(

3、w); dfun (b);6有如下說明int a10=1,2,3,4,5,6,7,8,9,10,*p=a;則數(shù)值為9的表達(dá)式是 。a*p+9 b*(p+8) c*p+=9 dp+87有如下程序段int *p,a=10,b=1;p=&a; a=*p+b;執(zhí)行該程序段后,a的值為 。a12 b11 c10 d編譯出錯(cuò)8有以下函數(shù)char fun(char *p) return p; 該函數(shù)的返回值是 。a無確切的值 b形參p中存放的地址值c一個(gè)臨時(shí)存儲(chǔ)單元的地址 d形參p自身的地址值9下列程序的運(yùn)行結(jié)果是 。a6 3 b3 6 c編譯出錯(cuò)d0 0void fun(int *a, int *b) i

4、nt *k;k=a; a=b; b=k;main() int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf(%d %d, a, b);10下列程序的輸出結(jié)果是 。a非法ba4的地址 c5 d3main() char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5;printf(%d,*-p);11若有說明:char s14= “12”; char *ptr;則執(zhí)行以下語句后的輸出為 。 ptr=s1; printf(“%cn”, *(ptr+1);a字符2 b字符1 c字符2的地址 d不確定12執(zhí)行以下程序段后的y值為 。 static int a

5、 =1,3,5,7,9; int y,x,*ptr; y=1; ptr=&a1; for(x=0;x3;x+) y*=*(ptr+x);a105 b15 c945 d無定值13若有說明語句:int i, x34; 則以下關(guān)于x、* x、x0、&x00的正確描述是 。ax、* x、x0、&x00均表示元素x00的地址b只有x、x0、&x00表示的是元素x00的地址c只有x0和&x00表示的是元素x00的地址d只有&x00表示的是元素x00的地址14若有說明語句:int i, x34; 則不能將x11的值賦給變量i的語句是 。ai=*(*(x+1)+1) bi=x11ci=*(*(x+1) di=

6、*(x1+1)15以下程序段的結(jié)果為 。 static char a = “program”; char * ptr; ptr=a; for( ptr=a; ptra+7; ptr+=2) putchar(* ptr);aprogram bpormc有語法錯(cuò)誤 dpor16執(zhí)行以下程序段后,m的值為 。 static int a23=1,2,3,4,5,6; int m, * ptr; ptr=&a00; m=( *ptr) * ( * (ptr+2) ) * (* (ptr+4);a15 b48 c24 d無定值17語句 int ( * ptr ) ( );說明了 。aptr 是指向一維數(shù)組

7、的指針變量bptr 是指向int 型數(shù)據(jù)的指針變量cptr 是指向函數(shù)的指針,該函數(shù)返回一個(gè)int 型數(shù)據(jù)dptr 是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int 型數(shù)據(jù)的指針18若有說明int ( * p ) 3;則以下 是正確的敘述。ap是一個(gè)指針數(shù)組bp是一個(gè)指針,它只能指向一個(gè)包含3個(gè)int 類型元素的數(shù)組cp是一個(gè)指針,它可以指向一個(gè)一維數(shù)組中的任一元素d( * p )3與 * p3等價(jià)19下列選項(xiàng)中不是c語言main函數(shù)正確表達(dá)形式的是 。amain(int argc,char *argv);bmain(ac,av) int ac;char *av;cmain(c,v) int c;ch

8、ar *v;dmain(argc,argv) int argc;char argv;20若有以下定義,則對a數(shù)組元素的非法引用是 。int a23,(*pa)3;pa=a;a*(a0+2) b*pa2cpa00 d*(pa1+2)二、閱讀下面程序,寫出程序運(yùn)行結(jié)果1#include main() char * ptr1, *ptr2; ptr1=ptr2= “abcde”; while( * ptr2!=0) putchar( * ptr2+); while(- ptr2=ptr1) putchar( * ptr2); putchar(n);運(yùn)行結(jié)果為: 。2#include main() i

9、nt a10=11,12,13,14,15,16,17,18,19,20, n=10, i; sub( a, &n); for (i=0; in; i+) printf(“%d”, ai); printf(“n”); sub( int *s, int *n) int i,j=0; for (i=0; i*n; i+) if ( * (s+i)%2!=0) sj+=si; *n=j; 運(yùn)行結(jié)果為: 。3#include int a=1,5,7,9,11,13; main() int *p; p=a+3; printf(“%d,%dn”,(*p),*p+); printf(“%d,%dn”,*(p

10、-2),*(a+4);運(yùn)行結(jié)果為: 。4#include void fun(int *a, int *b) int *k;k=a; a=b; b=k;main() int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf(%d %d, a, b);運(yùn)行結(jié)果為: 。5#include main() char ch25=“6937”,“8254”,*p2;int i,j,s=0;for(i=0;i2;i+) pi=chi;for(i=0;i0;j+=2)s=10*s+pij-0;printf(“%dn”,s);運(yùn)行結(jié)果為: 。三、編程題(要求用指針完成)1編一個(gè)程序,輸入10個(gè)整數(shù)存入一維數(shù)組中,再按逆序重新存放后輸出2寫一個(gè)函數(shù)將33矩陣轉(zhuǎn)置,輸入一個(gè)矩陣,輸出轉(zhuǎn)置后的矩陣。3在一個(gè)已排好序的字符串?dāng)?shù)組中,插入一個(gè)鍵盤輸入的字符串,使其繼續(xù)保持有序。在上述程序查找成功的基礎(chǔ)上,我們將該字符串插入到字符數(shù)組中。插入的位置可以是數(shù)組頭、中間或數(shù)組尾。查找的算法采用折半算法,找到插入位置后,將字符串插入。4在主函數(shù)中輸入6個(gè)字符串,用另一個(gè)函數(shù)對它們按從小到大的順序排序,然后在主函數(shù)中輸出這6個(gè)已排好序的字符串。要求使用指針數(shù)組進(jìn)行處理。5編寫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論