![C語(yǔ)言程序設(shè)計(jì)習(xí)題6_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/17/16e1e73b-d689-4301-ad5c-4efe50a76547/16e1e73b-d689-4301-ad5c-4efe50a765471.gif)
![C語(yǔ)言程序設(shè)計(jì)習(xí)題6_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/17/16e1e73b-d689-4301-ad5c-4efe50a76547/16e1e73b-d689-4301-ad5c-4efe50a765472.gif)
![C語(yǔ)言程序設(shè)計(jì)習(xí)題6_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/17/16e1e73b-d689-4301-ad5c-4efe50a76547/16e1e73b-d689-4301-ad5c-4efe50a765473.gif)
![C語(yǔ)言程序設(shè)計(jì)習(xí)題6_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/17/16e1e73b-d689-4301-ad5c-4efe50a76547/16e1e73b-d689-4301-ad5c-4efe50a765474.gif)
![C語(yǔ)言程序設(shè)計(jì)習(xí)題6_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/17/16e1e73b-d689-4301-ad5c-4efe50a76547/16e1e73b-d689-4301-ad5c-4efe50a765475.gif)
版權(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ù)語(yǔ)的含義:地址 指針 指針變量 直接訪問 間接訪問解:(1)地址:內(nèi)存單元的編號(hào)叫做地址。(2)指針:內(nèi)存單元的編號(hào)叫做地址,通常也叫做指針。(3)指針變量:在語(yǔ)言中,允許用一個(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)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生潔具市場(chǎng)細(xì)分領(lǐng)域開發(fā)策略與零售商市場(chǎng)布局規(guī)劃考核試卷
- 醫(yī)療設(shè)備租賃國(guó)際市場(chǎng)開發(fā)考核試卷
- 2025-2030年國(guó)際美食節(jié)堅(jiān)果展臺(tái)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年復(fù)古風(fēng)格男士牛仔褲系列行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年文化用品藝術(shù)展覽行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年文化用品跨界合展行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年戶外攀巖塔行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025年度農(nóng)家樂資產(chǎn)轉(zhuǎn)租合同范本(含租金支付條款)
- 2025-2030年可變換造型首飾行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年戶外溯溪涼鞋設(shè)計(jì)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 成都四川成都簡(jiǎn)陽(yáng)市簡(jiǎn)城街道便民服務(wù)和智慧蓉城運(yùn)行中心招聘綜治巡防隊(duì)員10人筆試歷年參考題庫(kù)附帶答案詳解
- 2025-2030全球廢棄食用油 (UCO) 轉(zhuǎn)化為可持續(xù)航空燃料 (SAF) 的催化劑行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 山東省臨沂市蘭山區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末考試生物試卷(含答案)
- 湖北省武漢市2024-2025學(xué)年度高三元月調(diào)考英語(yǔ)試題(含答案無聽力音頻有聽力原文)
- 商務(wù)星球版地理八年級(jí)下冊(cè)全冊(cè)教案
- 天津市河西區(qū)2024-2025學(xué)年四年級(jí)(上)期末語(yǔ)文試卷(含答案)
- 2025年空白離婚協(xié)議書
- 校長(zhǎng)在行政會(huì)上總結(jié)講話結(jié)合新課標(biāo)精神給學(xué)校管理提出3點(diǎn)建議
- 北京市北京四中2025屆高三第四次模擬考試英語(yǔ)試卷含解析
- 2024年快遞行業(yè)無人機(jī)物流運(yùn)輸合同范本及法規(guī)遵循3篇
- 2025年護(hù)理質(zhì)量與安全管理工作計(jì)劃
評(píng)論
0/150
提交評(píng)論