版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
C語言指針練習題及答案一、選擇題1.變量的指針,其含義是指該變量的____.a)值b)地址c)名d)一個標志2.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項是___.a)a,point,*&ab)&*a,&a,*pointc)*&point,*point,&ad)&a,&*point,point3.若有說明;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;4.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤原因是_______.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只能用來說明p是一個指針變量5.已有變量定義和函數(shù)調(diào)用語句:inta=25;print_value(&a);下面函數(shù)的正確輸出結(jié)果是______.voidprint_value(int*x){printf(“%d\n”,++*x);}a)23b)24c)256.若有說明:long*p,a;則不能通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是A)*p=&a;scanf("%ld",p);B)p=(long*)malloc(8);scanf("%ld",p);C)scanf("%ld",p=&a);D)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);}程序運行后的輸出結(jié)果是A)1,2,1,2 B)1,2,2,1C)2,1,2,1 D)2,1,1,28.有以下程序 main() {inta=1,b=3,c=5; int*p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf("%d\n",c); }執(zhí)行后的輸出結(jié)果是A)1 B)2 C)3 D)49.有以下程序main(){inta,k=4,m=4,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);}程序運行后的輸出結(jié)果是()A)4 B)1 C)0 D)運行時出錯,無定值10.在16位編譯系統(tǒng)上,若有定義inta[]={10,20,30},*p=&a;,當執(zhí)行p++;后,下列說法錯誤的是()A)p向高地址移了一個字節(jié) B)p向高地址移了一個存儲單元C)p向高地址移了兩個字節(jié) D)p與a+1等價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.若有以下定義,則對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.設已有定義:inta[10]={15,12,7,31,47,20,16,28,13,19},*p;下列語句中正確的是()A)for(p=a;a<(p+10);a++);B)for(p=a;p<(a+10);p++);C)for(p=a,a=a+10;p<a;p++);D)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;}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,31.已定義以下函數(shù)
fun(int
*p)
{
return
*p;}
該函數(shù)的返回值是
A)不確定的值
B)形參p中存放的值
C)形參p所指存儲單元中的值
D)形參p的地址值32.
有以下程序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)
12
B)
11
C)
18
D)
1633.若有以下函數(shù)首部則下面針對此函數(shù)的函數(shù)聲明語句中正確的是 intfun(doublex[10],int*n)A)intfun(doublex,int*n); B)intfun(double,int);C)intfun(double*x,intn); D)intfun(double*,int*);34.有以下程序執(zhí)行后的輸出結(jié)果是()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]);}A)4B)3C35.下段代碼的運行結(jié)果是:intmain()
{
chara;
char*str=&a;
strcpy(str,"hello");
puts(str);
return0;
}A)helloB)nullC)hD)發(fā)生異常36.下段程序的運行結(jié)果是voidmain(){char*p,*q;charstr[]="Hello,World\n";q=p=str;p++;print(q);print(p);}voidprint(char*s){printf(“%s”,s);}A)HeB)Hello,Worldello,WorldC)Hello,WorldHello,WorldD)ello,Worldell,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);
}
程序運行后的輸出結(jié)果是___。
A)B,a,B,aB)a,B,a,BC)A,b,A,bD)b,B,A,b38、下面選項屬于函數(shù)指針的是:A、(int*)p(int,int)B、int*p(int,int)C、兩者都是D、兩者都不是39、若有函數(shù)max(a,b),并且已使函數(shù)指針變量p指向函數(shù)max,當調(diào)用該函數(shù)時,正確的調(diào)用方法是____.A)(*p)max(a,b);B)*pmax(a,b);C)(*p)(a,b);D)*p(a,b);40、下面幾個選項中的代碼能通過編譯的是: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、下列選項中聲明了一個指針數(shù)組的是:A)int*p[2];B)int(*p)[2];C)typedefint*intPtr;intPtrp[2];D)A和BE)A和CF)B和C42、下面代碼能通過編譯的是: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]={a[1],a[2],a[3]}; int**p=b; return0;}C)intmain(){ inta[3]={1,2,3}; int*b[3]={&a[1],&a[2],&a[3]}; int*p=b; return0;}D)intmain(){ inta[3]={1,2,3}; int*b[3]={&a[1],&a[2],&a[3]}; int*p=&b; return0;}43、對于語句int*pa[5];下列描述中正確的是___.A)pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素int(*p)[5]B)pa是一個指向某數(shù)組中第5個元素的指針,該元素是int型變量C)pa[5]表示某個元素的第5個元素的值D)pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針44、若有以下定義,且0≤i<4,則不正確的賦值語句是____.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、若要對a進行++運算,則a應具有下面說明____.A)inta[3][2];B)char*a[]={“12”,”ab”C)char(*a)[3];D)intb[10],*a=b;46、若有以下說明語句:char*language[]={“FORTRAN”,”BASIC”,’’PASCAL”,’’JAVA”,”C”};char**q;q=language+2;則語句printf(“%o\n”,*q)輸出的是___.A)language[2]元素的地址;B)字符串PASCALC)language[2]元素的值,它是字符串PASCAL的首地址D)格式說明不正確,無法得到確定的輸出47、若有以下程序:voidmain(){char*a[3]={"I","love","China"};char**ptr=a;printf("%c%s",*(*(a+1)+1),*(ptr+1));}這段程序的輸出是()A)IlB)ooC)oloveD)Ilove二、程序題1、計算字符串中子串出現(xiàn)的次數(shù)。要求:用一個子函數(shù)subString()實現(xiàn),參數(shù)為指向字符串和
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學教育教學改革制度
- 交通肇事逃逸處理制度
- 2026年環(huán)境保護知識環(huán)境監(jiān)測與治理技術模擬題
- 2026年京東技術面試題及答案詳解
- 2025年企業(yè)產(chǎn)品水足跡標簽申請代理合同
- 2025年管轄權異議申請書(被告提交)
- 《JBT 14674-2024風力發(fā)電機組 變槳齒輪箱》專題研究報告
- 檢驗科實驗室廢水的處理制度及流程
- 2025年三臺縣幼兒園教師招教考試備考題庫含答案解析(必刷)
- 2025年黎城縣招教考試備考題庫帶答案解析(必刷)
- 人教版(2024)七年級上冊數(shù)學期末綜合檢測試卷 3套(含答案)
- 研發(fā)資料規(guī)范管理制度(3篇)
- GB/T 16770.1-2025整體硬質(zhì)合金直柄立銑刀第1部分:型式與尺寸
- 工業(yè)產(chǎn)品銷售單位質(zhì)量安全日管控周排查月調(diào)度檢查記錄表
- 2025年風險管理自查報告
- 2026年中國煤炭資源行業(yè)投資前景分析研究報告
- 項目成本控制動態(tài)監(jiān)測表模板
- DBJ46-074-2025 海南省市政道路瀝青路面建設技術標準
- 幼兒園小班語言《大一歲了》課件
- GB/T 14071-2025林木品種審定規(guī)范
- 移風易俗問答題目及答案
評論
0/150
提交評論