c程序設計實驗手冊_第1頁
c程序設計實驗手冊_第2頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 12/12c程序設計實驗手冊 前言 實驗一C程序的運行環(huán)境 實驗二數(shù)據(jù)類型、運算符和表達式 1、實驗目的 通過本次實驗要求學生掌握以下知識: (1)熟悉數(shù)據(jù)和運算符的基本概念 (2)掌握數(shù)據(jù)類型、常量、變量的概念,以及常量、變量的定義方法(3)熟練地應用常量、變量和運算符構(gòu)成表達式,對數(shù)據(jù)進行處理2、實驗步驟 (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)編寫程序?qū)崿F(xiàn)以下問題 1、求任意兩個數(shù)的加法、減法、乘法、除法 2、編寫一個程序?qū)ⅰ癐 love you”這個字符串進行加密,密碼規(guī)律自定義。(可參照愷撒密碼的方式) 實驗三順序程序設計 1、實驗目的 通過本次實驗要求學生掌握以下知識: (1)能讀懂簡單的程序,并對順序程序設計有初步的認識 (2)可以編寫簡單的順序程序 (3)通過上機調(diào)試,了解順序程序設計中常見的錯誤,掌握基本的調(diào)試技術(shù)(逐步分析程序)。 2、實驗步驟 (1)已知攝氏溫度與華氏溫度的換算公式 C=5/9(F-32)

3、編寫一個程序求華氏溫度為30,70,100。 #include void main() float f; float c; scanf(%f, c=(f-32)*5/9; printf(%fn,c); (2)已知地球半徑為6371.0km,編寫一個程序計算地球表面積的近似值,并打印輸出地球的半徑、的近似值、地球的表面積。 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、編寫一個程序讀入a,b,c的值,計算出面積F,并輸出三條邊及面積的值。(開平方根函數(shù)為sqrt,在math.h文件中) #include void main() float r,h,l,s,ss,v; printf(請輸入圓半徑:); scanf(%f, scanf(%f, l=2*PI*r; s=PI*r*r; ss=4*s; v=PI*r*r*h; printf(圓的面積為:%.2fn,s); printf(圓的周長為:%.2fn,l); printf(圓球的表面積為:%.2fn,ss); printf(圓柱的體積為:%.2fn,v); (5)分析下列程序的結(jié)果,并看懂程序。#includ

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

6、(逐步分析程序)。 2、實驗步驟 (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)編寫一個按月收入額計個人收入調(diào)節(jié)稅的應用程序。 記稅公式如下: 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(請輸

7、入體重(公斤)); scanf(%f, printf(請輸入身高(米)); 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ù),則沒有叫聲。(提示:程序中定義了一個宏BEEP,當程序中遇到BEEP,便用printf(a);替換,方法如下:) #define BEEP printf(a);/使用switch case 語句實現(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)編寫整數(shù)加減乘除計算器。(比如:你依次輸入1+2,計算機會自動進行判別,運算出結(jié)果。)/使用switch case 語句實現(xiàn) 參考程序如下,請完善后執(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,運算符,操作數(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 運算符錯誤!); 實驗五循環(huán)控制程序設計 1、實驗目的 (1)熟悉掌握用while語句、do-while語句和for語句實現(xiàn)循環(huán)的方法。 (2)掌握在程序設計中用循環(huán)的方法實現(xiàn)一些常用算法(如窮舉、迭代、遞推等)(3)進一步學習調(diào)試程序。 2、實驗步驟 (1)For 循環(huán)基礎專項練習,從下列實例中體會For循環(huán)的用法 . 求110這十個數(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)保證運算是在非素數(shù)的情況下計算,內(nèi)循環(huán)用來計算素數(shù),一旦找到因子肯定不是素數(shù),直接跳出循環(huán) int number,k,i,p=0;/p為邏輯值,如果是素數(shù)p!=0 printf(請輸入一個正整數(shù):); scanf(%d, k=sqrt(number); for(i=2;ik) p=1; else number+; printf(第一

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

15、dn,p); (5)可以選擇性的打印出:矩形、等腰三角形、直角三角形、梯形(提示:switch語句與for語句的結(jié)合使用,switch語句用于判斷選擇的圖形,for循環(huán)用于圖形的實現(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)一個孤島上,有一只猴子和一堆桃子,這只猴子每天吃桃子的一半多一個,第十天,只剩下一個,問共有多少個桃子。 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)從鍵盤上輸入15個浮點數(shù),求出其和及平均值。要求寫出求和及求平均值的函數(shù)。(提示:15個浮點數(shù)用數(shù)組來存儲,數(shù)組X作為參數(shù)將這15個數(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(請輸入十進制數(shù):n); scanf(%d, do si=ten%2; ten=ten/2; i+; while(ten!=0); len=i-1; printf(轉(zhuǎn)換后的二進制數(shù)是:n); while(i-1)=0) printf(%d,si-1); i-; printf(n); printf(八進制數(shù)是:n); for(i=0;i=0) printf(%d,tk); k-; printf(n); (8)編寫一個函數(shù)digit(n,k),它回送數(shù)n的從右邊開始的第k個數(shù)字的值。例如 digit(15469,3)=4,digit(123,4)=0。 (提示:要求輸出一個數(shù)從右邊開始的第k個數(shù)字的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論