C上機實驗指導(實驗一~實驗六)_第1頁
C上機實驗指導(實驗一~實驗六)_第2頁
C上機實驗指導(實驗一~實驗六)_第3頁
C上機實驗指導(實驗一~實驗六)_第4頁
C上機實驗指導(實驗一~實驗六)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設計 上機實驗指導 實驗 1 C語言程序初步一、實驗目的 (1)了解所用的計算機系統(tǒng)的基本操作方法,學會獨立使用該系統(tǒng)。 (2)了解在該系統(tǒng)上如何編輯、編譯、連接和運行一個C程序。 (3)通過運行簡單的C程序,初步了解C程序的特點。 二、實驗內容 1. 運行第一個C程序 將下列程序輸入visual c+ ,編譯、連接和運行該程序。 #include"stdio.h"int main() printf("The first C Programn"); return 0; 具體操作步驟 (1)在編輯窗口中輸入程序。 (2)保存程序,取名為 a1.c

2、。 (3)按照第一章中介紹的方法,編譯、連接和運行程序。 2. 編程實現(xiàn)計算a+b功能的程序。 由鍵盤輸入兩個整數(shù),計算并輸出兩個整數(shù)的和。實現(xiàn)該功能的程序如下, #include "stdio.h"int main() int a, b; scanf("%d%d", &a, &b); printf("%d", a + b); return 0; (1)在程序編輯窗口中輸入程序。 (2)保存程序,取名為 a2.c。 (3)按照第一章中介紹的方法,編譯、連接和運行程序。 (4)在程序運行過程中,輸入 15 30 (表示輸

3、入回車符) (5)如果看到如下輸出結果,則表明15+30 的結果正確,如果得不到如下結果,則需檢查并更正程序。 45 三、課后練習 1. 輸入并運行第一章的例題程序,熟悉調試C程序的方法與步驟。2. C語言源程序文件、目標文件和可執(zhí)行文件的擴展名是什么。3. 熟悉C語言程序的一般構成。4. 參照本章例題,編寫一個程序,輸出以下信息:* * How do you do! *5.編寫一個C程序,輸出下列圖案。* * * * * * * * * * *實驗 2 基本數(shù)據(jù)類型、運算和表達式一、實驗目的 (1)掌握C語言數(shù)據(jù)類型,熟悉如何定義一個整型和實型的變量,以及對它們賦值的方法。 (2)掌握不同的

4、類型數(shù)據(jù)之間賦值的規(guī)律。 (3)學會使用C的有關算術運算符,以及包含這些運算符的表達式,特別是自加(+)和自減(-)運算符的使用。 (4)進一步熟悉C程序的編輯、編譯、連接和運行的過程。 二、實驗內容 1. 變量的定義 下面給出一個可以運行的程序,但是缺少部分語句,請按右邊的提示補充完整缺少的語句。 #include "stdio.h" int main() /*定義整型變量 a和 b*/ /*定義實型變量i和 j*/ a=5; b=6; i=3.14; j=i*a*b; printf("a=%d,b=%d,i=%f,j=%fn", a, b, i, j

5、); return 0; 具體操作步驟 (1)將代碼補充完整; (2)在VC+上運行通過; 要求編寫一個程序,在顯示屏上顯示如下內容(全為半角字符,且不包括空格):C:ABC.TXT提示注意轉義字符在程序中的使用。參考程序:#include "stdio.h"int main()printf("C:ABC.TXTn"); return 0; 2. 賦值表達式與賦值語句 閱讀下面程序,寫出運行結果: #include "stdio.h"int main() float a; int b, c; char d, e; a=3.5; b=a

6、; c=330; d=c; e='141; printf("%f,%d,%d,%c,%cn", a,b,c,d,e); return 0; 運行結果為: 3.500000,3,330,J,a 提示賦值語句具有類型轉換的功能,但可能會改變數(shù)據(jù)。 3. 基本運算 閱讀下面程序,寫出運行結果: #include "stdio.h"int main() int a, b, c; float d=15, e, f; a=35%7; b=15/10; c=b+; e=15/10; f=d/10; printf("%d,%d,%d,%f,%f,%fn

7、", a,b,c,d,e,f); return 0; 運行結果為: 0,2,1,15.000000,1.000000,1.500000 提示除法分整除與普通除法之分。 三、課后練習 1. 輸入并運行第二章的例題程序,進一步熟悉調試C程序的方法與步驟。2.假設圓的半徑為radius=5,請按下面給定的步驟編程計算圓的周長和面積。1)定義變量radius、girth和area,分別用來表示圓的半徑、周長和面積。 2)給變量radius賦值。 3)計算圓的周長和面積,分別保存在變量girth和area中。 4)輸出該圓的半徑,周長和面積的值。實驗 3 基本輸入與輸出一、實驗目的 (1)熟練

8、掌握putchar、getchar、printf、scanf函數(shù)的使用方法。 (2)掌握各種類型數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉換符。 二、實驗內容 編程實現(xiàn)由鍵盤輸入一個字符后,在屏幕上輸出該字符。 第一組自測數(shù)據(jù) 鍵盤輸入 a 正確輸出 a 第二組自測數(shù)據(jù) 鍵盤輸入 + 正確輸出 +參考程序: #include "stdio.h" int main() char ch; ch = getchar(); putchar(ch); return 0; 題目 1127:計算加法 編程實現(xiàn)由鍵盤輸入一個加法式,輸出正確的結果。(兩個加數(shù)均為整數(shù)) 第一組自測數(shù)據(jù) 鍵盤

9、輸入 10+20 正確輸出 30 第二組自測數(shù)據(jù) 鍵盤輸入 -15+60 正確輸出 45 參考程序: #include "stdio.h" int main() int a, b; scanf("%d,%d", &a,&b); printf("%dn", a+b); return 0; 題目:求圓面積 由鍵盤輸入圓半徑r,請計算該圓的面積。(注:取3.14159,結果保留兩位小數(shù)位;另外,程序只要能對r在0 到10000 范圍的情況輸出正確答案即可) 第一組自測數(shù)據(jù) 鍵盤輸入 2 65.2 正確輸出 13355.02

10、第二組自測數(shù)據(jù) 鍵盤輸入 11.2 正確輸出 394.08 提示結果保留兩位小數(shù)可采用printf函數(shù)的格式控制字符來實現(xiàn)。 參考程序: #include "stdio.h" int main() float area,r; scanf("%f",&r); area=3.14159*r*r; printf("%0.2fn",area); return 0; 題目:計算攝氏溫度值 從鍵盤輸入一個華氏溫度值,要求按格式輸出其對應的攝氏溫度值,精確到小數(shù)點后兩位。 數(shù)學公式描述為: C=5*(F-32)/9第一組自測數(shù)據(jù) 鍵盤輸入

11、100 正確輸出 37.78 第二組自測數(shù)據(jù) 鍵盤輸入 100 正確輸出 37.78 提示注意公式中的除為普通除法。 參考程序: #include "stdio.h" int main() float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2fn",c); return 0; 題目:各個數(shù)字 從鍵盤輸入一個3位數(shù)的正整數(shù),要求先后輸出該數(shù)字的百位數(shù)字與個位數(shù)字,各占一行。第一組自測數(shù)據(jù) 第一組自測數(shù)據(jù)鍵盤輸入 鍵盤輸入 123 654正確輸出 正確輸出1 63 4 提示合

12、理使用整除與求模(即求余)運算。參考程序:#include "stdio.h"int main()int n,i,j;scanf("%d",&n);i=n/100;j=n%10;printf("%dn%dn",i,j); return 0;三、課后練習 1. 編寫程序,讀入一個字母,輸出與之對應的ASCII碼,輸入輸出都要有相應的文字提示。2. 編寫程序,輸入一個三位的正整數(shù),編程將該數(shù)的各位數(shù)字逆序輸出。例如,輸入258,則輸出852。3. 輸入一個小寫字母,編程將其轉換為大寫字母并輸出。實驗 4 選擇結構程序設計一、實驗目

13、的 (1)了解C語言表示邏輯的方法(以0代表“假” ,以非 0 代表“真” )。 (2)學會正確使用邏輯運算符和邏輯表達式。 (3)熟練掌握if語句和switch語句。 二、實驗內容 題目:數(shù)的排序 由鍵盤輸入三個整數(shù)a、b、c,按從小到大的順序輸出這三個數(shù)。 第一組自測數(shù)據(jù) 鍵盤輸入 65,45,90 正確輸出 45,65,90 第二組自測數(shù)據(jù) 鍵盤輸入 9,6,3 正確輸出 3,6,9 參考程序: #include "stdio.h"int main() int a,b,c,t; scanf("%d,%d,%d",&a,&b,&

14、;c); if(a>b) t=a;a=b;b=t; if(a>c) t=a;a=c;c=t; if(b>c) t=b;b=c;c=t; printf("%d,%d,%dn",a,b,c); return 0; 題目:字符變換 由鍵盤輸入5個字符,將其中的大寫字母變成小寫,其它類型的字符不變,并按輸入順序逐個輸出。 第一組自測數(shù)據(jù) 鍵盤輸入 ApPLe 正確輸出 apple 第二組自測數(shù)據(jù) 鍵盤輸入 a+B=5 正確輸出 a+b=5 提示下面代碼實現(xiàn)由鍵盤讀入一個字符,并按題意處理后輸出 char a; a=getchar(); if(a>='

15、A' && a<='Z') a=a+32; putchar(a); 現(xiàn)在,題目要求處理5個字符,怎么做呢?請自己思考 參考程序: #include "stdio.h"int main() char a,b,c,d,e; scanf("%c%c%c%c%c",&a,&b,&c,&d,&e); if(a<='Z'&&a>='A') a=a+32; if(b<='Z'&&b>

16、;='A') b=b+32; if(c<='Z'&&c>='A') c=c+32; if(d<='Z'&&d>='A') d=d+32; if(e<='Z'&&e>='A') e=e+32; printf("%c%c%c%c%cn",a,b,c,d,e); return 0; 題目:數(shù)的整除 由鍵盤輸入 5 個整數(shù),逐個判斷它們能否被 27 整除,能的輸出“YES”,不能的輸出“N

17、O”(注意,輸出時,一個判斷結果占一行,5個數(shù)的判斷共占 5行)。 第一組自測數(shù)據(jù) 鍵盤輸入 8 27 17577 325 54 正確輸出 NO YES YES NO YES 第二組自測數(shù)據(jù) 鍵盤輸入 8 127 128 77577 62 正確輸出 NO NO NO NO NO 提示整除即除得余數(shù)為0 參考程序: #include "stdio.h" int main() int a,b,c,d,e; scanf("%d %d %d %d %d",&a,&b,&c,&d,&e); if(a%27=0) printf

18、("YESn");else printf("NOn"); if(b%27=0) printf("YESn");else printf("NOn"); if(c%27=0) printf("YESn");else printf("NOn"); if(d%27=0) printf("YESn");else printf("NOn"); if(e%27=0) printf("YESn");else printf("

19、;NOn"); return 0; 題目:正負奇偶判斷 由鍵盤輸入非零整數(shù) x,判斷該數(shù)正負,正數(shù)輸出 positive,負數(shù)輸出 negative,接著判斷該數(shù)的奇偶性,奇數(shù)輸出odd,偶數(shù)輸出 even。 第一組自測數(shù)據(jù) 鍵盤輸入 -43 正確輸出 negative odd 第二組自測數(shù)據(jù) 鍵盤輸入 7 98 正確輸出 positive even 參考程序: #include "stdio.h" int main() int n; scanf("%d",&n); if(n<0) printf("negativen&q

20、uot;); else printf("positiven"); if(n%2=0) printf("evenn"); else printf("oddn"); return 0; 題目:判斷整數(shù)是否為平方數(shù) 由鍵盤輸入一個正整數(shù),判斷該數(shù)是否為平方數(shù),是輸出Y,否輸出N。 第一組自測數(shù)據(jù) 第二組自測數(shù)據(jù) 鍵盤輸入 鍵盤輸入36 18正確輸出 正確輸出Y N參考程序:#include"stdio.h"#include "math.h"int main()int a,b;scanf("%

21、d",&a);b=(int)sqrt(a);if(b*b=a) printf("Yn");else printf("Nn"); return 0; 題目:求數(shù)的位數(shù) 由鍵盤輸入一個不多于 9位的正整數(shù),要求輸出它是幾位數(shù)。 第一組自測數(shù)據(jù) 鍵盤輸入 349213 正確輸出 6 第二組自測數(shù)據(jù) 鍵盤輸入 10000 正確輸出 5 提示劃定一位數(shù)、二位數(shù)、九位數(shù)的范圍,然后用 if else if else語句實現(xiàn)判斷。 參考程序: #include <stdio.h>int main() int n,place; scanf(

22、"%ld",&n); if(n>99999999) place=9; else if(n>9999999) place=8; else if(n>999999) place=7; else if(n>99999) place=6; else if(n>9999) place=5; else if(n>999) place=4; else if(n>99) place=3; else if(n>9) place=2; else place=1; printf("%ldn",place); return

23、 0; 三、課后練習 1. 編寫程序實現(xiàn)一個簡單的計算器。要求從鍵盤輸入兩個數(shù)和一個運算符,輸出此運算符計算的結果。2.輸入4個整數(shù),編程按由小到大的順序輸出。 3.輸入112中的某個數(shù)字,編程輸出對應的英文月份的名稱。 4.計算個人工資所得稅的納稅額。3500元以內不納稅, 超過3500元的部分應為納稅部分。應納稅部分分段計稅,各段計稅方法如下:1)應納稅部分<=500,稅率為5% 2)500<應納稅部分<=2000,稅率為10% 3)5000<應納稅部分<=20000,稅率為20% 4)20000<應納稅部分,稅率為25% 實驗 5 循環(huán)結構程序設計(一

24、)一、實驗目的 (1)熟悉掌握用while語句、do-while語句和 for 語句實現(xiàn)循環(huán)的方法。 (2)掌握在程序設計中用循環(huán)實現(xiàn)一些常用算法(如窮舉、迭代、遞歸等)。 二、實驗內容 題目:計算階乘 輸入正整數(shù)n,計算 n!,結果用長整型數(shù)表示(注 n!=1*2*3*.*n) 第一組自測數(shù)據(jù) 鍵盤輸入 5 正確輸出 120 第二組自測數(shù)據(jù) 鍵盤輸入 8 正確輸出 40320 參考程序: #include"stdio.h"int main() long i,n=1,a; scanf("%ld",&a); for(i=1;i<=a;i+)

25、n=n*i; printf("%ldn",n); return 0; 題目:計算數(shù)列和 有數(shù)列1,3,5,7,9,11, 現(xiàn)要求由鍵盤輸入n,計算輸出該數(shù)列的前 n項和。 第一組自測數(shù)據(jù) 鍵盤輸入 2 正確輸出 4 第二組自測數(shù)據(jù) 鍵盤輸入 5 正確輸出 25 10 參考程序: #include<stdio.h> int main() long n,sum=0,i,t=1; scanf("%ld",&n); for(i=1;i<=n;i+) sum=sum+t; t=t+2; printf("%ldn",su

26、m); return 0; 題目:累加一行字符中的數(shù)字 由鍵盤輸入一行字符(總字符個數(shù)從1個至80 個均有可能,以回車符表示結束),將其中每個數(shù)字字符所代表的數(shù)值累加起來,輸出結果。 第一組自測數(shù)據(jù) 鍵盤輸入 abc123 正確輸出 6 第二組自測數(shù)據(jù) 鍵盤輸入 A6H7T+65 正確輸出 24 提示(1)可以使用下面程序段逐個讀入鍵盤輸入的一行字符 char ch; while(ch=getchar()!='n') (2)數(shù)字字符轉為對應的數(shù)值可用a=ch-'0' 參考程序: #include"stdio.h"int main() char

27、 c; int s=0,a; while(c=getchar()!='n') if(c>='0'&&c<='9') a=c-48; s=s+a; printf("s=%dn",s); return 0; 題目:求最大公約數(shù) 由鍵盤輸入兩個正整數(shù)m、n(m、n用長整數(shù)表示) ,計算它們的最大公約數(shù)。 第一組自測數(shù)據(jù) 鍵盤輸入 16,24 正確輸出 8 第二組自測數(shù)據(jù) 鍵盤輸入 17,25 正確輸出 1 提示公約數(shù)是既能整除m又能整除n的數(shù),題目要求滿足這一條件的最大的一個。 參考程序: #includ

28、e"stdio.h"int main() long r,m,n,temp; scanf("%ld,%ld",&m,&n); while(m!=0) r=n%m; n=m; m=r; printf("%ldn",n); return 0; 或 #include"stdio.h" int main() long m,n,t,i,s; scanf("%ld,%ld",&m,&n); t=m>n?n:m; for (i=t-1;i>=1;i-) if (m%i

29、=0&&n%i=0) s=i; break; printf("%dn",s); return 0; 題目:輸出最小值 從鍵盤輸入十個整數(shù),輸出最小值 自測數(shù)據(jù) 鍵盤輸入 12 45 76 87 5 87 43 55 99 21 正確輸出 5 13 參考程序: #include "stdio.h" int main() int i,t,min; scanf("%d", &min); for(i=1;i<10;i+) scanf("%d", &t); if(t<min) mi

30、n=t; printf("%dn",min); return 0; 題目:字符變換 由鍵盤輸入一個句子(總字符個數(shù)從 1個至 80 個均有可能,以回車符表示結束),將其中的大寫字符變成小寫(其它類型的字符不變),最后輸出變換后的句子。 第一組自測數(shù)據(jù) 鍵盤輸入 How Are You? 正確輸出 how are you? 第二組自測數(shù)據(jù) 鍵盤輸入 ThiS IS My fIrSt C ProgrAm! 正確輸出 this is my first c program! 12 參考程序: #include "stdio.h" int main() char

31、c; while(c=getchar()!='n') if(c>='A'&&c<='Z') c=c+32; putchar(c); printf(“n”); return 0; 題目:統(tǒng)計單詞個數(shù) 由鍵盤輸入一個句子(總字符個數(shù)從1 個至 80個均有可能,以回車符表示結束),以空格分割單詞,要求輸出單詞的個數(shù)。 第一組自測數(shù)據(jù) 鍵盤輸入 How Are You? 正確輸出 3 第二組自測數(shù)據(jù) 鍵盤輸入 There are many students and many trees! 正確輸出 7 參考程序: #inclu

32、de"stdio.h" int main() int i,num=0,word=0; char c; for(i=0;(c=getchar()!='n'i+) if(c=' ') word=0; else if(word=0) word=1; num+; printf("num:%dn",num); return 0; 三、課后練習 1. 我們國家現(xiàn)有人口13億,如果按每年1.5%的增長速度,10年后將有多少人。2.編寫一個程序,計算出1500之間滿足除以3余1,除以5余2,除以7余3的整數(shù)。 3.編寫一個程序,計算110

33、之間所有整數(shù)的平方和,并輸出結果。 4.編程輸出所有的水仙花數(shù)。所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如:153就是一個水仙花數(shù),因為153=13+53+33。實驗 6 循環(huán)結構程序設計(二)一、實驗目的 (1)進一步熟悉掌握用while語句、do-while語句和 for 語句實現(xiàn)循環(huán)的方法。 (2)掌握在程序設計中使用多重循環(huán)。 二、實驗內容 題目:打印菱形 由鍵盤輸入正數(shù)n,要求輸出2*n+1行的菱形圖案。要求菱形左邊緊靠屏幕左邊。第一組自測數(shù)據(jù) 鍵盤輸入 3 正確輸出 第二組自測數(shù)據(jù) 鍵盤輸入 6 正確輸出 參考程序: #include "stdio.h" #include "math.h" int main(

溫馨提示

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

評論

0/150

提交評論