C語言程序設計實驗實驗指導書及答案_第1頁
C語言程序設計實驗實驗指導書及答案_第2頁
C語言程序設計實驗實驗指導書及答案_第3頁
C語言程序設計實驗實驗指導書及答案_第4頁
C語言程序設計實驗實驗指導書及答案_第5頁
免費預覽已結束,剩余11頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗一熟悉C程序運行環境班級學號姓名成績一、實驗目的1 .熟悉C語言VisualC+6.0調試環境。2 .掌握C程序的編輯、調試及運行。二、實驗內容項目1.調試并運行下面程序,并寫出運行結果:#include<stdio.h>intmain()printf("Goodmornng);printf(Hello,world!n"力return0;運行結果(注意,按照屏幕輸出格式寫):項目2.調試并運行下面程序,并寫出運行結果:#include<stdio.h>intmain()inta,b,sum;/*定義變量*/a=23;b=56;/*為變量賦值*/s

2、um=a+b;/*計算兩個變量的和*/printf(sumis%dn”,sum);/*輸出計算結果*/return0;運行結果:項目3.調試并運行下面程序,并寫出運行結果:#include<stdio.h>intmax(int,int);intmain()inta,b,c;a=23;b=56;c=max(a,b);printf(maxis%dn”,c);return0;intmax(intx,inty)intz;if(x>y)z=x;else/*定義變量*/*為變量賦值*/*調用max函數,將得到的值賦給c*/*輸出c的值*/*定義max函數,函數值為整型*/*定義變量*/z

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

4、d,a);intm,a,b,c,d,e;/*定義整型變量*/printf(“b=mn”,b);printf("pleaseinputadata:m=");printf(“c=m*3;n”,c);scanf("d,&m/*從鍵盤輸入一個整數*/printf(“d=m/4;d=%d,d);a=m+1;printf(“e=m%n”,e);b=m-2;return0;c=m*3;運行結果:項目2.編輯運行下面程序,并分析運行結果。#include<stdio.h>printf(“n=”);intmain()scanf(“f”,&n)/*輸入矩形

5、的邊長*/s=m*n;/*計算矩形的面積*/floatm,n,s;n",s);/*輸出矩形的面積*/printf("m=,);return0;scanf("%f”,&m/*輸入矩形的邊長*/(1)輸入24和5,運行結果:分析結果是否正確?(3)對上面程序進行修改,當輸入一個非法的邊長(負數或零),會給出提示而不計算矩形的面積。輸入24和5,運行結果:項目3.先閱讀程序,并寫出結果,再運行程序并分析結果。#include<stdio.h>intmain()(inti,j,m,n,p,q,x,y;i=8;j=10;p=0;q=0;x=1;y=1;m

6、=+i;/m=9,i=9n=j+;/n=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,m,nip,q,x,y);return0;分析結果:i=_10;j=_10;m=9_;n=_10;p=_9;q=_-10;x=_20;y=_0運行結果:根據矩形面積的計算方法,編寫一個輸入圓半徑r,計算園周長L和圓面積S的程序。注意判斷圓半徑r是否大于零。(程序代碼和

7、運行結果可寫在指導書背面)實驗三程序控制結構(選擇)班級學號姓名成績項目1.三角形成立條件判斷及面積計算【項目任務】輸入三個整型數據,判斷這三個整型數據能否圍成三角形,如果能組成三角形,計算并輸出它的面積,如果不能圍成三角形輸出“三條邊不能圍成三角形”。【項目說明】C語言實現選擇結構筑要用if語句,按照判斷所給定的條件是否滿足,根據判定結果的真或假來決定執行在if語句中給出的兩種操作之一。【項目目的】(1)正確使用關系表達式和邏輯表達式表達條件。(2)學習分支語句if的使用方法。(3)進一步熟悉VC集成環境的使用方法,學習VC環境提供的調試工具。【項目要點】(1)已知三邊求三角形面積的公式:p

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

9、表達式表達條件。(2)學習多switch分支選擇語句的使用方法。【項目要點】解決本項目的關鍵是如何將輸入的百分制成績與case常量聯系起來,不難想到將百分制成績(用score表示)除以10之后再取整,一定得到0到10之間的數。9、10對應'a',8對應'b,5、4、3、2、1、0對應e'既不及格。程序代碼:運行結果:項目3.選做2x+1x>0y=0x=0Cx-1x<0(程序代碼和運行結果可寫在指導書背面)實驗四程序控制結構(循環)班級學號姓名成績項目1:使用循環結構實現重復處理【項目說明】從鍵盤輸入一個班的成績,把百分制轉換成等級制。將百分制成績(用

10、score表示)除以10之后再取整,一定得到0到10之間的數。9、10對應'a',8對應'b,5、4、3、2、1、0對應e'既不及格。要求分別使用三種循環結構實現。該項目中,假設班級人數不固定,規定輸入若干0至100的成績,如果成績不在此范圍,則表示結束。該項目中,同時要使用switch語句實現多分支選擇結構。【項目目的】(1)掌握用while語句和do-while語句實現循環的方法。(2)掌握用for語句實現循環的方法。(3)掌握三種語句的特點和應用技巧。(4)掌握用break語句和continue語句改變循環狀態的方法。【項目內容】1、用while語句實現的

11、程序代碼:2、用dowhile和break語句實現的程序代碼:3、用do-while和continue語句實現的程序代碼:4、用for語句實現的程序代碼:項目2.(選彳)io求Zn!(即求1!+2!+3!十十10!)(程序代碼和運行結果可寫在指導書背面)n1實驗五數組班級學號姓名成績項目1.冒泡排序法【項目說明】輸入10個數,用“冒泡法”對10個數排序(由小到大)。冒泡法的基本思想:通過相鄰兩個數之間的比較和交換,使(數值)較小的數逐漸從底部移向頂部,較大的數逐漸從頂部移向底部。就像水底的氣泡一樣逐漸向上冒,故而得名。【項目目的】(1)掌握冒泡排序算法的編程。(2)掌握與數組有關的算法。程序代

12、碼:運行結果:項目2.字符統計【項目說明】有一篇文章,共有3行文字,每行80個字符。要求分別統計出其中英文字母和數字的個數。【項目目的】(1)掌握鍵盤輸入字符串方法。(2)掌握二維數組的處理方法。【技術要點】(1)3行文字可定義一個二維字符數組來表示。(2)使用gets()函數對字符串進行輸入。程序代碼:#include<stdio.h>intmain。inti,j,upp,low,dig,spa,oth;chartext380;upp=low=dig=spa=oth=0;for(i=0;i<3;i+)printf("pleaseinputline%d:n"

13、;,i+1);gets(texti);for(j=0;j<80&&textij!='0'j+)if(textij>='A'&&textij<='Z')upp+;elseif(textij>='a'&&textij<='z')low+;elseif(textij>='0'&&textij<='9')dig+;elseif(textij='')spa+;elseoth

14、+;printf("nuppercase:%dn",upp);printf("lowercase:%d'n",low);printf("digit:%dn",dig);printf("space:%dn",spa);printf("other:%dn",oth);return0;運行結果:項目3.(選彳)在二維數組中,若某一位置上的元素在該行中最大,而在該列中最小,則該元素即為該二維數組的一個鞍點。要求從鍵盤上輸入一個二維數組,當鞍點存在時,把鞍點找出來。(程序代碼和運行結果可寫在指導書

15、背面)實驗六函數班級學號姓名成績項目1:使用函數實現對二維數組轉置。【項目說明】寫一個函數,使給定的3*3的二維整型數組轉置,即行列互換。要求輸出轉換之前和轉換之后的結果。【項目目的】(1)掌握函數的定義和調用。(2)掌握二維數組名作為函數的參數的使用技巧。【技術要點】(1)使用二重循環對二維數組進行輸入,處理和輸出;(2)二維數組名作為函數的參數,定義函數需要給出第二維的大小。程序代碼:運行結果:項目2:使用函數實現成績處理【項目說明】輸入3個學生4門課的成績,分別用函數實現以下功能:(1)計算每個學生的平均分。(2)計算每門課的平均分。(3)找出12個分數中最高分數所對應的學生和課程。【項

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

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

溫馨提示

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

評論

0/150

提交評論