《南京信息工程大學2014年C語言程序設計實驗內容(全部)(共12頁).doc》由會員分享,可在線閱讀,更多相關《南京信息工程大學2014年C語言程序設計實驗內容(全部)(共12頁).doc(12頁珍藏版)》請在匯文網上搜索。
1、精選優(yōu)質文檔-傾情為你奉上實驗指導實驗一 Visual C+6.0開發(fā)環(huán)境使用1實驗目的(1)熟悉Visual C+6.0集成開發(fā)環(huán)境。(2)掌握C語言程序的書寫格式和語言程序的結構。(3)掌握C語言上機步驟,了解C程序的運行方法。(4)能夠熟練地掌握C語言程序的調試方法和步驟2. 實驗內容輸入如下程序,實現(xiàn)兩個數(shù)的乘積。#include (stdio.h);int main()x=10,y=20p=prodct(x,t)printf(“The product is :”,p)int prodct(int a ,int b )int c c=a*breturn c(1)在編輯狀態(tài)下照原樣鍵入上
2、述程序。(2)編譯并運行上述程序,記下所給出的出錯信息。(3)再編譯執(zhí)行糾錯后的程序。如還有錯誤,再編輯改正,直到不出現(xiàn)語法錯誤為止。3分析與討論(1)記下在調試過程中所發(fā)現(xiàn)的錯誤、系統(tǒng)給出的出錯信息和對策。分析討論成功或失敗的原因。(2)總結程序的結構和書寫規(guī)則。 實驗二 數(shù)據類型、運算符和表達式1實驗目的(1)理解常用運行符的功能、優(yōu)先級和結合性。(2)熟練掌握算術表達式的求值規(guī)則。(3)熟練使用賦值表達式。(4)理解自加、自減運算符和逗號運算符(5)掌握關系表達式和邏輯表達式的求值2實驗內容(1)整數(shù)相除#include<stdio.h>int main()int
3、a=5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/b;f=c/b*a;printf("d=%d , e=%d ,f=%dn",d,e,f);return 0;(2)自加、自減運算#include<stdio.h>int main()int a=5,b=8;printf("a+=%dn",a+);printf("a=%dn",a);printf("+b=%dn",+b);printf("b=%dn",b);return 0;(3)關系運算和邏輯運算#include&l
4、t;stdio.h>int main()int a=5,b=8,c=8;printf("%d,%d,%d,%dn",a=b&&a=c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c);printf("%d,%dn",a<=b|a>=c,a=b|b=c);printf("%d,%d,%d,%dn",!(a=b),!(a>=b),!(a>=c),!(a<=b);return 0;(1)在編輯狀態(tài)下輸
5、入上述程序。(2)編譯并運行上述程序。3分析與討論(1)整數(shù)相除有什么危險?應如何避免這種危險?(2)分析a+和+a的區(qū)別。(3)條件表達式和邏輯表達式的意義是什么,它們取值如何?(4)如何比較兩個浮點數(shù)相等?為什么?實驗三 格式化輸入輸出函數(shù)的使用1實驗目的(1)掌握格式字符使用的方法。(2)掌握printf()進行格式化輸出的方法。(3)掌握scanf()進行格式化輸入的方法。2實驗內容(1)輸入如下程序,觀察運行結果#include<stdio.h>int main() int x=1234; float f=123.456;double m=123.456; char ch
6、='a' char a="Hello,world!"int y=3,z=4; printf("%d %dn",y,z); printf("y=%d , z=%dn",y,z); printf("%8d,%2dn",x,x); printf("%f,%8f,%8.1f,%.2f,%.2en",f,f,f,f,f);printf("%lfn",m); printf("%3cn",ch); printf("%sn%15sn%10.5sn
7、%2.5sn%.3sn",a,a,a,a,a);return 0;(2)輸入下面程序,觀察調試信息#include<stdio.h>int main()double x,y;char c1,c2,c3;int a1,a2,a3;scanf("%d%d%d",a1,a2,a3);printf("%d,%d,%dn",a1,a2,a3);scanf("%c%c%c",&c1,&c2,&c3);printf("%c%c%cn",c1,c2,c3);scanf("%f
8、,%lf",&x,&y);printf("%f,%lfn",x,y);return 0;(1)在VC+6.0集成開發(fā)環(huán)境中輸入上述程序,觀察調試結果。(2)如果有錯誤,請修改程序中的錯誤。3分析與討論(1)分析程序錯誤及運行結果錯誤的原因。(2)總結printf()中可使用的各種格式字符。(3)總結轉移字符的使用和功能。實驗四 分支結構程序設計1實驗目的(1)了解條件與程序流程的關系(2)了解用不同的數(shù)據使程序的流程覆蓋不同的語句、分支和路徑。(3)掌握if語句和if else語句的用法(4)掌握switch語句的用法2實驗內容1從鍵盤上輸入三個數(shù)
9、,讓它們代表三條線段的長度,請寫一個判斷這三條線段所組成的三角形屬于什么類型(不等邊,等腰,等邊或不構成三角形)的C程序。 請分別設計下列數(shù)據對自己的程序進行測試:(1)找出各條語句中的錯誤。(2)找出各分支中的錯誤。(3) 找出各條件中的錯誤。(4) 找出各種條件組合中的錯誤。(5) 找出各條路徑中的錯誤。2.用scanf函數(shù)輸入一個百分制成績(整型量),要求輸出成績等級A,B,C,D,E。其中90-100分為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。具體要求如下:(1)用if語句實現(xiàn)分支或switch分支。(2)在輸入百分制成績
10、前要有提示。(3)在輸入百分制成績后,要判斷該成績的合理性,對于不合理的成績(即大于100分或小于0分)應輸出出錯信息。(4)在輸出結果中應包括百分制成績與成績等級,并要有文字說明。(5)分別輸入百分制成績:-90,100,90,85,70,60,45,101,運行該程序。3.編程找出5個整數(shù)中的最大數(shù)和最小數(shù),并輸出找到的最大數(shù)和最小數(shù)。3分析與討論(1)總結分支程序設計的方法。(2)復合語句的使用。(3)switch語句的注意事項。實驗五 循環(huán)結構程序設計1實驗目的(1)掌握在程序設計條件型循環(huán)結構時,如何正確地設定循環(huán)條件,以及如何控制循環(huán)的次數(shù)。(2)了解條件型循環(huán)結構的基本測試方法。
11、(3)掌握如何正確地控制計數(shù)型循環(huán)結構的次數(shù)。(4)了解對計數(shù)型循環(huán)結構進行測試的基本方法。(5)了解在嵌套循環(huán)結構中,提高程序效率的方法。2實驗內容(1)輸入一個正整數(shù),并將其顛倒過來。如12345對應為54321。(2)將一個長整型數(shù)s的每一位數(shù)位上的偶數(shù)依次取出來,構成一個新的數(shù)t中,高位仍在高位,低位仍在低位,例如:s=時,t中的數(shù)為:8642。(3)判斷101200之間有多少個素數(shù)。(4)編寫程序,輸出楊輝三角。3分析與討論(1)總結條件循環(huán)結構的一般方法。(2)如何測試計數(shù)型循環(huán)結構的控制表達式中的錯誤?(3)從實驗中你得到了哪些提高嵌套循環(huán)程序效率的啟示?實驗六 函數(shù)1實驗目的(
12、1)掌握C語言函數(shù)定義及調用的規(guī)則。(2)理解參數(shù)傳遞的過程。(3)掌握函數(shù)返回值的大小和類型確定的方法。(4)理解變量的作用范圍2實驗內容(1)上機調試下面的程序,記錄系統(tǒng)給出的出錯信息,并指出出錯原因。#include<stdio.h>int main()int x,y;printf(“%dn”,sum(x+y);int sum(a,b)int a,b;return(a+b);return 0;(2)編寫一個程序,輸入系數(shù)a、b、c,求一元二次方程的根,包括主函數(shù)和如下函數(shù)。j判斷a是否為零。k計算判別式l計算根。m輸出根。(3)輸入下面程序,分析運行結果#include<
13、;stdio.h>int func (int ,int );int main ( ) int k=4,m=1,p1,p2; p1=func(k,m) ; p2=func(k,m) ; printf("%d,%dn",p1,p2) ;return 0;int func (int a,int b) static int m=0,i=2; i+=m+1; m=i+a+b; return (m);3分析與討論(1)針對以上實驗內容寫出相應的參數(shù)傳遞過程并分析結果。(2)函數(shù)在定義時要注意什么?(3)討論靜態(tài)局部變量的繼承性?實驗七 數(shù)組及其應用1實驗目的(1)掌握數(shù)組定義的規(guī)
14、則。(2)掌握C語言數(shù)組的基本用法。(3)掌握數(shù)組名作為函數(shù)參數(shù)傳遞的方法2實驗內容(1)運行下面的C程序,根據運行結果,可以說明什么?#include <stdio.h>int main( ) int num5=1,2,3,4,5;inti i;for(i=0;i<=5;i+) printf(“%d ”,numi);return 0;(2)為一個冒泡排序程序設計測試用例,并測試之。(3)操作符&用以求一個變量的地址,這在函數(shù)scanf中已經使用過了?,F(xiàn)在要你設計一個程序,返回一個3 ×5 的二維數(shù)組各元素的地址,并由此說明二維數(shù)組中各元素是按什么順序存儲的。3分析與討論(1)通過實驗,分析定義與引用數(shù)組的區(qū)別。(2)數(shù)組的作用是什么?(3)數(shù)組名作為參數(shù)有什么特點?實驗八 指針及其應用1實驗目的(1)掌握變量的指針及其基本用法。(2)掌握一維數(shù)組的指針及其基本用法。(3)掌握指針變量作為函數(shù)的參數(shù)時,參數(shù)的傳遞過程及其用法。