




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗8指針一、實驗目的1、通過實驗進一步掌握指針的概念,會定義和使用指針變量;2、能正確使用數組的指針和指向數組的指針變量;3、能正確使用字符串的指針和指向字符串的指針變量;二、實驗內容和步驟1、改錯(1)指出下面程序錯誤的原因.#i ncludevstdio.h>void mai n()-<1 Xint x=10,y=5,* px,* py;px=&x;py=& y;prin tf(" px=%d, py=%d",* px,* py);CA "tryDO匚UMENT5 AND 5ETTING51py-10,jiy5Pi*ess any
2、 key to continueC;近:匹語言2D13實螢SWhijg注id(2)下面的程序試圖有如下運行結果:which style you want to :Cap ital ( c ) or uncap ital ( a ):c /COMP UTERWhich sytle you want to :Cap ital ( c ) or uncap ital ( a ) : uZ compu ter請調試下面的程序,使其有如上執行結果.#i ncludemain () char s*;char c;printf("which style you want to :ln")
3、; prin tf("ca pital ( c ) or uncap ital(a):"); c=getchar();if(c='c')strc py(s,"CO MP UTER"); else strc py(s,"co mpu ter"); put(s);#in clude<stdio.h>#in clude<stri ng.h>#in clude<stdlib.h>void mai n() char *s;char c;prin tf("which style you
4、 want to :n"); prin tf("ca pital(c) or uncap ital(a):"); c=getchar();-<1 xr uhlch stle you vant to - capltaKc > or uncapital<a> : a comvuter Press An_y key to cont Inues=calloc(20, sizeof(char); 分配存儲空間strc py(s,"co mpu ter");if(c='c')P uts(s);strcpy(s,&qu
5、ot;CO MP UTER");else(3)下面的程序能獲得上述運行結果嗎mai n()#i nclude<stdio.h>char * S="CO MP UTER"void mai n()char c;char *s="CO MPU TER"prin tf("which style you want to n");char c;prin tf("ca pi tal (c) or uncapi tal(u);");prin tf("which style you want to:n
6、");c=getchar();prin tf("ca pital(c) or uncap ital(u);");if(c='c')c=getchar();put(s);if(c='c')else p uts(s);s="co mpu ter"elseputs(s);s="co mpu ter"p uts(s);(4)設計一個C程序,用以測試下列各表達式的運算.(1) y=* px+ y=*+py y=(* py)+(4) y=-* pp x+sea nf("%d,%d",&
7、amp;a,&b); pt1= &a; pt2=&b; if(a<b) swa p(p t1. pt2); prin tf("%d,%dn",* pt1,* pt2); (5)想使指針變量pt1指向a和b中的大者,pt2指向小者,以下程序能否實現此目的 swap(int *p 1,i nt *p2)int *p;p=p 1; p仁 p2;p 2=p;mai n()int a,b;er 近珂匸語言北皿趴實鑿甘應buy1,2騫1Press £inj, hey to continue#in clude<stdio.h>scan
8、f("%d,%d",&a,&b);void swap(int *p1,int *p2)p t1= &a; pt2=&b; int p;if(a<b)p=* p1;* p仁* p2;* p2=p;swap(&p t1,&p t2);prin tf("%d,%dn",* pt1,* pt2);void mai n() int a,b,* pt1,* pt2;2、程序填空:(1 )一維數組和指針。分別采用下標法、數組名法和指針法訪問數組元素,求出 下標法:10個數中的最大值。數組名法:指針法:#in clu
9、de<stdio.h>#in clude<stdio.h>#in clude<stdio.h>void mai n() int a10,i,max;for(i=0;i<=9;i+)scanf ("%d", &ai);for( i=0;i<=9;i+ )if( max<ai) max=ai;printf ("MAX=%drTmax);void main()int a10,i,max;for(i=0;i<=9;i+ )sca nf("%d",a+i);for(i=0;i<=9
10、;i+ )if( max<*(a+i)max=*(a+i);void mai n() int a10;int *p, max;for(p=a;p< (a+10); p+ )scan f("%d", p);for(p=a;p< (a+10); p+ )if( max<*p ) max=*p;printf ("MAX=%dn",max); printf ("MAX=%dn",max);(2)字符串和字符指針。輸入一個字符串,將其中的大寫字母轉換成小寫字母,然后輸出。字符數組實現:#in clude<stdio
11、.h>void mai n()char s20;i nt i;gets(s);for(i=0;i<=19;i+ )字符指針變量實現:#in clude<stdio.h>void mai n()char s20;char *p;scan f("%s",s);p=s;if( si>='A'&&si<='Z')si=si+'a'-'A'while( *p!='0') if( *p >='A'&&*p <=&
12、#39;Z')i=0;while( si!='0')printf("%c",si);i+;*p=* p+('a'-'A');p+;puts(s);"D:HHICUNL.,fdfgftfdfsdPress an51 key to continue *< >提示:scanf ()輸入時遇到空格認為字符串結束,用gets()輸入時只有遇到回車才認為字符串結束。如鍵入anyboy并回車,則scanf (“ s”結果為:|any|0 1gets (s)的結果為anyboy03、編程序并上機調試運行程序(都要
13、求用指針處理)。(1)輸入三個整數,按由小到大的順序輸出,然后將程序改為:輸入三個字符串,按由小到大順序輸出。#in elude <stdio.h>void sort(i nt *a,i nt *b,i nt *c) int t=0;if (*a>*b) t=*a;*a=*b;*b=t;if (*a>*c) t=*a;*a=*c;*c=t;if (*b>*c) t=*b;*b=*c;*c=t;#in clude<stdio.h>#in clude<stri ng.h>void swa p(char *s120,char *s220) cha
14、r *t;t=*s1;*s1=*s2;*s2=t;void mai n() char str120,str220,str320;char *p 120,* p220,* p320;gets(str1);gets(str2);gets(str3);void mai n()strcpy( p1,str1); int a=0,b=0,c=0;sca nf("%d%d%d",&a,& b, &c);sort (&a, &b, &c);prin tf("%d %d %dn",a,b,c);strc py(p 2,st
15、r2);strcpy( p3,str3);if(strc mp(p 1, p2)>0)swa p(p1,p 2);if(strc mp(p 1, p3)>0)丁 D:HHKUnive7 9 44 7?Pi*ess Any to continue*swap(p 1, p3);if(strc mp(p 2, p3)>0)swap(p 2, p3);puts( p1); puts( p2); pu ts( p3);將一個3X3的矩陣轉置,用一函數實現之。 在主函數中用scanf函數輸入以下矩陣元素:111519nsd hep ad Adbev nsdPres3 any key *&
16、lt; >13將數組名作為函數實參,在執行函數的過程中實現矩陣轉置,函數調用結束后在主函數中輸出已轉置的矩陣。用一個函數實現兩個字符串的比較,即自己寫一個 strcmp函數,函數原型為:int strcmp (char * p1, char * p2);設p1指向字符串s1, p2指向字符串s2,要求當s1 = s2時,函數返回值為0, 如果sl豐s2,則返回它們二者第一個不相同字符的ASCII碼差值(如“ BOY ”與“ BAD ”的第二個字母不相同,“0”與“ A ”之差為7965=14);如果sl>s2,則輸出正值;如果 sl<s2則輸出負值。兩個字符串s1、s2由main函數輸入,strcmp函數的返回值也由 ma
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安徽省中考歷史試卷真題及答案詳解(精校打印版)
- 中小學心理健康教育與學生心理健康素養提升論文
- 中學語文“思辨性閱讀與表達”教學策略與傳統文化教育的融合論文
- 艾弗格公司管理制度
- 苗圃地冬季管理制度
- 茶油樹基地管理制度
- 融入數字孿生的中職智慧園林學習空間構建與應用
- 管理學谷歌案例分析
- 視覺感知汽車領域應用分析
- 自動控制原理課程設計 (一)
- XX公司事故隱患內部報告獎勵制度1
- 兒童重癥肺炎護理常規
- 裝飾裝修施工方案
- 骨科手術切口感染的預防與控制
- 影視制作基地裝修施工合同
- 河北省唐山市重點達標名校2025屆中考聯考生物試卷含解析
- 2025年廣西職業院校技能大賽高職組(中藥傳統技能賽項)參考試題庫及答案
- 電動車售后維修流程與服務質量提升
- 漂發染發知識培訓課件
- 2025年山東威海文旅發展集團有限公司招聘筆試參考題庫含答案解析
- 內分泌科室院感工作總結
評論
0/150
提交評論