最新05--VC6.0上機(jī)指導(dǎo)----C語(yǔ)言實(shí)驗(yàn)講義資料.doc_第1頁(yè)
最新05--VC6.0上機(jī)指導(dǎo)----C語(yǔ)言實(shí)驗(yàn)講義資料.doc_第2頁(yè)
最新05--VC6.0上機(jī)指導(dǎo)----C語(yǔ)言實(shí)驗(yàn)講義資料.doc_第3頁(yè)
最新05--VC6.0上機(jī)指導(dǎo)----C語(yǔ)言實(shí)驗(yàn)講義資料.doc_第4頁(yè)
最新05--VC6.0上機(jī)指導(dǎo)----C語(yǔ)言實(shí)驗(yàn)講義資料.doc_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精品文檔實(shí)驗(yàn)一C 語(yǔ)言的運(yùn)行環(huán)境和運(yùn)行過(guò)程實(shí)驗(yàn)?zāi)康模?.掌握 c 程序設(shè)計(jì)編程環(huán)境 visual c+,掌握運(yùn)行一個(gè) c 程序設(shè)計(jì)的基本步驟,包括編輯、編譯、連接和運(yùn)行。2.掌握 c 語(yǔ)言程序設(shè)計(jì)的基本框架,能夠編寫簡(jiǎn)單的c 程序。3. 了解程序調(diào)試的思想,能找出并改正 c 程序中的語(yǔ)法錯(cuò)誤。實(shí)驗(yàn)內(nèi)容:1. 在“我的電腦 ”上新建一個(gè)文件夾,用于存放c 程序,文件夾名字可以是學(xué)號(hào)姓名。2.調(diào)試示例,在屏幕上顯示一個(gè)短句“ Hello World!?!痹闯绦?include void main()printf(“ Hello World!n”);運(yùn)行結(jié)果:Hello World!基本步驟: (要

2、求熟練掌握 )1) 啟動(dòng) VC+“開始 ” “程序 ” “ Microsoft Visual Studio 6.0“ Microsoft” Visual C+6進(jìn).0入 VC+”編程環(huán)境。2) 新建文件( *.cpp)“文件 ” “新建 ”,單擊 “文件 ”選項(xiàng)卡, 選擇 “ C+Source Files,修改”文件保存 “目錄 ”和 “文件 ”(文件名),單擊 “確定 ”。3) 編輯和保存(注意: 源程序一定要在英文狀態(tài)下輸入,即字符標(biāo)點(diǎn)都要在半角狀態(tài)下,同時(shí)注意大小寫,一般都用小寫)在編輯窗口輸入源程序,然后執(zhí)行“文件 ” “保存 ”或 “文件 ”“另存為 ”4) 編譯 (*.obj)用來(lái)

3、檢查語(yǔ)法錯(cuò)誤“編譯 ” “編譯 ”或 Ctrl+F7,在產(chǎn)生的工作區(qū)隊(duì)話框中,選擇“是 ”。5) 連接 (*.exe)“編譯 ” “構(gòu)件 ”或 F76) 運(yùn)行“編譯 ” “執(zhí)行 ”或 Ctrl+F57) 關(guān)閉程序工作區(qū)“文件 ” “關(guān)閉工作區(qū) ”8) 打開文件“文件 ” “打開 ”9) 查看 C 源文件、目標(biāo)文件和可執(zhí)行文件的存放位置。源文件在保存目錄下,目標(biāo)文件和可執(zhí)行文件在“保存目錄 Debug”中3.編程,在屏幕上顯示一個(gè)短句 “ this is my first c program。.”4.調(diào)試示例,在屏幕上顯示一個(gè)短句“ welcome to you!?!痹闯绦颍ㄓ绣e(cuò)誤的程序)精品文

4、檔精品文檔#include void mian()n”)運(yùn)行結(jié)果(改正后的運(yùn)行結(jié)果)Welcome to You!操作步驟:)按照實(shí)驗(yàn)中介紹的步驟)輸入上述源程序并保存。)編譯, “編譯 ” “編譯 ”( Ctrl+F7),信息窗口中顯示編譯出錯(cuò)信息,如下圖所示。)找出錯(cuò)誤,在信息窗口中依次雙擊出錯(cuò)信息,編輯窗口就會(huì)出現(xiàn)一個(gè)箭頭指向程序出錯(cuò)的位置,一般在箭頭的當(dāng)前行或上一行,可以找到出錯(cuò)語(yǔ)句。第行,出錯(cuò)信息: Welcome是一個(gè)未定義的變量,但 Welcome并不是變量,出錯(cuò)的原因是 Welcome前少了一個(gè)雙引號(hào)。)改正錯(cuò)誤,重新編譯,得下如下圖所示出錯(cuò)信息。精品文檔精品文檔出錯(cuò)信息: “

5、 ”前少了分號(hào)。)再次改正錯(cuò)誤,在“ ”前即 printf()后加上 “(;”英文狀態(tài)),生新編譯,顯示正確)連接, “編譯 ” “構(gòu)件 ”( F7),出現(xiàn)如下出錯(cuò)信息。出錯(cuò)信息:缺少主函數(shù)。)改正錯(cuò)誤,即把“mian改”為 “main后”,重新連接,信息窗口顯示連接正確。)運(yùn)行, “編譯 ” “執(zhí)行 ”( Ctrl+F5),觀察結(jié)果是否與要求一致。5. 改錯(cuò),改正下列程序中的錯(cuò)誤,在屏幕上顯示以下行信息。*Welcome*精品文檔精品文檔源程序(有錯(cuò)誤的程序)#include void main()Printf(“ *n” );Printf(“Welcome”)Printf(“ *n” );

6、實(shí)驗(yàn)報(bào)告要求將以上各題的源程序、 運(yùn)行結(jié)果, 以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法, 以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫在實(shí)驗(yàn)報(bào)告上。精品文檔精品文檔實(shí)驗(yàn)二簡(jiǎn)單的 C 程序設(shè)計(jì)和基本數(shù)據(jù)處理實(shí)驗(yàn)?zāi)康模?.掌握 C 語(yǔ)言的運(yùn)算符和表達(dá)式的正確使用以及 C 語(yǔ)言的幾種基本數(shù)據(jù)類型和基本輸入輸出函數(shù)的使用方法。2. 通過(guò)編程進(jìn)一步理解和掌握運(yùn)算符的確切含義和功能。3. 理解和掌握運(yùn)算符與運(yùn)算對(duì)象的關(guān)系,優(yōu)先級(jí)和結(jié)合方向。4.通過(guò)編程,掌握C 語(yǔ)言的幾種基本數(shù)據(jù)類型,int、 char、 flloat、 double,以及由這些基本數(shù)據(jù)類型構(gòu)成的常量和變量的使用方法。5. 掌握基本輸入 /輸出函數(shù)的使用方法

7、,包括printf()、 scanf()、 getchar()、 putchar()。6. 掌握簡(jiǎn)單的 C 程序的查錯(cuò)方法。實(shí)驗(yàn)內(nèi)容:一、輸入程序,觀察輸出結(jié)果,并對(duì)輸出結(jié)果作出合理的解釋。 /* e1.cpp */#includevoid main()float x; double y; x=213.82631;y=213.82631;printf(%-4.2f,-6.2en,x,y);輸出結(jié)果:解釋:2 /* e2.cpp */#includevoid main()char ch;int k;ch= a ;k=10;printf(“ %d,%x,%o,%c” ,ch,ch,ch,ch,k)

8、;printf(“ k=%dn” ,k);輸出結(jié)果:解釋:3 /*e3.cpp */#includevoid main()float a1,a2; double b1,b2; a1=3141.59;a2=0.; b1=3141.59;b2=0.;精品文檔精品文檔printf(“ %f,%lfn” ,a1+a2,b1+b2);輸出結(jié)果:解釋:4 /* e4.cpp */#includevoid main()float x=5/2,y=5.0/2;printf(x=%f,y=%fn,x,y);輸出結(jié)果:解釋:二、編寫程序。1 編程(c1.cpp)定義 3 個(gè)整型變量 x,y,z和一個(gè)實(shí)型變量 av

9、erge,計(jì)算并輸出 3 個(gè)整數(shù)的平均值 averge,其中 x=y=1,z=0。觀察運(yùn)行結(jié)果。 再將 x,y,z和 averge改為實(shí)型變量,再觀察運(yùn)行結(jié)果。理解整除和不同類型數(shù)據(jù)進(jìn)行混合運(yùn)算的轉(zhuǎn)化規(guī)律,對(duì)結(jié)果進(jìn)行合理的解釋。源程序:輸出結(jié)果:解釋:2 改寫程序( c2.cpp),針對(duì)上一題要求,采用從鍵盤用scanf()函數(shù)輸入x,y,z的值。要求輸出結(jié)果的形式為averge= 。源程序:精品文檔精品文檔輸出結(jié)果:解釋:3 輸入 3 個(gè)整數(shù)給a,b,c,然后交換它們中的數(shù),把a(bǔ) 中原來(lái)的值給b,把 b 原來(lái)的值給 c,把 c 中原來(lái)的值給 a。源程序:輸出結(jié)果:三、調(diào)示示例。1 求華氏溫度

10、 100。 F 對(duì)應(yīng)的攝氏溫度。計(jì)算公式: C=( 5/9)( F-32),其中 C 表示攝氏溫度, F 表示華氏溫度。源程序(有錯(cuò)誤)#includevoid main() int celsius;fahr; fahr=100; celsius=5*(fahr-32)/9;printf(fahr=d,celsius=%dn,fahr,celsius);1)輸入源程序。2)實(shí)驗(yàn)一中用菜單完成編譯、連接和運(yùn)行,現(xiàn)在介紹工具欄的使用方法。在工具欄或菜單欄上單擊鼠標(biāo)右鍵,出現(xiàn)如圖所示的整個(gè)工具箱,在“編譯 ”或 “編譯微型條 ”項(xiàng)前打上 “”。圖中第 1 個(gè)按鈕為 “Compile(”編譯, Ctr

11、l+F7),第 2 個(gè)按鈕為 “Build構(gòu)”(件, F7),第 4 個(gè)按鈕為 “Build Execute執(zhí)行”(,Ctrl+F5)。3)單擊 “編譯 ”工具條中的第1 個(gè)按鈕,出現(xiàn)第一個(gè)錯(cuò)誤信息:Cannot open include file: stdoi.h: No such file or directory(不能打開stdoi.h)改正(應(yīng)該是stdio.h)后,重新編譯,新產(chǎn)生的第一個(gè)錯(cuò)誤信息是:fahr : undeclared identifier ( “ fahr變量”沒(méi)有定義)改正:將 fahr 前的分號(hào)改為逗號(hào),重新編譯,編譯正確。4)單擊 “編譯 ”工具條中的第2 個(gè)

12、按鈕,連接正確。5)單擊 “編譯 ”工具條中的第4 個(gè)按鈕,運(yùn)行結(jié)果為:fahr=d,Celsius=100精品文檔精品文檔不符合題目的要求,仔細(xì)檢查源程序,發(fā)現(xiàn)函數(shù)printf()中的 d 應(yīng)為 %d,改正的,重新連接和運(yùn)行,運(yùn)行結(jié)果與題目要求的結(jié)果一致,程序調(diào)試結(jié)束。2 改錯(cuò),計(jì)算某個(gè)數(shù)x 的平方 y,并以算術(shù)公式的形式輸出x 和 y 的值 .請(qǐng)不要?jiǎng)h除源程序中的任何注釋。輸入輸出示例(假設(shè)x 的值為):9=3*33*3=9#include void main()int y;y=x*x;printf(“ %d=%d*%d” ,x);/*輸出printf(“d*%d=%d”,y);改正后的源

13、程序:實(shí)驗(yàn)報(bào)告要求將以上各題的源程序、 運(yùn)行結(jié)果, 以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法, 以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫在實(shí)驗(yàn)報(bào)告上。精品文檔精品文檔實(shí)驗(yàn)三選擇結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康?、了解 C 語(yǔ)句表示邏輯量的方法(以0 代表 “假 ”以 1 代表 “真 ”);2、學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式;3、熟練掌握if 語(yǔ)句和 switch語(yǔ)句;4、熟練掌握switch語(yǔ)句中 break語(yǔ)句的作用。實(shí)驗(yàn)內(nèi)容1調(diào)試示例,輸入?yún)?shù)a,b,c,求一元二次方程ax2+bx+c=0的根。源程序(有錯(cuò)誤的程序)#include#includevoid main()double a,b,c,d;printf(

14、輸入“一元二次方程n” );scanf( “ a=%lf,b=%lf,c=%lf” ,&a,&b,&c);d=b*b-4*a*c;if(a=0)if(b=0) if(c=0)printf(“參0=0數(shù)對(duì)方程無(wú)意義!” );elseprintf(“方c!=0程不成立 ” );elseprintf(“ x=%0n”,-.c/b);2felseif(d=0) printf( “ x1=%0n”-.,(2fb+sqrt(d)/(2*a);printf(“ x1=%0n”-.2fb,(-sqrt(d)/(2*a);else printf( “ x1=%0.2f+%0n”,-b/(2*a),sqrt(.2

15、fi-d)/(2*a); printf( “ x1=%0.2f n”,-b/(2*a),sqrt(-d)/(2*a);運(yùn)行結(jié)果(改正后程序的運(yùn)行結(jié)果)輸入一元二次方程a= ,b= ,c=a=2.1, b=8.9, c=3.5x1=-7.22x2=-10.58運(yùn)行結(jié)果(有錯(cuò)誤的程序的運(yùn)行結(jié)果)輸入一元二次方程a= ,b= ,c=a=2.1, b=8.9, c=3.5x1=-7.22x2=-10.58對(duì)以上程序進(jìn)行編譯、連接、調(diào)試和運(yùn)行如下:1)執(zhí)行 “編譯 ” “構(gòu)件 ”,對(duì)以上程序進(jìn)行編譯、連接,沒(méi)有出現(xiàn)錯(cuò)誤信息。2)調(diào)試開始,設(shè)置三個(gè)斷點(diǎn)(斷點(diǎn)的作用,程序執(zhí)行到斷點(diǎn)處暫停,使用戶可以觀察當(dāng)前

16、的變量或其他表達(dá)式的值,然后繼續(xù)運(yùn)行),先把光標(biāo)定位到要設(shè)置斷點(diǎn)的位置,然后精品文檔精品文檔單擊編譯工具條上的Inert/Remove Breakpoint或 F9,斷點(diǎn)就設(shè)置好了,如果要取消斷點(diǎn),只要把光標(biāo)放到要取消的斷點(diǎn)處,單擊,這個(gè)斷點(diǎn)就取消了。3)單擊編譯工具條( go F5),程序運(yùn)行,等待輸入一元二次方程a、 b、c 的值,輸入 a=2.1,b=8.9,c=3.5.4) 程序運(yùn)行到第一個(gè)斷點(diǎn),在 Watch窗口輸入變量名 a,b,c 觀察執(zhí)行到第一個(gè)斷點(diǎn)時(shí)變量 a,b,c的值是否和( 2)中輸入一致。注意,變量可以在 Watch1、 Watch2、Wathc3、 Watch4任何一

17、個(gè)窗口輸入,輸入可以是變量,也可以是表達(dá)式。精品文檔精品文檔5)假設(shè)我們?cè)谳斎氲臅r(shí)候,輸錯(cuò)了變量a 的值,我們可以在Watch窗口重新賦值,改變?cè)瓉?lái)的值,如我們?cè)赪atch窗口中輸入表達(dá)式a=0,則 a 的值就改變?yōu)? 了。單步執(zhí)行, 單擊,箭頭指向下一行,說(shuō)明程序執(zhí)行到這一行,再觀察變量a,b,c的值,發(fā)現(xiàn)變量b 的值已經(jīng)改變,原來(lái)輸入的是8.9,現(xiàn)在已改變?yōu)?,我們?cè)?2)中輸入變量b 的值是 8.9,說(shuō)明在程序的執(zhí)行過(guò)程中肯定有一個(gè)地方改變了b 的值,通過(guò)仔細(xì)觀察、分析,發(fā)現(xiàn)if 語(yǔ)句中誤把相等 “=”寫成了賦值 “ ,=”所以 b=0 了,單擊 ( Stop Debugging(Shi

18、ft+F5)停止調(diào)試,把源程序中的 “=改”為 ”=后”,重新編譯、連接,沒(méi)有出現(xiàn)錯(cuò)誤信息。6)單擊,重新開始調(diào)試,執(zhí)行3)和 4),此時(shí),觀察b 的值沒(méi)有改變,單擊,結(jié)束本次調(diào)試。7)單擊,重新開始調(diào)試,觀察結(jié)果的正確性。2編程,輸入任意三個(gè)數(shù)n1,n2,n3,求其中最大的一個(gè)數(shù)。輸入輸出示例:Input n1,n2,n3: 210.58max=10.50提示:模仿1,運(yùn)行時(shí)調(diào)試程序,包括設(shè)置斷點(diǎn)、在Watch窗口設(shè)置變量的值等。思考:1)如何求5 個(gè)數(shù)中的最大的一個(gè)數(shù)2)如果要在3 個(gè)字符中找出最大的一個(gè),如何修改程序3編程,輸入x,計(jì)算并輸出下列分段函數(shù)f(x)的值(保留2 位小數(shù))。x

19、x1y=2x-11=x=10輸入輸出示例:Input x: -2.5f(-2.)=-2.5提示:該程序應(yīng)該運(yùn)行3 次,每次測(cè)試一個(gè)分支,即分別輸入每個(gè)分段中的x 值。思考:假設(shè)x 為整數(shù),如何用switch計(jì)算上述分段函數(shù)。4編程,把百分制成績(jī)轉(zhuǎn)換成5 級(jí)記分制,要求用switch語(yǔ)句。90 分以上(包括90): A80 至 90 分(包括 80): B70 至 80 分(包括 70): C60 至 70 分(包括 60): D60 分以下: E輸入輸出示例:Input Score: 8686 的等級(jí)為B提示:1)該程序應(yīng)該運(yùn)行6 次,每次測(cè)試一種情況,即分別輸入不同等級(jí)的成績(jī)2)在 swit

20、ch中使用 break語(yǔ)句思考:如何用if 語(yǔ)句實(shí)現(xiàn)轉(zhuǎn)換?5編程,輸入2005年的任一個(gè)月,輸出這個(gè)月的天數(shù),要求使用switch語(yǔ)句。精品文檔精品文檔輸入輸出示例:Input month of 2005: 102005 年 10 月有 31 天提示:1)該程序應(yīng)該運(yùn)行13 次,分別輸入1 12 月,以及除此之外的數(shù)2)運(yùn)行時(shí)調(diào)試跟蹤月份的變化3)編程時(shí)注意不同月份可以有相同的天數(shù)思考:輸入年和月,如何求該月的天數(shù)?6改錯(cuò),對(duì)2 個(gè)整數(shù)進(jìn)行乘、除和求余運(yùn)算。輸入輸出示例:輸入 x 運(yùn)算符y : 21 % 821 Mod 8 = 5源程序(有錯(cuò)誤的程序)#includevoid main() c

21、har sign; int x,y;prnitf( 輸入“ x 運(yùn)算符 y: ” ); scanf( “ %d%c%d” ,&x,&sign,&y);if(sign= * )printf(“ %d * %dn=”%d,x,y,x*y);else ifprintf(“ %d * %dn=”%d,x,y,x*y);else ifprintf(“ %d * %dn=”%d,x,y,x*y);elseprintf(運(yùn)算“符輸入錯(cuò)誤” );提示:在程序調(diào)試中,在變量窗口和Watch窗口中觀察變量值的變化。實(shí)驗(yàn)報(bào)告要求將以上各題的源程序、 運(yùn)行結(jié)果, 以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法, 以及實(shí)驗(yàn)過(guò)程中

22、的心得體會(huì),寫在實(shí)驗(yàn)報(bào)告上。精品文檔精品文檔實(shí)驗(yàn)四循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(一)實(shí)驗(yàn)?zāi)康?熟練使用while、 do-while語(yǔ)句實(shí)現(xiàn)循環(huán)程序設(shè)計(jì)2理解循環(huán)條件和循環(huán)體,以及for、 while和 do-while語(yǔ)句的相同及不同之處3掌握嵌套循環(huán)程序設(shè)計(jì)4熟練掌握下拉菜單Debug的程序調(diào)試方法實(shí)驗(yàn)內(nèi)容1調(diào)試示例:輸入2 個(gè)正整數(shù)m,n,輸出它們的最小公倍數(shù)和最大公約數(shù)。源程序(有錯(cuò)誤的程序)#includevoid main() int m,n,j,k;printf(“ input”m);nwhile(scanf(“ %d%d” ,&m,&n),m0 & n“開始調(diào)試 ”- 去命令,運(yùn)行程序,輸

23、入 “-3 7”3)程序執(zhí)行到第一個(gè)斷點(diǎn),變量窗口顯示m=-3,n=7,說(shuō)明有錯(cuò)。因?yàn)槿绻斎胴?fù)數(shù),必須重新輸入,直到輸入2 個(gè)正數(shù)為止。注意:此時(shí)菜單欄中新出現(xiàn)一個(gè)“Debug菜”單,包括了調(diào)試工具欄中所有的調(diào)試工具,用精品文檔精品文檔戶可以選擇使用“Debug菜”單或調(diào)試工具欄來(lái)調(diào)試程序。作用相同。4)單擊圖標(biāo)或按組合鍵Shift+F5停止調(diào)試,通過(guò)仔細(xì)分析, 發(fā)現(xiàn)循環(huán)條件中m0 & n0應(yīng)該是 m0|n0。注意:此時(shí),不一定要停止調(diào)試,用戶可以在Watch窗口輸入m=3,再繼續(xù)調(diào)試。5)把&改為 |,重新編譯和連接,然后單擊圖標(biāo)或組合鍵Ctrl+Shift+F5重新開始調(diào)試,再單擊圖標(biāo)或

24、 F5 鍵,輸入 -37 后,箭頭如果不動(dòng),說(shuō)明需要重新輸入數(shù)據(jù)。6)重新輸入數(shù)據(jù)37,程序執(zhí)行到第一個(gè)斷點(diǎn),觀察變量窗口,m=3,n=7,沒(méi)有錯(cuò)誤。7)繼續(xù)單擊,程序運(yùn)行到第2 個(gè)斷點(diǎn),變量窗口顯示最小公倍數(shù)j 的值是 3,顯然錯(cuò)誤,說(shuō)明第1 個(gè)斷點(diǎn)到第2 個(gè)斷點(diǎn)之間有錯(cuò)誤。8)單擊圖標(biāo)或按組合鍵Shift+F5停止調(diào)試, 仔細(xì)分析程序, 發(fā)現(xiàn)循環(huán)條件j/n!=0錯(cuò)誤,因?yàn)橹挥斜籲 除盡的 j 才是最小公倍數(shù),循環(huán)條件應(yīng)該是j%n!=0。9)重新編譯、連接,并取消第一個(gè)斷點(diǎn),再單擊圖標(biāo)或組合鍵Ctrl+Shift+F5重新開始調(diào)試,再單擊圖標(biāo)或 F5 鍵,程序運(yùn)行到新的第一個(gè)斷點(diǎn)。10)變量

25、窗口顯示最小公倍數(shù)j 的值是 21,最小公倍數(shù)計(jì)算正確。11)單擊 圖標(biāo)或 F5 鍵,程序運(yùn)行到最后一個(gè)斷點(diǎn),變量窗口顯示最大公約數(shù) k 的值是 1,最大公約數(shù)計(jì)算正確。12)單擊圖標(biāo)或按組合鍵Shift+F5停止調(diào)試。編程, 輸入一批整數(shù),先求出其中的偶數(shù)和及奇數(shù)和,然后輸出偶數(shù)和與奇數(shù)和的差輸入輸出示例:輸入一批整數(shù):10112033Ctrl+ZSub=-14提示:從鍵盤輸入Ctrl+Z,表示一批數(shù)據(jù)輸入結(jié)束思考:如何從輸入的數(shù)中找出一個(gè)最小的數(shù)。編程,輸入個(gè)正實(shí)數(shù)eps,計(jì)算并輸出下式的值,十到最后一項(xiàng)的絕對(duì)值小于eps。s111111.59131721輸入輸出示例:Input eps:

26、 0.00001S=0.2 項(xiàng)的絕對(duì)值的差小于 eps,如何編程。思考:如果條件改為前后3 編程,輸入1 個(gè)實(shí)數(shù) x,計(jì)算并輸出下式的值,直到最后一項(xiàng)小于10-5。要求定義和調(diào)用函數(shù) fact(n)計(jì)算 n 的階乘,以及定義和調(diào)用函數(shù)mypow(x,n)計(jì)算 xn。s1x2x4x 6.2!4!6!輸入輸出示例:X=2S=3.提示:輸入不同的正整數(shù)和負(fù)整數(shù)驗(yàn)證結(jié)果思考:如何計(jì)算 s1x2x3x 42!3!. 的值。4!4 編程,輸入一個(gè)整數(shù),求它的各位數(shù)字之和及位數(shù)。例如123 的各位數(shù)字之和是 6,位數(shù)是 3.輸入輸出示例:輸入一個(gè)整數(shù):12345精品文檔精品文檔 12345有 5 位數(shù),各位

27、數(shù)字之和是15提示: n 表示一個(gè)整數(shù),則n%10取個(gè)位數(shù), n=n/10去掉個(gè)位數(shù),組成一個(gè)新數(shù)。思考:如果要把每位數(shù)字轉(zhuǎn)換為字符輸出,如何編程。5 改錯(cuò),輸入2 個(gè)整數(shù),分別將其逆向輸出。輸入輸出示例:123 321123 的逆向是 321 321 的逆向是 123 源程序(有錯(cuò)誤的程序)#includeint fun(int n) int m,y; y=0; if(n=0) return y;else returny;void main() int n,m;Scanf( “ %d%d” ,&n,&m);Printf(“的%d逆向是t ” ,n,fun(n);Printf(“的%d逆向是t

28、 ” ,m,fun(m);1 調(diào)試程序,在變量窗口中觀察變量值的變化,讀者還可以在Watch窗口輸提示:模仿入不同變量的值來(lái)驗(yàn)證程序的正確性。實(shí)驗(yàn)報(bào)告要求將以上各題的源程序、 運(yùn)行結(jié)果, 以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法, 以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫在實(shí)驗(yàn)報(bào)告上。精品文檔精品文檔實(shí)驗(yàn)五循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(二)實(shí)驗(yàn)?zāi)康?熟練掌握循環(huán)程序設(shè)計(jì),包括嵌套循環(huán)2熟練掌握使用break、 continue語(yǔ)句在循環(huán)程序設(shè)計(jì)中的實(shí)現(xiàn)3繼續(xù)掌握VC+的程序調(diào)試方法實(shí)驗(yàn)內(nèi)容1調(diào)試示例,輸入正整數(shù)的個(gè)數(shù)n,再輸入n 個(gè)正整數(shù),判斷它們是否為素?cái)?shù)。素?cái)?shù)就是只能被1 和自身整除的正整數(shù),1 不是素?cái)?shù), 2 是素

29、數(shù)。源程序(有錯(cuò)誤)#include#includevoid main()int i,j,k,m,n;printf( 輸入“正整數(shù)的個(gè)數(shù)n: ” );scanf( “ %d” ,&n);printf( 輸入“%d 個(gè)正整數(shù)n” );for(j=0;jk;j+) scanf( “ %d” ,&m); n=sqrt(m);for(i=2;in)printf(“是%d一個(gè)素?cái)?shù)n” ,m);elseprintf(“不%d是一個(gè)素?cái)?shù)n” ,m);運(yùn)行結(jié)果(改正后程序的運(yùn)行結(jié)果)輸入正整數(shù)的個(gè)數(shù):2輸入 2 個(gè)正整數(shù)1111 是一個(gè)素?cái)?shù)1515 不是一個(gè)素?cái)?shù)按照前面學(xué)過(guò)的程序調(diào)試的方法,設(shè)置斷點(diǎn)調(diào)試程序,

30、找出程序的邏輯錯(cuò)誤,得到正確的運(yùn)行結(jié)果。2編程,輸出101 115 之間不能被3 整除的數(shù),每行輸出5 個(gè)。要求使用continue語(yǔ)句。輸入輸出救命:101103104106107109110112113115思考:輸入一批整數(shù)(Ctrl+Z),輸出其中不能被3 整除的奇數(shù)。3編程,輸入一個(gè)正整數(shù),再輸入n 個(gè)整數(shù),輸出其中的最大值,輸入的每個(gè)數(shù)都在100 200 之間,如果某個(gè)輸入數(shù)不在100 200之間,則只處理在該數(shù)這前輸入的數(shù)據(jù)。輸入示例(共運(yùn)行2 次)第一次運(yùn)行:輸入 n:5輸入 5 個(gè)整數(shù): 100155187192168最大值是192第二次運(yùn)行:精品文檔精品文檔輸入 n:6輸入

31、 6 個(gè)整數(shù): 100155187292168 199最大值是187思考:如果輸入n 個(gè)浮點(diǎn)數(shù)(或字符) ,怎樣找出其中的最大和最小的數(shù)(或字符)4編程,猴子吃桃問(wèn)題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè)。 第 2 天早上將剩下的桃子吃掉一半,又多吃了一個(gè)。 以后每天早上都吃了前一天剩下的一半多一個(gè)。到第10 天早上想再吃的時(shí)候,見只剩下一個(gè)桃子了。求第1 天共摘了多少桃子?輸入輸出示例:第 1 天共摘了1534 個(gè)桃子!思考:把題目中的第10 天改為第 n 天,多吃了一個(gè)桃子,改為多吃了2 個(gè)桃子,如何編程。5在 100 1500 內(nèi)找出所有的親密數(shù)對(duì),并輸出每對(duì)親

32、密數(shù)對(duì)。輸入輸出示例:( 220,284)( 284,220)(1184,1210)(1210,1184)提示:若 a 和 b 為 1 對(duì)親密數(shù), 則 a 的因子和等于b,b 的因子和等于a,并且 a 不等于 b。6 編程,找出 200 以內(nèi)的所有完數(shù),并輸出其因子。 一個(gè)數(shù)如恰好等于它的因子之和,這個(gè)數(shù)稱為完數(shù),如6 1+2+3,其中 1、 2、3 為因子, 6 為因子和。輸入輸出示例:1 16 1+2+328 1+2+4+7+14實(shí)驗(yàn)報(bào)告要求將以上各題的源程序、 運(yùn)行結(jié)果, 以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法, 以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫在實(shí)驗(yàn)報(bào)告上。精品文檔精品文檔實(shí)驗(yàn)六數(shù)組實(shí)驗(yàn)?zāi)康?/p>

33、1熟練掌握數(shù)組的定義和初始化2熟練掌握使用數(shù)組元素的引用3繼續(xù)掌握排序算法實(shí)驗(yàn)內(nèi)容1調(diào)試,輸入一個(gè)正整數(shù)n(0n=0)和一組(n 個(gè))有序整數(shù),再輸入一個(gè)整數(shù)x,把x插入到這組數(shù)據(jù)中,使該組數(shù)據(jù)仍然有序。源程序(有錯(cuò)誤的程序)#includeVoid main()Int I,j,n,x,an;Printf(輸入“數(shù)據(jù)的個(gè)數(shù)Scanf( “ %d” ,&n);n: ” );Printf(輸入“%d 個(gè)整數(shù): ” ,n);For(i=0;in;i+)Scanf( “ %d” ,&ai);Printf(輸入“要插入的整數(shù):” );Scanf( “ %d” ,&x);For(i=0;iai) cont

34、inue; J=n-1; While(j=i) /*調(diào)試時(shí)設(shè)置斷點(diǎn) */Aj=aj+1;J+; /*調(diào)試時(shí)設(shè)置斷點(diǎn) */Ai=x;Break;If(i=n)an=x;For(i=0;in+1;i+)Printf(“ %d” ,ai);Putchar( n);運(yùn)行結(jié)果(改正后程序的運(yùn)行結(jié)果)輸入數(shù)據(jù)的個(gè)數(shù)n:5輸入 5個(gè)整數(shù): 12457輸入要插入的整數(shù):3123457提示:先找到插入點(diǎn),從插入點(diǎn)開始,所有的數(shù)據(jù)順序后移,然后插入數(shù)據(jù);如果插入點(diǎn)在最后,則直接插入(說(shuō)明插入的數(shù)排在該組數(shù)據(jù)中的最后)。用前面學(xué)過(guò)的調(diào)試方法,調(diào)試本程序,使得程序能夠得到正確的運(yùn)行結(jié)果。2編程,輸入1 個(gè)正整數(shù)n(

35、1n=10),再輸入n 個(gè)整數(shù),將最小值與第最大值與最后1 個(gè)數(shù)交換,然后輸出交換后的n 個(gè)數(shù)。輸入輸出示例:輸入整數(shù)個(gè)數(shù):5輸入 5個(gè)整數(shù): 5211091 個(gè)數(shù)交換,125910提示:注意下標(biāo)的變化。精品文檔精品文檔思考:如果輸入的是實(shí)數(shù), 要求將絕對(duì)值最小的數(shù)與第 1 個(gè)數(shù)交換, 絕對(duì)值最大的數(shù)與最后 1 個(gè)數(shù)交換,然后輸出交換后的 n 個(gè)數(shù),如何編程。3編程,輸入1 個(gè)正整數(shù)n( 1n=10),再輸入 n 個(gè)整數(shù),按絕對(duì)值從小到大排序后輸出。輸入輸出示例:輸入整數(shù)個(gè)數(shù):10輸入 10個(gè)整數(shù): -11285-3-1697610排序后: 2-35678910-11-164編程,平面上有n

36、個(gè)點(diǎn),求所有各點(diǎn)之間的最長(zhǎng)距離。要求定義和調(diào)用函數(shù)計(jì)算距離。輸入輸出示例:輸入點(diǎn)數(shù): 5輸入 5 個(gè)點(diǎn)的坐標(biāo):1 2.53.2 3.76.5 2.35.1 0.63.6 1.2最長(zhǎng)距離是 5.50思考:如何求最短距離及所有距離之和。5編程,輸入一個(gè)n 行 m 列( n=4,m=4)的數(shù)組,先以n 行 m 列的格式輸出該數(shù)組,然后找出該數(shù)組中值最小的元素,輸出該元素及其行下標(biāo)和列下標(biāo)。輸入輸出示例:輸入數(shù)組行和列數(shù)n、 m: 23輸入 2 行 3 列的數(shù)組元素:12-715-1891112.00-7.0015.00-18.009.0011.00a10=-18.00思考:1)如果不從鍵盤輸入數(shù)組元

37、素,而是用初始化的方式給數(shù)組賦值,運(yùn)行結(jié)果一樣嗎?2)如何修改程序,求絕對(duì)值最大的元素?3)將數(shù)組a 的每一行均除以該行的主對(duì)角元素,然后最大值,試編制程序。實(shí)驗(yàn)報(bào)告要求將以上各題的源程序、 運(yùn)行結(jié)果, 以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法, 以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫在實(shí)驗(yàn)報(bào)告上。精品文檔精品文檔實(shí)驗(yàn)七字符串實(shí)驗(yàn)?zāi)康?熟練掌握字條數(shù)組的定義、初始化和元素引用2熟練掌握字符串的存儲(chǔ)和操作3繼續(xù)使用字符輸入輸出函數(shù)getchar()和 putchar()實(shí)驗(yàn)內(nèi)容1調(diào)試,輸入一個(gè)以回車結(jié)束的字符串(少于 80 個(gè)字符),將它的內(nèi)容顛倒過(guò)來(lái)再輸出。如 ”ABCD顛”倒為 ”DCBA?!痹闯绦颍ㄓ绣e(cuò)

38、誤的程序)#includevoid main() int i,k,tmp;char str;printf(“ input a string:” );i=0;while(stri=getchar()!=n)i+;stri= 0;k=i-1;for(i=0;ik;i+) /*調(diào)試時(shí)設(shè)置斷點(diǎn) */tmp=stri;stri=strk;strk=tmp;k+; /*調(diào)試時(shí)設(shè)置斷點(diǎn) */ for(i=0;stri!=0 ;i+)putchar(stri);運(yùn)行結(jié)果(改正后程序的運(yùn)行結(jié)果)welcome to you!uoy ot emoclew2編程,輸入一個(gè)以回車結(jié)束的字符串(少于 80 個(gè)字符),先

39、輸出其中的小寫英文字母、空格和感嘆號(hào) !,然后統(tǒng)計(jì)出字符的個(gè)數(shù)。輸入輸出示例:thow hare young!how are you!n=123編程,輸入一個(gè)正整數(shù) n(n=5),再輸入 n 行字符(每個(gè)字符串少于 80 個(gè)字符),分別統(tǒng)計(jì)其中的大寫英文字母、小寫英字母、數(shù)字、空格和其他字符的個(gè)數(shù)。輸入輸出示例:輸入字符串行數(shù):2Beijing 2008 Games of the 29thOlympiad!8th International Symposium on Safety Science.大寫字母數(shù):7小定字母數(shù):56數(shù)字字符數(shù):7空格字符數(shù):10其他字符數(shù):2精品文檔精品文檔4編程,

40、輸入一行加減運(yùn)算的字符串(少于80 個(gè)字符),計(jì)算加減運(yùn)算的結(jié)果。輸入輸出示例:10+52-28y=34提示:1)如果輸入的字符串中包括數(shù)字和加減號(hào)以外的字符,提示輸入錯(cuò)誤。2)把加減運(yùn)算符兩側(cè)的字符串轉(zhuǎn)換為整數(shù),再運(yùn)算思考:如果輸入一個(gè)四則運(yùn)算的字符串,如何計(jì)算結(jié)果。5編程,輸入一個(gè)字符 ch 和一個(gè)以回車符結(jié)束的字符串(少于 80 個(gè)字符),統(tǒng)計(jì)字符串中與 ch 相同的字母?jìng)€(gè)數(shù)。輸入輸出示例:輸入一個(gè)字符:o輸入一個(gè)字符串:Studio Classroom在字符串中與o 相同的字母有3 個(gè)!7 輸入一個(gè)以回車結(jié)束的字符串(少于 80 個(gè)字符),把字符串中的所有數(shù)字字符( -09)轉(zhuǎn)換為整數(shù),去掉其他字符。例如,字符串”3A56BC轉(zhuǎn)”換為整數(shù)后是356。輸入輸出示例:Free82jeep5825實(shí)驗(yàn)報(bào)告要求將以上各題的源程序、 運(yùn)行結(jié)果, 以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法, 以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫在實(shí)驗(yàn)報(bào)告上。精品文檔精品文檔實(shí)驗(yàn)八結(jié)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論