C語言程序設(shè)計實驗實驗指導(dǎo)書及答案_第1頁
C語言程序設(shè)計實驗實驗指導(dǎo)書及答案_第2頁
C語言程序設(shè)計實驗實驗指導(dǎo)書及答案_第3頁
C語言程序設(shè)計實驗實驗指導(dǎo)書及答案_第4頁
C語言程序設(shè)計實驗實驗指導(dǎo)書及答案_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.實驗一 熟悉C程序運行環(huán)境班級學號姓名成績一、實驗?zāi)康?. 熟悉C語言Visual C+6.0調(diào)試環(huán)境。2. 掌握C程序的編輯、調(diào)試及運行。二、實驗內(nèi)容項目1. 調(diào)試并運行下面程序,并寫出運行結(jié)果:#include int main()printf(“Good morning!n”);printf(“Hello,world!n”);return 0;運行結(jié)果(注意,按照屏幕輸出格式寫):項目2. 調(diào)試并運行下面程序,并寫出運行結(jié)果:#include int main()int a , b , sum;/*定義變量*/a=23; b=56;/*為變量賦值*/sum=a+b;/*計算兩個變量的和

2、*/printf(“sum is %dn”,sum); /*輸出計算結(jié)果*/return 0;運行結(jié)果:項目3. 調(diào)試并運行下面程序,并寫出運行結(jié)果:#include int max(int,int);int main()int a , b , c;/*定義變量*/a=23; b=56; /*為變量賦值*/c=max(a,b);/*調(diào)用max函數(shù),將得到的值賦給c*/printf(“max is %dn”,c); /*輸出c的值*/return 0;int max(int x,int y)/*定義max函數(shù),函數(shù)值為整型*/int z;/*定義變量*/if(xy)z=x;elsez=y;ret

3、urn(z);/*將z的值返回*/運行結(jié)果:三、提高部分1.試想,如果求10個數(shù)中的最大者,則程序該如何編寫。程序代碼運行結(jié)果:.實驗二 數(shù)據(jù)及其運算班級學號姓名成績一、實驗?zāi)康?. 掌握C數(shù)據(jù)類型的概念、熟悉整型、字符型和實型基本類型的常量的用法;學會三種基本類型變量的定義、賦值和使用方法。2. 掌握算術(shù)表達式、關(guān)系表達式及邏輯表達式的特點及用法。3. 熟悉運算符的優(yōu)先級和結(jié)合性的概念。4. 學習簡單程序的編寫方法。二、實驗內(nèi)容項目1. 編輯運行下面程序,并分析運行結(jié)果。#includeint main()int m,a,b,c,d,e; /*定義整型變量*/printf(“please i

4、nput a data:m=”);scanf(“%d”,&m);/*從鍵盤輸入一個整數(shù)*/a=m+1;b=m-2;c=m*3;d=m/4;e=m%5;printf(“a=m+1;a=%dn”,a);printf(“b=m-2;b=%dn”,b);printf(“c=m*3;c=%dn”,c);printf(“d=m/4;d=%dn”,d);printf(“e=m%5;e=%dn”,e);return 0;運行結(jié)果:項目2. 編輯運行下面程序,并分析運行結(jié)果。#includeint main()float m,n,s;printf(“m=”);scanf(“%f”,&m);/*輸入矩形的邊長*/

5、printf(“n=”);scanf(“%f”,&n);/*輸入矩形的邊長*/s=m*n;/*計算矩形的面積*/printf(s=%fn”,s);/*輸出矩形的面積*/return 0;(1)輸入24和5,運行結(jié)果:(2)輸入24和5,運行結(jié)果:分析結(jié)果是否正確?(3)對上面程序進行修改,當輸入一個非法的邊長(負數(shù)或零),會給出提示而不計算矩形的面積。輸入24和5,運行結(jié)果:項目3. 先閱讀程序,并寫出結(jié)果,再運行程序并分析結(jié)果。#includeint main()int i,j,m,n,p,q,x,y;i=8;j=10;p=0;q=0;x=1;y=1;m=+i;/m=9,i=9n=j+;/n

6、=10,j=11;p+=i+;/p=p+i+;/p=9,i=10q-=-j;/q=q-(-j);/q=-10,j=10x+=m+10;/x=x+( m+10)/x=20,y=p=q;/y=0printf(“i=%d,j=%d,m=%d,n=%d,p=%d,q=%d,x=%d,y=%d”,i,j,m,n,p,q,x,y);return 0;分析結(jié)果:i=_10_;j=_10_;m=_9_;n=_10_;p=_9_;q=_-10_;x=_20_;y=_0_運行結(jié)果:項目4.(選做)根據(jù)矩形面積的計算方法,編寫一個輸入圓半徑r,計算園周長L和圓面積S的程序。注意判斷圓半徑r是否大于零。(程序代碼和運

7、行結(jié)果可寫在指導(dǎo)書背面)實驗三 程序控制結(jié)構(gòu)(選擇)班級學號姓名成績項目1.三角形成立條件判斷及面積計算【項目任務(wù)】輸入三個整型數(shù)據(jù),判斷這三個整型數(shù)據(jù)能否圍成三角形,如果能組成三角形,計算并輸出它的面積,如果不能圍成三角形輸出“三條邊不能圍成三角形”。【項目說明】 C語言實現(xiàn)選擇結(jié)構(gòu)筑要用if語句,按照判斷所給定的條件是否滿足,根據(jù)判定結(jié)果的真或假來決定執(zhí)行在if語句中給出的兩種操作之一?!卷椖磕康摹?(1)正確使用關(guān)系表達式和邏輯表達式表達條件。 (2)學習分支語句if的使用方法。(3)進一步熟悉VC集成環(huán)境的使用方法,學習VC環(huán)境提供的調(diào)試工具?!卷椖恳c】 (1)已知三邊求三角形面積的

8、公式: p=(a+b+c)/2 s= sqrt(p*(p-a)*( p-b)*( p-c)(2)已知三邊能圍成三角形的條件是:任意兩邊之和大于第三邊。 (3)C語言中求平方根的函數(shù)是sqrt(double x),該函數(shù)在math.h頭文件中。(4)if語句中“表達式”必須用“(”和“)”括起來,它的值為邏輯值。除常見的關(guān)系表達式或邏輯表達式外,也允許是其他類型的數(shù)據(jù),如整型、實型、字符型等。 (5)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用。程序代碼:運行結(jié)果:項目2. 百分制成績轉(zhuǎn)換為成績等級 【項目任務(wù)】輸入一個百分制成績,輸出對應(yīng)的等級?!卷椖磕康摹?(1)

9、正確使用關(guān)系表達式和邏輯表達式表達條件。 (2)學習多switch分支選擇語句的使用方法?!卷椖恳c】 解決本項目的關(guān)鍵是如何將輸入的百分制成績與case常量聯(lián)系起來,不難想到將百分制成績(用score表示)除以10之后再取整,一定得到0到10之間的數(shù)。9、10對應(yīng)a,8對應(yīng)b,,5、4、3、2、1、0對應(yīng)e既不及格。程序代碼:運行結(jié)果:項目3.選做 。(程序代碼和運行結(jié)果可寫在指導(dǎo)書背面).實驗四 程序控制結(jié)構(gòu)(循環(huán))班級學號姓名成績項目1:使用循環(huán)結(jié)構(gòu)實現(xiàn)重復(fù)處理【項目說明】 從鍵盤輸入一個班的成績,把百分制轉(zhuǎn)換成等級制。將百分制成績(用score表示)除以10之后再取整,一定得到0到10

10、之間的數(shù)。9、10對應(yīng)a,8對應(yīng)b,,5、4、3、2、1、0對應(yīng)e既不及格。要求分別使用三種循環(huán)結(jié)構(gòu)實現(xiàn)。該項目中,假設(shè)班級人數(shù)不固定,規(guī)定輸入若干0至100的成績,如果成績不在此范圍,則表示結(jié)束。該項目中,同時要使用switch語句實現(xiàn)多分支選擇結(jié)構(gòu)。【項目目的】(1)掌握用while語句和dowhile語句實現(xiàn)循環(huán)的方法。(2)掌握用for語句實現(xiàn)循環(huán)的方法。(3)掌握三種語句的特點和應(yīng)用技巧。(4)掌握用break語句和continue語句改變循環(huán)狀態(tài)的方法 。 【項目內(nèi)容】1、用while語句實現(xiàn)的程序代碼:2、用dowhile和break語句實現(xiàn)的程序代碼:3、用dowhile和co

11、ntinue語句實現(xiàn)的程序代碼:4、用for語句實現(xiàn)的程序代碼:項目2.(選做)求(即求)(程序代碼和運行結(jié)果可寫在指導(dǎo)書背面).實驗五 數(shù)組班級學號姓名成績項目1. 冒泡排序法【項目說明】輸入10個數(shù),用“冒泡法”對10個數(shù)排序(由小到大)。冒泡法的基本思想:通過相鄰兩個數(shù)之間的比較和交換,使(數(shù)值)較小的數(shù)逐漸從底部移向頂部,較大的數(shù)逐漸從頂部移向底部。就像水底的氣泡一樣逐漸向上冒,故而得名?!卷椖磕康摹?(1)掌握冒泡排序算法的編程。(2)掌握與數(shù)組有關(guān)的算法。程序代碼:運行結(jié)果:項目2. 字符統(tǒng)計【項目說明】有一篇文章,共有3行文字,每行80個字符。要求分別統(tǒng)計出其中英文字母和數(shù)字的個

12、數(shù)?!卷椖磕康摹?(1)掌握鍵盤輸入字符串方法。(2)掌握二維數(shù)組的處理方法?!炯夹g(shù)要點】(1)3行文字可定義一個二維字符數(shù)組來表示。(2)使用gets( ) 函數(shù)對字符串進行輸入。程序代碼:#include int main() int i,j,upp,low,dig,spa,oth; char text380; upp=low=dig=spa=oth=0; for (i=0;i3;i+) printf(please input line %d:n,i+1); gets(texti); for (j=0;j=A& textij=a & textij=0 & textij=9) dig+; e

13、lse if (textij= ) spa+; else oth+; printf(nupper case: %dn,upp); printf(lower case: %dn,low); printf(digit : %dn,dig); printf(space : %dn,spa); printf(other : %dn,oth); return 0;運行結(jié)果:項目3.(選做)在二維數(shù)組中,若某一位置上的元素在該行中最大,而在該列中最小,則該元素即為該二維數(shù)組的一個鞍點。要求從鍵盤上輸入一個二維數(shù)組,當鞍點存在時,把鞍點找出來。(程序代碼和運行結(jié)果可寫在指導(dǎo)書背面)實驗六 函數(shù)班級學號姓名成

14、績項目1:使用函數(shù)實現(xiàn)對二維數(shù)組轉(zhuǎn)置?!卷椖空f明】 寫一個函數(shù),使給定的3*3的二維整型數(shù)組轉(zhuǎn)置,即行列互換。要求輸出轉(zhuǎn)換之前和轉(zhuǎn)換之后的結(jié)果?!卷椖磕康摹浚?)掌握函數(shù)的定義和調(diào)用。(2)掌握二維數(shù)組名作為函數(shù)的參數(shù)的使用技巧。 【技術(shù)要點】(1)使用二重循環(huán)對二維數(shù)組進行輸入,處理和輸出;(2)二維數(shù)組名作為函數(shù)的參數(shù),定義函數(shù)需要給出第二維的大小。程序代碼:運行結(jié)果:項目2:使用函數(shù)實現(xiàn)成績處理【項目說明】 輸入3個學生4門課的成績,分別用函數(shù)實現(xiàn)以下功能:(1)計算每個學生的平均分。(2)計算每門課的平均分。(3)找出12個分數(shù)中最高分數(shù)所對應(yīng)的學生和課程?!卷椖磕康摹浚?)掌握函數(shù)的

15、定義和調(diào)用。(2)掌握全局變量的使用。 【技術(shù)要點】學生成績可定義成全局的二維數(shù)組,這樣自定義函數(shù)可以直接使用,而不需要進行參數(shù)的傳遞。程序代碼:運行結(jié)果:項目3.(選做)求(即求)(階乘要求使用遞歸函數(shù)來實現(xiàn),程序代碼和運行結(jié)果可寫在指導(dǎo)書背面)實驗七 指針班級學號姓名成績項目1.使用指針參數(shù)交換兩個變量值【項目說明】 用函數(shù)實現(xiàn)兩個變量值的交換,使其在主調(diào)函數(shù)和被調(diào)函數(shù)中的值一致,并且返回這兩個變量的和以及乘積。要求用指針變量作為函數(shù)參數(shù)。 【項目目的】 (1)熟悉如何定義指針變量,掌握將指針變量作為函數(shù)參數(shù)的方法。 (2)掌握通過指針參數(shù)由被調(diào)函數(shù)向主調(diào)函數(shù)傳遞多個值的方法。 【技術(shù)要點

16、】 由于變量的值始終存放在內(nèi)存單元中,因此,要交換兩個變量的值,只需交換這兩個變量對應(yīng)的存儲單元的值即可,這就需要知道兩個變量的地址。也就是說,需要保證主調(diào)函數(shù)與被調(diào)函數(shù)中所要交換的兩個數(shù)的內(nèi)存單元是同一內(nèi)存單元,即傳遞的參數(shù)是內(nèi)存單元的地址,而不是內(nèi)存單元中的值。程序代碼:運行結(jié)果:項目2. 數(shù)組的排序和的插入 【項目目的】 (1)熟悉如何定義指針變量,掌握將指針變量指向一維數(shù)組元素的方法。 (2)掌握如何對數(shù)組進行排序。(3)掌握如何在一個有序的數(shù)列中查找合適的位置。 (4)掌握如何將一個數(shù)插入到一個有序數(shù)列中。 【技術(shù)要點】 (1)排序可采用冒泡法或者選擇法。(2)有序數(shù)組中插入一個數(shù)的關(guān)鍵是找到該數(shù)據(jù)插入的位置,然后將插入位置及其后的所有元素均后移一位,在空出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論