欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C程序設(shè)計教案(第4章實驗3B次)

      時間:2019-05-12 23:54:47下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C程序設(shè)計教案(第4章實驗3B次)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C程序設(shè)計教案(第4章實驗3B次)》。

      第一篇:C程序設(shè)計教案(第4章實驗3B次)

      實驗二 選擇結(jié)構(gòu)程序設(shè)計實驗一、二、實驗學(xué)時:2課時 實驗?zāi)康模?/p>

      1)了解C語言表示邏輯量的方法(以0代表“假”,以非0代表“真”)。2)熟練掌握if語句和switch語句。3)結(jié)合程序掌握一些簡單的算法。

      三、實驗要求:

      1.在上實驗課之前,每一個同學(xué)必須將實驗的題目、程序編寫完畢,做好充分的準(zhǔn)備。2.所有實驗環(huán)節(jié)均由每位同學(xué)獨立完成,嚴(yán)禁抄襲他人實驗結(jié)果,若發(fā)現(xiàn)有結(jié)果雷同者,按實驗課考核辦法處理。

      四、實驗步驟和內(nèi)容

      本實驗要求事先編好解決下面問題的程序,然后上機輸入程序并調(diào)試運行程序。1.有一函數(shù):

      (x?1)?x?y??2x?1(1?x?10)?3x?11(x?10)?

      用scanf函數(shù)輸入x的值,求y值。(習(xí)題5.5)

      運行程序,輸入x的值(分別為x<1、1≤x<

      10、x≥10三種情況),檢查輸出的y值是否正確。

      2.給出一個百分制成績,要求輸出成績等級A、B、C、D、E。90分以上為A,81-89分為B,70-79分為C,60-69分為D,60分以下為E。

      1)事先編好程序,要求分別用if語句和switch語句實現(xiàn)。運行程序,并檢查結(jié)果是否正確。

      2)再運行一次程序,輸入分?jǐn)?shù)為負(fù)值(如-70),這顯然是輸入時出錯,不應(yīng)給出等級。修改程序,使之能正確處理任何數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)大于100或小于0時,通知用戶“輸入數(shù)據(jù)錯”,程序結(jié)束。3.給一個不多于5位的正整數(shù),要求:

      1)求出它是幾位數(shù);

      2)分別打印出每一位數(shù)字;

      3)按逆序打印出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出123。應(yīng)準(zhǔn)備以下測試數(shù)據(jù):

      ? 要處理的數(shù)為1位正整數(shù); ? 要處理的數(shù)為2位正整數(shù); ? 要處理的數(shù)為3位正整數(shù); ? 要處理的數(shù)為4位正整數(shù); ? 要處理的數(shù)為5位正整數(shù)。除此之外,程序還應(yīng)當(dāng)對不合法的輸入作必要的處理。例如: ? 輸入負(fù)數(shù);

      輸入的數(shù)超過5位(如123456)。

      4.輸入4個整數(shù),要求按由小到大順序輸出。得到正確結(jié)果后,修改程序使之按由大到小順序輸出。

      5.根據(jù)輸入的三角形的三邊判斷是否能組成三角形,若可以則輸出它的面積和三角形的類型。

      6.現(xiàn)有十二個小球,其中一個球的重量與其它十一個的重量不相同,但不知道是輕還是重。試用天平稱三次,把這個非標(biāo)準(zhǔn)球找出來,并指出它比標(biāo)準(zhǔn)球是輕還是重。要求:

      1)用嵌套的選擇結(jié)構(gòu)編寫程序;2)調(diào)試程序時,必須把十二個球或輕或重共24種可能性都找出來。

      五、思考題

      1)else …if語句、if語句和switch語句的使用 2)一或多分支選擇結(jié)構(gòu)語句的用法;

      六、實驗小結(jié):

      第二篇:《C程序設(shè)計》實驗教案

      《C程序設(shè)計》實驗教案

      一、實驗的目的與任務(wù):

      《C程序設(shè)計》是一門實踐性很強的課程。通過實驗使學(xué)生加深對課堂講授的概念、語法、算法、編程技術(shù)的理解;熟悉C程序設(shè)計的開發(fā)環(huán)境;掌握程序設(shè)計和調(diào)試的基本技能。并通過實踐激發(fā)學(xué)生進一步學(xué)習(xí)的積極性,培養(yǎng)學(xué)生的學(xué)習(xí)興趣和創(chuàng)新思維。通過8個實驗,使學(xué)生經(jīng)過一定數(shù)量的上機訓(xùn)練,了解和掌握C程序設(shè)計的環(huán)境、程序的數(shù)據(jù)表示、程序的執(zhí)行流程控制、程序的整體結(jié)構(gòu)等C程序設(shè)計的基本概念和應(yīng)用技術(shù)。

      二、實驗項目與要求

      實驗一:C程序的運行環(huán)境和運行一個C程序的方法(2學(xué)時)

      實驗性質(zhì):驗證性實驗

      一、實驗?zāi)康?/p>

      1.了解所用的計算機系統(tǒng)的基本操作方法,學(xué)會獨立使用該系統(tǒng)。2.了解在該系統(tǒng)上如何編輯、編譯、連接和運行一個C程序。3.通過運行簡單的C程序,初步了解C源程序的特點。

      二、實驗內(nèi)容

      1.調(diào)用編輯程序,輸入教材第一章習(xí)題1.1程序,并進行編譯和運行。應(yīng)了解所用的系統(tǒng)是用什么命令進行編譯和連接運行的。編譯和連接后所得到的目標(biāo)程序的后綴是什么形式的?

      2.輸入并運行教材第一章中習(xí)題1.4。

      3.輸入并運行教材第一章中習(xí)題1.9,了解如何在運行時向程序變量輸入數(shù)據(jù)。

      實驗二 數(shù)據(jù)類型、運算符和表達(dá)式(2學(xué)時)

      實驗性質(zhì):驗證性實驗

      一、實驗?zāi)康?/p>

      1.掌握C語言數(shù)據(jù)類型,熟悉如何定義一個整型、字符型、實型變量,以及對它們賦值的方法,了解以上類型數(shù)據(jù)輸出時所用格式轉(zhuǎn)換符。

      2.學(xué)會使用C的有關(guān)算術(shù)運算符,以及包含這些運算符的表達(dá)式,特別是自加(++)和自減(--)運算符的使用。

      3.進一步熟悉C程序的編輯、編譯、連接和運行的過程。

      二、實驗內(nèi)容

      1.輸入并運行教材第三章例3.6.即: #include void main(){char c1,c2; c1=97; c2=98;

      printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); } 在此基礎(chǔ)上 ①將第二行改為: int c1,c2;再使之運行,分析結(jié)果。②再將第三行、第四行改為: c1=300;c2=400;再使之運行,分析其運行結(jié)果。

      2.輸入并運行教材第三章習(xí)題3.6,在上機前先用人工分析程序?qū)懗鰬?yīng)得結(jié)果,上機后將二者對照。

      3.輸入并運行習(xí)題3.10。即: #include void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);} 2 分別作以下改動并運行: ①將第4行改為: m=i++;n=++j;②程序改為: #include void main(){int i,j;i=8;j=10;printf(“%d,%d”,i++,j++);} ③在②的基礎(chǔ)上,將printf語句改為: printf(“%d,%d”,++i,++j);④再將printf語句改為:

      printf(“%d,%d,%d,%d”,i,j, i++,j++);⑤程序改為: main(){int i,j,m=0,n=0;;i=8;j=10;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);}

      實驗三 最簡單的C程序設(shè)計(2學(xué)時)

      實驗性質(zhì):驗證性實驗

      一、實驗?zāi)康?/p>

      1.掌握C語言中使用最多的一種語句—賦值語句的使用。2.掌握數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。

      二、實驗內(nèi)容

      1.輸入并運行以下程序: #include

      void main(){int a,b; float d,e; char c1,c2; double f,g; long m,n;

      unsigned int p,q; a=61;b=62; c1=’a’;c2=’b’; d=3.56;e=-6.87;

      f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000;

      printf(“a=%d,b=%dn c1=%c,c2=%cnd=%6.2f,e=%6.2fn”,a,b,c1,c2,d,e);

      printf(“f=%15.6f,g=%15.12fnm=%ld,n=%ldnp=%u,q=%un”,f,g,m,m,p,q); } 在此基礎(chǔ)上,做以下改動: ① 將程序第8-13行改為: a=61;b=62; c1=a;c2=b;

      f=3157.890121;g=0.123456789; d=f;e=g;

      p=a=m=50000;q=b=n=-60000; 運行程序,分析結(jié)果。

      ② 在①的基礎(chǔ)上將printf語句改為:

      printf(“a=%d,b=%dn c1=%c,c2=%cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);

      printf(“f=%f,g=%fn m=%ld,n=%ldn p=%d,q=%dn”,f,g,m,n,p,q); 運行程序。

      2.編寫程序,用getchar函數(shù)讀入兩個字符c1、c2,然后分別用putchar函數(shù)和printf函數(shù)輸出這兩個字符。

      上機運行程序,比較用printf和putchar函數(shù)輸出字符的特點。

      實驗四 選擇結(jié)構(gòu)程序設(shè)計(2學(xué)時)

      實驗性質(zhì):設(shè)計性實驗

      一、實驗?zāi)康?/p>

      1.了解C語言表示邏輯量的方法(以0代表“假”,以1代表“真”); 2.學(xué)會正確使用邏輯運算符和邏輯表達(dá)式; 3.熟練掌握if語句和switch語句。

      二、實驗內(nèi)容

      先編程序,解決以下問題,然后上機調(diào)試運行程序。1.有一個函數(shù)

      ?x?y??2x?1?3x?11?x?11?x?10 x?10用scanf函數(shù)輸入x的值(分別為x<1、1~

      10、≥10三種情況),求y值。2.給出一個百分制成績,要求輸出成績等級‘A’,‘B’,‘C’,‘D’,‘E’。90分以上為‘A’,80~89分為‘B’,70~79分為‘C’,60~69分為‘D’,60分以下為‘E’。

      實驗五 循環(huán)控制(4學(xué)時)

      實驗性質(zhì):設(shè)計性實驗

      一、實驗?zāi)康?/p>

      1.熟悉用while語句,do-while語句和for語句實現(xiàn)循環(huán)的方法。2.掌握在程序設(shè)計中用循環(huán)的方法實現(xiàn)各種算法(如窮舉、迭代、遞推等)。

      二、實驗內(nèi)容

      編程序并上機調(diào)試運行。

      1.輸入兩個正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。2.用牛頓迭代法求方程2x-4x+3x-6=0在1.5附近的根。

      32實驗六 數(shù)組(4學(xué)時)

      實驗性質(zhì):設(shè)計性實驗

      一、實驗?zāi)康?/p>

      1.掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法; 2.掌握字符數(shù)組和字符串函數(shù)的使用。3.掌握與數(shù)組有關(guān)的算法(特別是排序算法)。

      二、實驗內(nèi)容

      編程序并上機調(diào)試運行。

      1.用選擇法對10個整數(shù)排序。10個整數(shù)用scanf函數(shù)輸入。2.將兩個字符串連接起來,不要用strcat函數(shù)。

      實驗七 函數(shù)(4學(xué)時)

      實驗性質(zhì):設(shè)計性實驗

      一、實驗?zāi)康?/p>

      1.掌握定義函數(shù)的方法;

      2.掌握函數(shù)實參與形參的對應(yīng)關(guān)系,以及“值傳遞”的方式; 3.掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法;

      4.掌握全局變量和局部變量,動態(tài)變量和靜態(tài)變量的概念和使用方法。

      二、實驗內(nèi)容

      編程序并上機調(diào)試運行。

      1.寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否是素數(shù)的信息。2.求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù),用一個函數(shù)求最大公約數(shù)。用另一函數(shù)根據(jù)求出的最大公約數(shù)求最小公倍數(shù)。

      (1)用全局變量的方法。將兩個整數(shù)的最大公約數(shù)、最小公倍數(shù)都設(shè)為全局變 量。

      (2)不用全局變量,兩個整數(shù)在主函數(shù)中輸入,并傳送給函數(shù)1,求出的最大公約數(shù)返回主函數(shù),然后再與兩個整數(shù)一起作為實參傳遞給函數(shù)2,以求出最小公倍數(shù),返回到主函數(shù)輸出最大公約數(shù)和最小公倍數(shù)。

      實驗八 預(yù)處理命令(2學(xué)時)

      實驗性質(zhì):設(shè)計性實驗

      一、實驗?zāi)康?/p>

      1.掌握宏定義的方法; 2.掌握文件包含處理方法; 3.掌握條件編譯的方法。

      二、實驗內(nèi)容

      編程序并上機調(diào)試運行。

      1.定義一個帶參數(shù)的宏,使兩個參數(shù)的值互換。在主函數(shù)中輸入兩個數(shù)作為使用宏的實參,輸出已交換后的兩個值。

      說明:在程序主函數(shù)使用宏時只能用兩個實參,如SWAP(a,b),不能用三個參數(shù)。2.用條件編譯方法實現(xiàn)以下功能:

      輸入一行電報文字,可以任選兩種輸出,一為原文輸出;一為將字母變成其下字母(如‘a(chǎn)’變成‘b’,?,‘z’變成‘a(chǎn)’。其它字符不變)。用#define命令來控制是否要譯成密碼。例如: #define CHANGE 1 則輸出密碼。若 #define CHANGE 0 則不譯成密碼,按原碼輸出。用條件編譯方法來處理。

      實驗九 指針(4學(xué)時)

      實驗性質(zhì):設(shè)計性實驗

      一、實驗?zāi)康?1.掌握指針的概念,會定義和使用指針變量; 2.學(xué)會使用數(shù)組的指針和指向數(shù)組的指針變量; 3.學(xué)會使用字符串的指針和指向字符串的指針變量; 4.學(xué)會使用指向函數(shù)的指針變量;

      二、實驗內(nèi)容

      編程序并上機調(diào)試運行程序(都要求用指針處理)。1.輸入三個整數(shù),按由小到大的順序輸出。

      2.將一個3*3的矩陣轉(zhuǎn)置,用一函數(shù)實現(xiàn)之。在主函數(shù)中用scanf函數(shù)輸入以下矩陣元素:

      ?17 ????1339155??11 ?19??將數(shù)組名作為函數(shù)實參。函數(shù)調(diào)用后在主函數(shù)中輸出已轉(zhuǎn)置的矩陣。3.用一個函數(shù)實現(xiàn)兩個字符串的比較,即自己寫一個strcmp函數(shù): strcmp(s1,s2)如果s1=s2,則函數(shù)返回值為0;如果s1≠s2,返回它們二者第一個不同字符的ASCII碼差值(如“BOY”與“BAD”,第二個字母不同,“O”與“A”之差為79-65=14);如果s1>s2,則輸出正值;如s1

      兩個字符串s1,s2由main函數(shù)輸入,strcmp函數(shù)的返回值也在main函數(shù)輸出。

      實驗十 結(jié)構(gòu)體和共用體(4學(xué)時)

      實驗性質(zhì):設(shè)計性實驗

      一、實驗?zāi)康?/p>

      1.掌握結(jié)構(gòu)體類型變量的定義和使用; 2.掌握結(jié)構(gòu)體類型數(shù)組的概念和應(yīng)用; 3.掌握共用體的概念與使用。

      二、實驗內(nèi)容

      編程序,然后上機調(diào)試運行。

      1.有5個學(xué)生,每個學(xué)生的數(shù)據(jù)包括學(xué)號、姓名、三門課的成績,從鍵盤輸入5 8 個學(xué)生數(shù)據(jù),要求打印出三門課總平均成績,以及最高分的學(xué)生的數(shù)據(jù)(包括學(xué)號、姓名、三門課的成績、平均分?jǐn)?shù))。

      要求用一個input函數(shù)輸入5個學(xué)生數(shù)據(jù);用一個average函數(shù)求總平均分;用max函數(shù)找出最高分學(xué)生數(shù)據(jù);總平均分和最高分的學(xué)生的數(shù)據(jù)都在主函數(shù)中輸出。

      2.輸入和運行以下程序:

      #include

      union data {int i[2]; float a; long b; char c[4]; };

      void main(){union data u;

      scanf(“%d,%d”,&u.i[0],&u.i[1]);

      printf(“i[0]=%d,i[1]=%dna=%fnb=%ldnc[0]=%c,c[1]=%c,c[2]=%c,c[3]=%cn”,u.i[0],u.i[1],u.a,u.b,u.c[0],u.c[1],u.c[2],u.c[3]);} 輸入兩個整數(shù)10000、20000給u.i[0]和u.i[1]。分析運行結(jié)果。

      然后將scanf語句改為: scanf(“%ld”,&u.b);

      輸入60000給b。分析運行結(jié)果。

      實驗十一 文件(2學(xué)時)

      實驗性質(zhì):設(shè)計性實驗

      一、實驗?zāi)康?1.掌握文件以及緩沖文件系統(tǒng)、文件指針的概念; 2.學(xué)會使用文件打開、關(guān)閉、讀、寫等文件操作函數(shù)。3.學(xué)會用緩沖文件系統(tǒng)對文件進行簡單的操作。

      二、實驗內(nèi)容

      1.從鍵盤輸入一個字符,將其中的小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個磁盤文件“test”中保存。輸入的字符以“!”結(jié)束。

      實驗十二 學(xué)生成績管理(4學(xué)時)

      實驗性質(zhì):綜合性設(shè)計性實驗

      一、實驗?zāi)康?/p>

      1.綜合運用C程序設(shè)計知識,解決實際問題。

      二、實驗內(nèi)容

      1.有5個學(xué)生,每個學(xué)生有3門課的成績,從鍵盤輸入以上數(shù)據(jù)(包括學(xué)生號、姓名、三門課成績),計算出平均成績,將原有數(shù)據(jù)和計算出的平均分?jǐn)?shù)存放在磁盤文件“stud”中。

      2.將上題“stud”文件中的學(xué)生數(shù)據(jù),按平均分進行排序處理,將已排序的學(xué)生數(shù)據(jù)存入一個新文件“stu-sort”中。

      3.將上題已排序的學(xué)生成績文件進行插入處理。插入一個學(xué)生的三門課成績。程序先計算新插入學(xué)生的平均成績,然后將它按成績高低順序插入,插入后建立一個新文件。

      學(xué)生的原有數(shù)據(jù)為:

      91101 Wang 89,98,67.5 91103 Li 60,80,90 91106 Fun 75.5,91.5,99 91110 Ling 100,50,62.5 91113 Yuan 58,68,71 要插入的學(xué)生數(shù)據(jù)為:

      91108 Xin 90,95,60 10

      第三篇:C語言程序設(shè)計實驗教案

      C語言程序設(shè)計實驗教案

      實驗一visual c++編譯環(huán)境的使用..............................................................................2 實驗二 順序程序設(shè)計...............................................................................................6 實驗三 選擇結(jié)構(gòu)程序設(shè)計........................................................................................9 實驗四 循環(huán)結(jié)構(gòu)程序設(shè)計......................................................................................13 實驗五 函數(shù)...........................................................................................................17 實驗六 指針...........................................................................................................22 實驗七 數(shù)組...........................................................................................................25 實驗八 結(jié)構(gòu)體........................................................................................................32

      實驗一visual c++編譯環(huán)境的使用

      實驗?zāi)康模?/p>

      1.掌握c程序設(shè)計編程環(huán)境visual c++,掌握運行一個c程序設(shè)計的基本步驟,包括編輯、編譯、連接和運行。

      2.掌握c語言程序設(shè)計的基本框架,能夠編寫簡單的c程序。3.了解程序調(diào)試的思想,能找出并改正c程序中的語法錯誤。實驗內(nèi)容:

      1.在“我的電腦”上新建一個文件夾,用于存放c程序,文件夾名字可以是學(xué)號姓名。2.調(diào)試示例,在屏幕上顯示一個短句“Hello World!”。

      源程序

      #include void main(){ printf(“Hello World!n”);} 運行結(jié)果:

      Hello World!基本步驟:(要求熟練掌握)1)啟動VC++ “開始”->“程序”->“Microsoft Visual Studio 6.0”->“Microsoft Visual C++6.0”進入VC++編程環(huán)境。2)新建文件(*.cpp)

      “文件”->“新建”,單擊“文件”選項卡,選擇“C++Source Files”,修改文件保存“目錄”和“文件”(文件名),單擊“確定”。

      3)編輯和保存(注意:源程序一定要在英文狀態(tài)下輸入,即字符標(biāo)點都要在半角狀態(tài)下,同時注意大小寫,一般都用小寫)

      在編輯窗口輸入源程序,然后執(zhí)行“文件”->“保存”或“文件”->“另存為” 4)編譯(*.obj)

      用來檢查語法錯誤

      “編譯”->“編譯”或Ctrl+F7,在產(chǎn)生的工作區(qū)隊話框中,選擇“是”。5)連接(*.exe)“編譯”->“構(gòu)件”或F7 6)運行

      “編譯”->“執(zhí)行”或Ctrl+F5 7)關(guān)閉程序工作區(qū)

      “文件”->“關(guān)閉工作區(qū)” 8)打開文件

      “文件”->“打開”

      9)查看C源文件、目標(biāo)文件和可執(zhí)行文件的存放位置。

      源文件在保存目錄下,目標(biāo)文件和可執(zhí)行文件在“保存目錄Debug”中

      3.編程,在屏幕上顯示一個短句“this is my first c program.”。4.調(diào)試示例,在屏幕上顯示一個短句“welcome to you!”。源程序(有錯誤的程序)#include void mian(){ printf(Welcome to You!n”)} 運行結(jié)果(改正后的運行結(jié)果)Welcome to You!操作步驟:

      1)按照實驗2中介紹的步驟1)~3)輸入上述源程序并保存。

      2)編譯,“編譯”->“編譯”(Ctrl+F7),信息窗口中顯示編譯出錯信息,如下圖所示。3)找出錯誤,在信息窗口中依次雙擊出錯信息,編輯窗口就會出現(xiàn)一個箭頭指向程序出錯的位置,一般在箭頭的當(dāng)前行或上一行,可以找到出錯語句。

      第4行,出錯信息:Welcome是一個未定義的變量,但Welcome并不是變量,出錯的原因是Welcome前少了一個雙引號。

      4)改正錯誤,重新編譯,得下如下圖所示出錯信息。

      出錯信息:“}”前少了分號。

      5)再次改正錯誤,在“}”前即printf()后加上“;”(英文狀態(tài)),生新編譯,顯示正確 6)連接,“編譯”->“構(gòu)件”(F7),出現(xiàn)如下出錯信息。

      出錯信息:缺少主函數(shù)。

      7)改正錯誤,即把“mian”改為“main”后,重新連接,信息窗口顯示連接正確。8)運行,“編譯”->“執(zhí)行”(Ctrl+F5),觀察結(jié)果是否與要求一致。5.改錯,改正下列程序中的錯誤,在屏幕上顯示以下3行信息。

      **************** Welcome **************** 源程序(有錯誤的程序)#include void main(){ Printf(“****************n”);

      }

      實驗報告要求

      將以上各題的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

      Printf(“

      Welcome”)Printf(“****************n”);

      實驗二 順序程序設(shè)計

      【實驗?zāi)康摹?/p>

      1.學(xué)會順序程序設(shè)計的思想

      2.進一步熟悉Turbo C集成編譯環(huán)境的使用,達(dá)到熟練使用的目的 3.熟練掌握各種數(shù)據(jù)類型的輸入輸出格式,并學(xué)會使用輸入輸出函數(shù) 4.學(xué)會使用表達(dá)式

      【實驗內(nèi)容】

      1.在屏幕中輸出一行文字“Hello,Welcome!” 說明:

      (1)只需要在屏幕中顯示一行文字即可 參考程序如下:

      #include main(){

      printf(“Hello,Welcome!n”);}

      2. 輸入一個華氏溫度,要求輸出攝氏溫度。公式為

      輸出要求有文字說明,取兩位小數(shù)

      說明:

      (1)攝氏溫度F和華氏溫度c都應(yīng)用float類型變量存儲(2)注意表達(dá)式書寫中的各變量的順序問題(3)輸出時只需輸出兩位小數(shù) 參考程序如下:

      #include main(){

      float F,c;

      printf(“input F:”);

      scanf(“%f”,&F);

      c=5*(F-32)/9;

      printf(“c=%.2fn”,c);}

      3.輸入三角形三邊長a、b、c,求三角形周長和l面積s。用scanf輸入數(shù)據(jù),輸出計算結(jié)果,輸出時要求有文字說明,取消書店后兩位小數(shù)。說明:

      (1)程序設(shè)計中使用的所有變量均為float類型 c?59?F?32?(2)三角形周長公式:l?a?b?c

      a?b?c2(3)三角形面積公式;s?p(p?a)(p?b)(p?c),其中

      p?

      (4)注意應(yīng)保證輸入數(shù)據(jù)能夠構(gòu)成三角形

      (5)需要使用開根號函數(shù)sqrt,在程序頂部加上#include一句(6)以a?3.0,b?4.0,c?5.0運行程序,查看執(zhí)行結(jié)果 參考程序如下:

      #include #include main(){

      float a,b,c,l,s;

      float p;

      printf(“input a,b,c:”);

      scanf(“%f,%f,%f”,&a,&b,&c);

      l=a+b+c;

      p=(a+b+c)/2;

      s=sqrt(p*(p-a)*(p-b)*(p-c));

      printf(“l(fā)=%.2fn”,l);printf(“s=%.2fn”,s);}

      4.設(shè)圓半徑r?1.5,圓柱高h(yuǎn)?3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù),輸出計算結(jié)果,輸出時要求有文字說明,取消書店后兩位小數(shù)。說明:

      (1)程序設(shè)計中使用的所有變量均為float類型(2)圓周長公式:l?2?r(3)圓面積公式:S1??r(4)圓球表面積公式:S2?4?r

      V1?4322(5)圓球體積公式:

      ?r3

      (6)圓柱體積公式:V2??rh 參考程序如下:

      #include #define PI 3.14

      2main(){

      float r=1.5,h=3;

      float l,s1,s2,v1,v2;

      l=2*PI*r;

      s1=PI*r*r;

      s2=4*PI*r*r;

      v1=4*PI*r*r*r/3;

      v2=PI*r*r*h;

      printf(“l(fā)=%.2fn”,l);printf(“s1=%.2fn”,s1);printf(“s2=%.2fn”,s2);printf(“v1=%.2fn”,v1);printf(“v2=%.2fn”,v2);}

      實驗三 選擇結(jié)構(gòu)程序設(shè)計

      【實驗?zāi)康摹?/p>

      1.了解C語言的邏輯運算 2.學(xué)會使用if語句和switch語句 3.熟練掌握選擇結(jié)構(gòu)程序設(shè)計方法

      【實驗內(nèi)容】 1.有一函數(shù)

      y? x

      ?x?1? ?1?x?10? 2x?

      13x?11

      ?x?10?

      寫一程序,輸入x,輸出y值 說明:

      (1)根據(jù)輸入x的不同求y的值,使用if語句

      (2)分別輸入三個分段中的三個數(shù),判斷輸出結(jié)果是否正確,測試程序正確與否 參考程序如下:

      #include main(){

      float x,y;

      printf(“input x:”);

      scanf(“%f”,&x);

      if(x<1)

      y=x;

      if(x>=1 && x<10)

      y=2*x-1;

      if(x>=10)

      y=3*x-11;printf(“y=%fn”,y);}

      2.從鍵盤輸入一個字符,可以是數(shù)字、字母、或是標(biāo)點符號,對輸入的字符進行判斷,如果是數(shù)字則輸出“* is a number!”,如果是字母則輸出“* is a letter!”,如果是其他的字符怎輸出“* is the other!”(*為輸入的字符)說明:

      (1)從鍵盤輸入一個字符,用char類型變量存儲(2)使用if語句作判斷(3)判斷條件根據(jù)輸入字符的ASCII碼值的范圍,具體的ASCII碼值參看書后的ASCII碼表

      參考程序如下:

      #include main(){

      char c;

      printf(“input a char:”);

      scanf(“%c”,&c);

      if(c>=48 && c<=57)

      printf(“%c is a number!n”,c);

      else if((c>=65 && c<=90)||(c>=97 && c<=122))

      printf(“%c is a letter!n”,c);

      else

      printf(“%c is the other!n”,c);}

      3.輸入兩個實數(shù)a、b,保證變量a中存儲的是較大的數(shù),變量b中存儲的實較小的數(shù),并按照由大到小的順序輸出。說明:

      (1)需要對輸入的兩個數(shù)進行比較,判斷是否需要交換兩個數(shù)(2)按照從大到小的順序輸出兩個數(shù) 參考程序如下:

      #include main(){

      float a,b;

      float temp;

      printf(“input a,b:”);

      scanf(“%f,%f”,&a,&b);

      if(a

      {

      temp=a;

      } printf(“%f,%fn”,a,b);} 4.輸入一年份,判斷該年是否是閏年。說明:

      (1)判斷閏年的條件:能夠被4整除,但不能被100整除或者能被100整除,又能被400整除

      (2)使用一個變量來代表是否是閏年 a=b;b=temp;10(3)如果是閏年則輸出“* is a leap year!”,否則輸出“* is not a leap year!”。*代表輸入的年份

      參考程序如下:

      #include main(){

      int year;

      int flag=0;

      printf(“input a year:”);

      scanf(“%d”,&year);

      if((year%4==0 && year%100!=0)||(year%100==0 && year%400==0))

      flag=1;

      if(flag==1)

      printf(“%d is a leap year!n”,year);

      else

      printf(“%d is not a leap year!n”,year);}

      5.從鍵盤輸入一個月號,顯示輸出該月號的英文名稱 說明:

      (1)使用if語句較為麻煩,因為需要做12次比較(2)使用switch語句

      (3)如果輸入月份超出范圍,則應(yīng)當(dāng)輸出錯誤信息 參考程序如下:

      #include main(){

      int month;

      printf(“input a month:”);

      scanf(“%d”,&month);

      switch(month)

      {

      case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: printf(“January!n”);printf(“February!n”);break;break;printf(“March!n”);break;printf(“April!n”);break;printf(“May!n”);break;printf(“June!n”);break;printf(“July!n”);break;printf(“August!n”);break;printf(“September!n”);break;case 10: printf(“October!n”);break;case 11: printf(“November!n”);break;case 12: printf(“December!n”);break;

      } } default: printf(“input error!n”);12

      實驗四 循環(huán)結(jié)構(gòu)程序設(shè)計

      【實驗?zāi)康摹?/p>

      1.學(xué)會使用while、do-while、for語句 2.熟練掌握循環(huán)結(jié)構(gòu)程序設(shè)計方法 3.掌握選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的嵌套

      【實驗內(nèi)容】

      201.求和說明: ?n!n?1(即求1!+2!+??+20?。?/p>

      (1)首先要求出每一項的n!的值

      (2)然后把各項相加得到所求的值

      (3)存儲求和運算結(jié)果的變量的初始值應(yīng)為0(4)存儲求積運算結(jié)果的變量的初始值應(yīng)為1 參考程序如下: ①使用while循環(huán)

      #include main(){

      float sum=0;

      float mid=1;

      int n=1;

      while(n!=21)

      {

      mid=mid*n;

      } printf(“sum=%fn”,sum);}

      ②使用for循環(huán)

      #include main(){

      float sum=0;

      float mid=1;

      int n;

      for(n=1;n<=20;n++)

      {

      mid=mid*n;n++;sum=sum+mid;

      sum=sum+mid;} printf(“sum=%fn”,sum);}

      2.求出100到200以內(nèi)最大的素數(shù)和最小的素數(shù),并求出兩者的差值 說明:

      (1)素數(shù)的概念:只能被1和自身整除的正整數(shù)

      (2)分別求出這個兩個素數(shù),并輸出,輸出格式為:

      big one:*

      small one:*

      最小的素數(shù)正序找出

      最大的素數(shù)倒序找出

      (3)求出兩者的差,并輸出,輸出格式為:

      result:* 參考程序如下:

      #include main(){

      int big,small;

      int result;

      } for(i=200;i>=100;i--){

      int i,j;int flag;for(i=100;i<200;i++){ flag=0;for(j=2;j

      } if(i%j==0){

      } flag=1;break;if(flag==0){

      } small=i;break;flag=0;for(j=2;j

      {

      } if(flag==0){

      } big=i;break;if(i%j==0){ flag=1;break;}

      } result=big-small;printf(“big:%dn”,big);printf(“small:%dn”,small);printf(“reslut:%dn”,result);}

      3.輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù) 說明:

      (1)最大公約數(shù):能夠被m和n同時整除的最大正整數(shù)(2)最小公倍數(shù):m和n相乘的積除以最大公約數(shù)

      (3)使用for循環(huán),將m和n同時除以1到m(m為m和n兩者中較小者),直到找出最大的正整數(shù)即為最大公約數(shù)(4)輸出格式如下:

      The greatest common divisor is *!

      The least common multiple is *!參考程序如下:

      #include main(){ int m,n,temp;int i;int great,least;

      printf(“input m,n:”);

      scanf(“%d,%d”,&m,&n);if(m>n){

      temp=m;m=n;

      n=temp;} for(i=1;i<=m;i++){

      if(n%i==0 && m%i==0)

      great=i;} least=m*n/great;printf(“The greatest common divisor is %dn”,great);printf(“The least common multiple is %dn”,least);}

      4.打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個3位數(shù),其各位數(shù)字立方和等于該數(shù)本書。例如,153是一水仙花數(shù),因為153?1?5?3 說明:(1)“水仙花數(shù)”是三位數(shù),所以范圍是從100到999(2)使用for循環(huán)

      (3)循環(huán)中需要把數(shù)字的每一位都分離出來,然后求和,同原數(shù)字比較,進行判斷 參考程序如下:

      #include main(){ int a,b,c;

      int i;int temp;for(i=100;i<1000;i++){ a=i/100;b=(i-a*100)/10;c=i%10;temp=a*a*a+b*b*b+c*c*c;if(i==temp)printf(“%dn”,i);

      33} }

      實驗五 函數(shù)

      【實驗?zāi)康摹?/p>

      1.掌握C語言函數(shù)的定義、聲明以及函數(shù)的調(diào)用方法 2.了解主調(diào)函數(shù)和被調(diào)函數(shù)之間的參數(shù)傳遞方式 3.熟練掌握數(shù)組作為函數(shù)參數(shù)的用法

      【實驗內(nèi)容】

      1.寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。說明:

      (1)判斷素數(shù)的函數(shù)名為Prime(2)傳遞參數(shù)為int類型的變量(3)輸出格式為:

      * is a prime!或者* is not a prime!參考程序如下:

      #include Prime(int num){ int i;int flag=0;for(i=2;i

      if(num%i==0)

      {

      } flag=1;break;} if(flag==0)printf(“%d is a prime!n”,num);else

      printf(“%d is not a prime!n”,num);} main(){ int num;printf(“input a num:”);scanf(“%d”,&num);Prime(num);} 2.寫一個函數(shù),用“冒泡法”對輸入的10個數(shù)字由小到大順序排列,并輸出。說明:

      (1)排序的函數(shù)名為Sort(2)排序前后的輸入輸出都應(yīng)在主函數(shù)中完成(3)使用數(shù)組作為函數(shù)參數(shù)(4)使用“冒泡法”排序 參考程序如下:

      #include Sort(int num[]){ int i,j;int temp;for(i=0;i<=8;i++){

      } } main(){ int num[10];int i;printf(“input 10 numbers:”);for(i=0;i<10;i++)

      scanf(“%d”,&num[i]);Sort(num);printf(“the sorted numbers:”);for(i=0;i<10;i++)

      printf(“%d ”,num[i]);}

      3.寫一函數(shù),使給定的一個二維數(shù)組(5×5)轉(zhuǎn)置,即行列互換。說明:

      (1)使用5×5的二維數(shù)組存放數(shù)據(jù)

      (2)矩陣轉(zhuǎn)置的函數(shù)名為Turn(2)轉(zhuǎn)置前后的輸入輸出都應(yīng)在主函數(shù)中完成(3)使用數(shù)組作為函數(shù)參數(shù) for(j=0;j<9-i;j++){

      } if(num[j]>num[j+1]){ temp=num[j];

      } num[j]=num[j+1];num[j+1]=temp;18 參考程序如下:

      #include void Turn(int num[5][5]){ int i,j;int temp;for(i=0;i<5;i++){

      } } main(){ int num[5][5]={{1,2,3,4,5},{6,7,8,9,0},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};

      int i,j;printf(“Before array be turned:n”);for(i=0;i<5;i++){ for(j=0;j<5;j++)printf(“%2d ”,num[i][j]);for(j=i;j<5;j++){

      } temp=num[i][j];num[i][j]=num[j][i];num[j][i]=temp;

      printf(“n”);} Turn(num);printf(“After array be turned:n”);for(i=0;i<5;i++){

      } }

      4.寫一函數(shù),使輸入的字符串反序存放,在主函數(shù)中輸入和輸出字符串。說明:

      (1)字符串反序的函數(shù)名為Reverse(2)反序前后的輸入輸出都應(yīng)在主函數(shù)中完成(3)使用數(shù)組作為函數(shù)參數(shù) for(j=0;j<5;j++)printf(“%2d ”,num[i][j]);printf(“n”);19(4)需要使用strlen函數(shù)得到字符串長度,需要在源文件頭部加入#include 參考程序如下:

      #include #include void Reverse(char str[]){ int length;int i;char temp;length=strlen(str);for(i=0;i

      } } main(){ char str[50];printf(“input a string:”);scanf(“%s”,str);Reverse(str);printf(“After reversed is %sn”,str);}

      5.寫一函數(shù),將兩個字符串連接。

      說明:

      (1)連接兩個字符串的函數(shù)名為:Connect(2)將連個字符串存入兩個字符串?dāng)?shù)組中,要保證第一個字符串的長度能夠容納兩個字符串之和

      (3)連接兩個字符串主要是找到第一個字符串的結(jié)尾,然后將第二個字符串連接到第二個字符串的后邊

      (4)輸出格式為:

      The connected string is *!(5)使用數(shù)組作為函數(shù)參數(shù)

      (6)連接前后的字符串輸出都要在主函數(shù)中完成,自定義函數(shù)只完成連接功能 參考程序如下:

      #include void Connect(char str1[],char str2[]){ int i,j;for(i=0;str1[i]!='