




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ù)語(yǔ)的含義:地址 指針 指針變量直接訪問(wèn) 間接訪問(wèn)解: ( 1)地址:內(nèi)存單元的編號(hào)叫做地址。( 2)指針:內(nèi)存單元的編號(hào)叫做地址,通常也叫做指針。(3)指針變量:在c語(yǔ)言中,允許用一個(gè)變量來(lái)存放指針,這種變量稱為指針變量。( 4)直接訪問(wèn):通過(guò)變量名稱引用變量?jī)?nèi)存單元的方式稱為直接訪問(wèn)。( 5)間接訪問(wèn):利用了指針變量,通過(guò)變量的指針(即變量的內(nèi)存地址)來(lái)引用內(nèi)存單元的值,這種方式稱為間接訪問(wèn)。2指針能參與哪幾種運(yùn)算?舉例說(shuō)明。解: ( 1)指針變量和整數(shù)可以進(jìn)行加/ 減運(yùn)算:p+ 、 p-、 p+i 、 p-i、 p+=i 、 p-=i( 2)指針變量可進(jìn)行賦
2、值運(yùn)算:p=&a; 變量a的地址賦給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)算:pq3判斷下面兩個(gè)程序的正誤,若錯(cuò)誤指出原因。( 1) #includeint main()char *p;編輯版 wordp=data;printf(%sn,*p);return 0;解: 該程序錯(cuò)。應(yīng)為:print
3、f(%sn,p);( 2) #includeint main()int *p;*p=25;printf(%d,*p);return 0;解: 該程序錯(cuò)。指針變量沒(méi)有賦初值。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(*
4、p*bb) p=bb;if(*p*cc) p=cc;printf(%dn,*p); return 0;程序運(yùn)行情況如下:input 3 number:4 5 9/a=4 b=5 c=995.有3個(gè)整型變量i, j, ko請(qǐng)編寫一個(gè)程序,設(shè)置 3個(gè)指針變量pl, p2, p3,分別指 向i, j, k,然后通過(guò)指針變量使 i, j, k 3個(gè)變量的值順序交換,即原來(lái) i的值賦給j,把j 的原值賦給k,把k的原值賦給io i, j, k的原值由鍵盤輸入,要求輸出 i, j, k的原值和新 值。解:#includeint main()int i,j,k,tmp;int *p1,*p2,*p3;sca
5、nf(%d%d%d,&i,&j,&k);printf(before change:%dt%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 3/before change:1 23after change:3 126輸入一個(gè)10 個(gè)元素的一維數(shù)組,在主函數(shù)中用 scanf 函數(shù)輸入。用指針?lè)绞骄幊陶页鲎畲蠛妥钚?shù),并指出最大數(shù)和最小數(shù)的位置。解:int y_max(int *p,int n)
6、int max=*p,i,k=0;for(i=0;in;i+)/* 這里判斷到 in ,而不是 i=n*/if(max*(p+i)k=i;max=*(p+i);/* 記得要在這里更新一下 max 的記錄 */return k;#define n 10#includeint 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 3/1 5
7、6 78 9 6 4 7 2 3max=a3=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)行情況如下:hello12345/5,58請(qǐng)寫出下列程序段的輸出結(jié)果。1 ) #include int main()
8、int a=1,2,3,4,5,6,*p;p=a;*(p+3)+=2;printf(%d,%d,*p,*(p+3);return 0;解:1,62 ) #includeint 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 3214 35 #include#includeint main()char *s1=abdeg;char *s2=abdeg;s1+=2;s2+=2;printf(%dn,strcmp(s1,s2
9、);return 0;解:-14 #include#includefun(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;解:76543215 ) #includeint main()char *a=pascal,c language,dbase,coble;char (*p);int j;p=a+3;for(j=3;j=0;j-)printf(%sn,*(p-);
10、return 0;解:cobledbasec languagepascal9用一個(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(char *s1,char *s2)for(
11、;*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é)果如下:hello/world / -1510 設(shè)計(jì)一個(gè)程序,管理一個(gè)班的計(jì)算機(jī)成績(jī),要求采用一維數(shù)組來(lái)存儲(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+)printf( 請(qǐng)輸入第 %d 個(gè)同學(xué)的成績(jī): ,i+
12、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ī):89/83.10000011輸入 10 個(gè)整數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換,用指針來(lái)實(shí)現(xiàn)。解:#incl
13、ude 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;int su
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 短期產(chǎn)品試用推廣員合同
- 學(xué)校藝術(shù)活動(dòng)承辦協(xié)議
- 承包合同集體山地承包合同6篇
- 公司管理人員培訓(xùn)方案
- 訂購(gòu)掛壁式空調(diào)合同6篇
- 淘寶賣家服務(wù)協(xié)議書
- 談?wù)勀銓?duì)我國(guó)集體協(xié)商和集體合同制度的看法模板
- 建設(shè)項(xiàng)目精細(xì)化造價(jià)咨詢協(xié)議
- 創(chuàng)業(yè)板股權(quán)質(zhì)押合同模板
- 試用期用工合同范本
- 春季肝膽排毒課件
- 造口患者自我護(hù)理
- 第12課 遼宋夏金元時(shí)期經(jīng)濟(jì)的繁榮 教案2024-2025學(xué)年七年級(jí)歷史下冊(cè)新課標(biāo)
- 《安全生產(chǎn)治本攻堅(jiān)三年行動(dòng)方案》培訓(xùn)
- 警車安全駕駛課件大全
- 《形象塑造與職場(chǎng)妝容》課件
- 2025年高考作文備考之7個(gè)頂級(jí)人物素材
- 2024年09月2024年中國(guó)工商銀行校園招聘筆試歷年參考題庫(kù)附帶答案詳解
- 低血糖的識(shí)別及處理課件
- 骨折病人的中醫(yī)飲食護(hù)理
- 內(nèi)蒙古科技館新館展陳創(chuàng)新方案
評(píng)論
0/150
提交評(píng)論