




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. 習(xí)題6參考解答 1請(qǐng)解釋以下術(shù)語的含義:地址 指針 指針變量 直接訪問 間接訪問解:(1)地址:內(nèi)存單元的編號(hào)叫做地址。(2)指針:內(nèi)存單元的編號(hào)叫做地址,通常也叫做指針。(3)指針變量:在語言中,允許用一個(gè)變量來存放指針,這種變量稱為指針變量。(4)直接訪問:通過變量名稱引用變量?jī)?nèi)存單元的方式稱為直接訪問。(5)間接訪問:利用了指針變量,通過變量的指針(即變量的內(nèi)存地址)來引用內(nèi)存單元的值,這種方式稱為間接訪問。2指針能參與哪幾種運(yùn)算?舉例說明。解:(1)指針變量和整數(shù)可以進(jìn)行加/減運(yùn)算:p+、p-、p+i、p-i、p+=i、p-=i (2)指針變量可進(jìn)行賦值運(yùn)算:p=&a; 變量a的地
2、址賦給p,即指針p指向ap=array; 數(shù)組array首地址賦給pp=&arrayi; 數(shù)組元素arrayi的地址賦給pp=max; 函數(shù)max的入口地址賦給pp1=p2; 指針p2的值賦給指針p1,即p1、p2所指的數(shù)據(jù)相同 (3)同類指針變量在一定的條件下可以作相減運(yùn)算: p-q (4)同類指針變量在一定的條件下可以作比較運(yùn)算: pq 3判斷下面兩個(gè)程序的正誤,若錯(cuò)誤指出原因。(1)#includeint main() char *p;精品.p=data;printf(%sn,*p);return 0;解:該程序錯(cuò)。應(yīng)為:printf(%sn,p);(2)#includeint main
3、() int *p;*p=25;printf(%d,*p);return 0;解:該程序錯(cuò)。指針變量沒有賦初值。4輸入3個(gè)整數(shù),輸出其中最大數(shù)。要求用指針變量實(shí)現(xiàn)。解:#includestdio.hint main()int a=0,b=0,c=0;int*aa=null,*bb=null,*cc=null,*p=null;aa=&a,bb=&b,cc=&c;printf(input 3 number:);scanf(%d %d %d,&a,&b,&c);printf(a=%d b=%d c=%dn,a,b,c); p=aa;if(*p*bb) p=bb;精品.if(*p*cc) p=cc;p
4、rintf(%dn,*p);return 0; 程序運(yùn)行情況如下:input 3 number:4 5 9a=4 b=5 c=995有3個(gè)整型變量i,j,k。請(qǐng)編寫一個(gè)程序,設(shè)置3個(gè)指針變量p1,p2,p3,分別指向i,j,k,然后通過指針變量使i,j,k 3個(gè)變量的值順序交換,即原來i的值賦給j,把j的原值賦給k,把k的原值賦給i。i,j,k的原值由鍵盤輸入,要求輸出i,j,k的原值和新值。解:#include int main() int i,j,k,tmp; int *p1,*p2,*p3; scanf(%d%d%d,&i,&j,&k); printf(before change:%dt
5、%dt%dn,i,j,k); p1 = &i; p2 = &j; p3 = &k; tmp=*p3; *p3=*p2; *p2=*p1; *p1=tmp; printf(after change:%dt%dt%dn,i,j,k); return 0; 精品. 程序運(yùn)行情況如下:1 2 3before change:123after change:3 1 26輸入一個(gè)10個(gè)元素的一維數(shù)組,在主函數(shù)中用scanf函數(shù)輸入。用指針方式編程找出最大和最小數(shù),并指出最大數(shù)和最小數(shù)的位置。解:int y_max(int *p,int n) int max=*p,i,k=0; for(i=0;in;i+)
6、/*這里判斷到in,而不是i=n*/if(max*(p+i) k=i;max=*(p+i); /*記得要在這里更新一下max的記錄*/ return k; #define n 10 #include int main() int an;int i,m,max; for(i=0;in;i+) scanf(%d,&ai); 精品.for(i=0;in;i+) printf(%d ,ai); m=y_max(a,n); printf(nmax=a%d=%d,m,am); return 0; 程序運(yùn)行情況如下:1 5 6 78 9 6 4 7 2 31 5 6 78 9 6 4 7 2 3max=a3
7、=787輸入一段文字,統(tǒng)計(jì)其中所包含的數(shù)字字符和字母字符個(gè)數(shù)。解:#include#include#include#define n 80int cnum=0,dnum=0; /*全局變量用于在兩個(gè)函數(shù)之間傳遞數(shù)據(jù)*/int main()char chn;void count(char c);int i,n;gets(ch);n=strlen(ch);for(i=0;i=0&c=a&c=a&c=z) cnum+;return 0; 程序運(yùn)行情況如下:hello123455,58請(qǐng)寫出下列程序段的輸出結(jié)果。(1)#include int main()int a=1,2,3,4,5,6,*p;p=
8、a;*(p+3)+=2;printf(%d,%d,*p,*(p+3);return 0; 解: 1,6(2)#include int main() int a=1,2,3,4,5,6; int *p; p=a; printf(%5d%5d%5d%5dn,*p,*(+p),*+p,*(p-);精品. printf(%5d%5dn,*p,*(a+2);return 0; 解: 3 3 2 1 2 3(3)#include #includeint main() char *s1=abdeg; char *s2=abdeg; s1+=2;s2+=2; printf(%dn,strcmp(s1,s2);
9、 return 0; 解:-1 (4)#include #include fun(char *w,int n) char t,*s1,*s2; s1=w;s2=w+n-1; while(s1s2) t=*s1; *s1=*s2; *s2=t;精品. s1+; s2-; int main() char p=1234567; fun(p,strlen(p); puts(p); return 0; 解: 7654321(5)#include int main() char *a=pascal,c language,dbase,coble; char (*p); int j; p=a+3; for(j
10、=3;j=0;j-) printf(%sn,*(p-); return 0; 解: coble dbase c language pascal精品.9用一個(gè)函數(shù)實(shí)現(xiàn)兩個(gè)字符串的比較,即自己寫一個(gè)strcmp函數(shù): strcmp(s1,s2)如果s1=s2,則函數(shù)返回值為0;如果s1!=s2,返回它們兩者第一個(gè)不同字符的ascii碼差值(如“boy”與“bad”,第二個(gè)字符不同,“o”與“a”之差為79-65=14);如果s1s2,則輸出正值,如果s1s2,則輸出負(fù)值。兩個(gè)字符串s1,s2由main函數(shù)輸入,strcmp函數(shù)的返回值也在main函數(shù)中輸出。解:#includeint strcmp
11、(char *s1,char *s2)for(;*s1=*s2&*s1&*s2;s1+,s2+); /* 找不同的字符 */return (*s1-*s2);void main()char a10,b10;gets(a);gets(b);printf(%dn,strcmp(a,b);程序運(yùn)行結(jié)果如下:helloworld-1510設(shè)計(jì)一個(gè)程序,管理一個(gè)班的計(jì)算機(jī)成績(jī),要求采用一維數(shù)組來存儲(chǔ)學(xué)生的成績(jī)。解: #include int main(void)精品. float a10;int i=0;double sum = 0.0; float avg = 0.0; for(i=0;i10;i+)
12、 printf(請(qǐng)輸入第%d個(gè)同學(xué)的成績(jī):,i+1); scanf(%f,&ai); printf(n); sum+=ai; avg = sum/10.0; printf(%fn,avg); return 0; 程序運(yùn)行結(jié)果如下:請(qǐng)輸入第1個(gè)同學(xué)的成績(jī):85請(qǐng)輸入第2個(gè)同學(xué)的成績(jī):89請(qǐng)輸入第3個(gè)同學(xué)的成績(jī):90請(qǐng)輸入第4個(gè)同學(xué)的成績(jī):78請(qǐng)輸入第5個(gè)同學(xué)的成績(jī):69請(qǐng)輸入第6個(gè)同學(xué)的成績(jī):58請(qǐng)輸入第7個(gè)同學(xué)的成績(jī):78請(qǐng)輸入第8個(gè)同學(xué)的成績(jī):95請(qǐng)輸入第9個(gè)同學(xué)的成績(jī):100請(qǐng)輸入第10個(gè)同學(xué)的成績(jī):8983.10000011輸入10個(gè)整數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一
13、個(gè)數(shù)對(duì)換,用指針來實(shí)現(xiàn)。精品.解:#include void aa(int *array)int i;for(i=0;i10;i+)scanf(%d,&arrayi);void bb(int *array)int *max,*min,t;int *p;max=min=array;for(p=array;p=array+9;p+)if(*max*p) min=p;t=*max;*max=array9;array9=t;t=*min;*min=array0;array0=t;void cc(int *array)int *p;for(p=array;p=array+9;p+)printf(%d,*p);void main()精品.int number10;aa(number);bb(number);cc(number);程序運(yùn)行結(jié)果如下:0 -9 10 20 30 40 50 60 70 66 -9,0,10,20,30,40,50,60,66,7012分析下列程序的運(yùn)行結(jié)果。 #include int f1(int x) return x+1;int f2(int x) return x-1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深圳商場(chǎng)場(chǎng)地租賃合同范本
- 二手住宅交付合同
- 人音版八年級(jí)音樂下冊(cè)第二單元《A大調(diào)(鱒魚)鋼琴五重奏》教學(xué)設(shè)計(jì)
- Brand KPIs for ready-made-food Haldirams in India-外文版培訓(xùn)課件(2025.2)
- 采納公司執(zhí)行力-經(jīng)銷商成敗的關(guān)鍵因素
- 合同質(zhì)量保證協(xié)議范本
- 商業(yè)空間裝飾分包合同編號(hào)091234
- 人教版小學(xué)二年級(jí)上冊(cè)數(shù)學(xué) 第7單元 第1課時(shí) 認(rèn)識(shí)時(shí)間(1) 教案
- 2025版貨運(yùn)物流承包經(jīng)營合同終止協(xié)議范本
- 2025現(xiàn)代家居室內(nèi)裝修設(shè)計(jì)合同
- 2025廣西柳鋼集團(tuán)招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年河南測(cè)繪職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫含答案解析
- 2025-2030年中國抗哮喘市場(chǎng)現(xiàn)狀調(diào)研及投資發(fā)展?jié)摿Ψ治鰣?bào)告
- 2024年河南藝術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫含答案解析
- 貝殼好贊服務(wù)協(xié)議書
- 大數(shù)據(jù)與人工智能營銷知到智慧樹章節(jié)測(cè)試課后答案2024年秋南昌大學(xué)
- 2024中國互聯(lián)網(wǎng)養(yǎng)車市場(chǎng)發(fā)展報(bào)告
- UL2267標(biāo)準(zhǔn)中文版-2020工業(yè)電動(dòng)卡車安裝的燃料電池動(dòng)力系統(tǒng)UL中文版標(biāo)準(zhǔn)
- 【MOOC】化工安全(下)-華東理工大學(xué) 中國大學(xué)慕課MOOC答案
- 【MOOC】大學(xué)生創(chuàng)新與創(chuàng)業(yè)實(shí)踐-西南交通大學(xué) 中國大學(xué)慕課MOOC答案
- 【MOOC】電動(dòng)力學(xué)-同濟(jì)大學(xué) 中國大學(xué)慕課MOOC答案
評(píng)論
0/150
提交評(píng)論