c程序設(shè)計(jì)實(shí)驗(yàn)手冊(cè)_第1頁(yè)
c程序設(shè)計(jì)實(shí)驗(yàn)手冊(cè)_第2頁(yè)
已閱讀5頁(yè),還剩7頁(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、 12/12c程序設(shè)計(jì)實(shí)驗(yàn)手冊(cè) 前言 實(shí)驗(yàn)一C程序的運(yùn)行環(huán)境 實(shí)驗(yàn)二數(shù)據(jù)類型、運(yùn)算符和表達(dá)式 1、實(shí)驗(yàn)?zāi)康?通過(guò)本次實(shí)驗(yàn)要求學(xué)生掌握以下知識(shí): (1)熟悉數(shù)據(jù)和運(yùn)算符的基本概念 (2)掌握數(shù)據(jù)類型、常量、變量的概念,以及常量、變量的定義方法(3)熟練地應(yīng)用常量、變量和運(yùn)算符構(gòu)成表達(dá)式,對(duì)數(shù)據(jù)進(jìn)行處理2、實(shí)驗(yàn)步驟 (1)分析下列程序的結(jié)果,思考輸出結(jié)果的原因 #include void main() int a,b,p,q; a=1;b=2; p=a+; q=+b; printf(%d,%d,%d,%dn,a,b,p,q); int c,d,e,f;c=d=e=f=2; c*=2+3;d+=d-

2、=d*=d; e=(e+,+e,e%=2); printf(%d,%d,%d,%dn,c,d,e,f); (2)編寫(xiě)程序?qū)崿F(xiàn)以下問(wèn)題 1、求任意兩個(gè)數(shù)的加法、減法、乘法、除法 2、編寫(xiě)一個(gè)程序?qū)ⅰ癐 love you”這個(gè)字符串進(jìn)行加密,密碼規(guī)律自定義。(可參照愷撒密碼的方式) 實(shí)驗(yàn)三順序程序設(shè)計(jì) 1、實(shí)驗(yàn)?zāi)康?通過(guò)本次實(shí)驗(yàn)要求學(xué)生掌握以下知識(shí): (1)能讀懂簡(jiǎn)單的程序,并對(duì)順序程序設(shè)計(jì)有初步的認(rèn)識(shí) (2)可以編寫(xiě)簡(jiǎn)單的順序程序 (3)通過(guò)上機(jī)調(diào)試,了解順序程序設(shè)計(jì)中常見(jiàn)的錯(cuò)誤,掌握基本的調(diào)試技術(shù)(逐步分析程序)。 2、實(shí)驗(yàn)步驟 (1)已知攝氏溫度與華氏溫度的換算公式 C=5/9(F-32)

3、編寫(xiě)一個(gè)程序求華氏溫度為30,70,100。 #include void main() float f; float c; scanf(%f, c=(f-32)*5/9; printf(%fn,c); (2)已知地球半徑為6371.0km,編寫(xiě)一個(gè)程序計(jì)算地球表面積的近似值,并打印輸出地球的半徑、的近似值、地球的表面積。 void main() float pi=3.14; s=pi*r*r; printf(地球的半徑是:%.2fn,r); printf(pi的值為:%.2fn,pi); printf(地球的表面積為:%en,s); (3)已知三角形的三條邊a,b,c,求三角形面積的公式為:

4、編寫(xiě)一個(gè)程序讀入a,b,c的值,計(jì)算出面積F,并輸出三條邊及面積的值。(開(kāi)平方根函數(shù)為sqrt,在math.h文件中) #include void main() float r,h,l,s,ss,v; printf(請(qǐng)輸入圓半徑:); scanf(%f, scanf(%f, l=2*PI*r; s=PI*r*r; ss=4*s; v=PI*r*r*h; printf(圓的面積為:%.2fn,s); printf(圓的周長(zhǎng)為:%.2fn,l); printf(圓球的表面積為:%.2fn,ss); printf(圓柱的體積為:%.2fn,v); (5)分析下列程序的結(jié)果,并看懂程序。#includ

5、e void main() char c1; printf(請(qǐng)輸入一個(gè)字符:); c1=getchar(); if(c1=a putchar(c1); else if(c1=A putchar(c1); else if(c1=1 putchar(c1); printf(你輸入的是其它東東:); putchar(c1); 實(shí)驗(yàn)四選擇結(jié)構(gòu)程序設(shè)計(jì) (一)實(shí)驗(yàn)內(nèi)容 1、實(shí)驗(yàn)?zāi)康?通過(guò)本次實(shí)驗(yàn)要求學(xué)生掌握以下知識(shí): (1)清楚的掌握if語(yǔ)句、switch語(yǔ)句的各種使用方法,并靈活運(yùn)用 (2)能讀懂if語(yǔ)句、switch語(yǔ)句的流程走向 (3)通過(guò)上機(jī)調(diào)試,了解選擇程序設(shè)計(jì)中常見(jiàn)的錯(cuò)誤,掌握基本的調(diào)試技術(shù)

6、(逐步分析程序)。 2、實(shí)驗(yàn)步驟 (1)編程求: void main() int x,y; scanf(%d, if(x!=0) y=x*x-5; else y=3*x+2; printf(x=%d,y=%dn,x,y); (2)編寫(xiě)一個(gè)按月收入額計(jì)個(gè)人收入調(diào)節(jié)稅的應(yīng)用程序。 記稅公式如下: 0 pay=4500 其中:pay 為納稅人的月收入 #include void main() float tax,pay; scanf(%f, if(pay 30 中度肥胖:體重指數(shù) 35 重度肥胖:體重指數(shù) 40 void main() float weight,height,t; printf(請(qǐng)輸

7、入體重(公斤)); scanf(%f, printf(請(qǐng)輸入身高(米)); scanf(%f, t=weight/(height*height); printf(%fn,t); if(t9999) place=5; else if(num999) place=4; else if(num99) place=3; place=2; else place=1; printf(place=%dn,place); printf(每位數(shù)字是:); ten_thousand=num/10000; thousand=(num-ten_thousand*10000)/1000; hundred=(num-te

8、n_thousand*10000-thousand*1000)/100; ten=(num-ten_thousand*10000-thousand*1000-hundred*100)/10; indiv=num-ten_thousand*10000-thousand*1000-hundred*100-ten*10; switch(place) case 5:printf(%d,%d,%d,%d,%dn,indiv,ten,hundred,thousand,ten_thousand); break; case 4:printf(%d,%d,%d,%dn,indiv,ten,hundred,tho

9、usand); break; case 3:printf(%d,%d,%dn,indiv,ten,hundred); break; case 2:printf(%d,%dn,indiv,ten); break; case 1:printf(%dn,indiv); (6)輸入數(shù)字1,則鳴叫一聲,輸入數(shù)字2,則鳴叫兩聲,如果是15之外的數(shù),則沒(méi)有叫聲。(提示:程序中定義了一個(gè)宏BEEP,當(dāng)程序中遇到BEEP,便用printf(a);替換,方法如下:) #define BEEP printf(a);/使用switch case 語(yǔ)句實(shí)現(xiàn) #define BEEP printf(a); void ma

10、in() int a; scanf(%d, case 1:BEEP break; case 2:BEEP BEEP break; case 3:BEEP BEEP BEEP break; case 4:BEEP BEEP BEEP BEEP break; case 5:BEEP BEEP BEEP BEEP BEEP break; default:printf(errorn); (7)編寫(xiě)整數(shù)加減乘除計(jì)算器。(比如:你依次輸入1+2,計(jì)算機(jī)會(huì)自動(dòng)進(jìn)行判別,運(yùn)算出結(jié)果。)/使用switch case 語(yǔ)句實(shí)現(xiàn) 參考程序如下,請(qǐng)完善后執(zhí)行。 void main() char c;int num1,

11、num2,jg; case +:jg=num1+num2;break; case -:jg=num1-num2;break; case *: case : #include void main() int a,b; char op; printf(n 輸入操作數(shù)1,運(yùn)算符,操作數(shù)2: ); scanf(%d,%c,%d, switch(op) case +: printf(n %d+%d=%dn,a,b,a+b); break; case -: printf(n %d-%d=%dn,a,b,a-b); break; case *: printf(n %d%d=%dn,a,b,a*b); bre

12、ak; case /: printf(n %d/%d=%dn,a,b,a/b); break; default: printf(n 運(yùn)算符錯(cuò)誤!); 實(shí)驗(yàn)五循環(huán)控制程序設(shè)計(jì) 1、實(shí)驗(yàn)?zāi)康?(1)熟悉掌握用while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句實(shí)現(xiàn)循環(huán)的方法。 (2)掌握在程序設(shè)計(jì)中用循環(huán)的方法實(shí)現(xiàn)一些常用算法(如窮舉、迭代、遞推等)(3)進(jìn)一步學(xué)習(xí)調(diào)試程序。 2、實(shí)驗(yàn)步驟 (1)For 循環(huán)基礎(chǔ)專項(xiàng)練習(xí),從下列實(shí)例中體會(huì)For循環(huán)的用法 . 求110這十個(gè)數(shù)的累加 void main() int i,sum=0; for(i=1;i void main() int n=0; floa

13、t people=13; do people=people*1.008; n+; while(people void main() int n; float people=13; for(n=0;people /*void main()/方法考慮使用雙層循環(huán),外循環(huán)保證運(yùn)算是在非素?cái)?shù)的情況下計(jì)算,內(nèi)循環(huán)用來(lái)計(jì)算素?cái)?shù),一旦找到因子肯定不是素?cái)?shù),直接跳出循環(huán) int number,k,i,p=0;/p為邏輯值,如果是素?cái)?shù)p!=0 printf(請(qǐng)輸入一個(gè)正整數(shù):); scanf(%d, k=sqrt(number); for(i=2;ik) p=1; else number+; printf(第一

14、個(gè)素?cái)?shù)是:%dn,number); */ /解法2 不使用BREAK void main()/方法考慮使用雙層循環(huán),外循環(huán)保證運(yùn)算是在非素?cái)?shù)的情況下計(jì)算,內(nèi)循環(huán)用來(lái)計(jì)算素?cái)?shù),一旦找到因子肯定不是素?cái)?shù),直接跳出循環(huán) int number,i,j=0,k; printf(請(qǐng)輸入一個(gè)正整數(shù):); scanf(%d, k=sqrt(number); for(i=number;j void main() int a,k,i,p; printf(請(qǐng)輸入一個(gè)正整數(shù):); scanf(%d, for(p=a+1;p+) k=sqrt(p); for(i=2;ik) break; printf(第一個(gè)素?cái)?shù)是:%

15、dn,p); (5)可以選擇性的打印出:矩形、等腰三角形、直角三角形、梯形(提示:switch語(yǔ)句與for語(yǔ)句的結(jié)合使用,switch語(yǔ)句用于判斷選擇的圖形,for循環(huán)用于圖形的實(shí)現(xiàn))。 void main() int i,j,k; scanf(%d, switch(i) case 1:for(k=0;k void main() int i,j,k,n; printf(水仙花數(shù)是:); for(n=100;n=1e-5); printf(方程根%6.2fn,x); (11)一個(gè)孤島上,有一只猴子和一堆桃子,這只猴子每天吃桃子的一半多一個(gè),第十天,只剩下一個(gè),問(wèn)共有多少個(gè)桃子。 void mai

16、n() int i,total=1; for(i=2;i void main() double a10; int i; double b10; for(i=0;i void main() int a11,i,j,temp,t,n=0; for(i=0;iaj+1) temp=aj; aj=aj+1; aj+1=temp; for(i=0;i=0;i-) ai+1=ai; a0=t; else for(i=9;i=0;i-) if(ait) else break; ai+1=t; for(i=0;it) break; for(j=i;j main() int m,n,s,i,count,k,ar

17、ray100; scanf(%3d, printf(nFrom which to countn); scanf(%3d, printf(nHow shall I countn); scanf(%3d, for(i=1; icount) k=k-count; printf(%7d,arrayk); /if(n-count+1)%10=0) / printf(n); if(k!=count) for(i=k;i void fun1(int a); void fun2(int a); void fun3(int a); void fun1(int a) a+; printf(%dn,a); fun2

18、(a); void fun3(int a) a+; printf(%dn,a); void fun2(int a) a+; printf(%dn,a); fun3(a); void main() int a=1; fun1(a); printf(%dn,a); #include void fun1(int a); void fun2(int a); void fun3(int a); void fun1(int a) a+; printf(%dn,a); fun2(a); void fun3(int a) a+; printf(%dn,a); void fun2(int a) a+; prin

19、tf(%dn,a); fun3(a); void main() int a=1; fun1(a); printf(%dn,a); (2)從鍵盤(pán)上輸入15個(gè)浮點(diǎn)數(shù),求出其和及平均值。要求寫(xiě)出求和及求平均值的函數(shù)。(提示:15個(gè)浮點(diǎn)數(shù)用數(shù)組來(lái)存儲(chǔ),數(shù)組X作為參數(shù)將這15個(gè)數(shù)傳遞給函數(shù)sum。) #include void sum(float b) int i; for(i=0;i #include void inverse(char s) int length,i; char t; length=strlen(s); for(i=0;i #include void main() int ten,e

20、ight,k=0,i=0; int s30; int t30; int len; printf(請(qǐng)輸入十進(jìn)制數(shù):n); scanf(%d, do si=ten%2; ten=ten/2; i+; while(ten!=0); len=i-1; printf(轉(zhuǎn)換后的二進(jìn)制數(shù)是:n); while(i-1)=0) printf(%d,si-1); i-; printf(n); printf(八進(jìn)制數(shù)是:n); for(i=0;i=0) printf(%d,tk); k-; printf(n); (8)編寫(xiě)一個(gè)函數(shù)digit(n,k),它回送數(shù)n的從右邊開(kāi)始的第k個(gè)數(shù)字的值。例如 digit(15469,3)=4,digit(123,4)=0。 (提示:要求輸出一個(gè)數(shù)從右邊開(kāi)始的第k個(gè)數(shù)字的

溫馨提示

  • 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)論