完整版程序設(shè)計(jì)基礎(chǔ)試驗(yàn)內(nèi)容文檔良心出品_第1頁
完整版程序設(shè)計(jì)基礎(chǔ)試驗(yàn)內(nèi)容文檔良心出品_第2頁
完整版程序設(shè)計(jì)基礎(chǔ)試驗(yàn)內(nèi)容文檔良心出品_第3頁
完整版程序設(shè)計(jì)基礎(chǔ)試驗(yàn)內(nèi)容文檔良心出品_第4頁
完整版程序設(shè)計(jì)基礎(chǔ)試驗(yàn)內(nèi)容文檔良心出品_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)一 Visual C+6.0開發(fā)環(huán)境使用1. 實(shí)驗(yàn)?zāi)康?1) 熟悉Visual C+6.0集成開發(fā)環(huán)境.(2) 掌握C語言程序的書寫格式和C語言程序的結(jié)構(gòu).(3) 掌握C語言上機(jī)步驟,了解C程序的運(yùn)行方法.(4) 能夠熟練地掌握 C語言程序的調(diào)試方法和步驟2. 實(shí)驗(yàn)內(nèi)容輸入如下程序,實(shí)現(xiàn)兩個(gè)數(shù)的乘積.#include (stdio.h);int main()x=10 , y=20 p=prodct(x,t) printf(The product is : ,p) int prodct(int a ,int b ) int c c=a*b return c(1) 在編輯狀態(tài)下照原樣鍵

2、入上述程序.(2) 編譯并運(yùn)行上述程序,記下所給出的出錯(cuò)信息.(3) 再編譯執(zhí)行糾錯(cuò)后的程序.如還有錯(cuò)誤,再編輯改正,直到不出現(xiàn)語法錯(cuò)誤為止.3. 分析與討論(1) 記下在調(diào)試過程中所發(fā)現(xiàn)的錯(cuò)誤、系統(tǒng)給出的出錯(cuò)信息和對策.分析討論成功或失敗 的原因.(2) 總結(jié)C程序的結(jié)構(gòu)和書寫規(guī)那么.實(shí)驗(yàn)二數(shù)據(jù)類型、運(yùn)算符和表達(dá)式1 .實(shí)驗(yàn)?zāi)康?1) 理解常用運(yùn)行符的功能、優(yōu)先級和結(jié)合性.(2) 熟練掌握算術(shù)表達(dá)式的求值規(guī)那么.(3) 熟練使用賦值表達(dá)式.(4) 理解自加、自減運(yùn)算符和逗號運(yùn)算符(5) 掌握關(guān)系表達(dá)式和邏輯表達(dá)式的求值(1) 整數(shù)相除#includeint main()(int a=5,b=

3、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) 自加、自減運(yùn)算#includeint 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) 關(guān)系運(yùn)算和邏輯運(yùn)算#includeint 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=

4、c);printf(%d,%dn,a=c,a=b|b=c);printf(%d,%d,%d,%dn,!(a=b),!(a=b),!(a=c),!(a=b);return 0;(1) 在編輯狀態(tài)下輸入上述程序.(2) 編譯并運(yùn)行上述程序.3.分析與討論(1) 整數(shù)相除有什么危險(xiǎn)應(yīng)如何預(yù)防這種危險(xiǎn)(2) 分析a+和+a的區(qū)別.(3) 條件表達(dá)式和邏輯表達(dá)式的意義是什么,它們?nèi)≈等绾?4) 如何比較兩個(gè)浮點(diǎn)數(shù)相等為什么實(shí)驗(yàn)三 格式化輸入輸出函數(shù)的使用(1) 掌握格式字符使用的方法.(2) 掌握printf()進(jìn)行格式化輸出的方法.(3) 掌握scanf()進(jìn)行格式化輸入的方法.2. 實(shí)驗(yàn)內(nèi)容(1)

5、輸入如下程序,觀察運(yùn)行結(jié)果#includeint main()int x=1234;float f=123.456;double m=123.456;char ch=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%2.5sn%.3sn,a,a,a,a,a);

6、return 0;(2) 輸入下面程序,觀察調(diào)試信息#includeint 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,%lf,&x,&y);printf(%f,%lfn,x,y);return 0;(1) 在VC+6.0集成開發(fā)環(huán)境中輸入上述程序,觀察調(diào)試結(jié)果.(2) 如果有錯(cuò)誤,請修改程序中的錯(cuò)誤.3. 分析與討論(1) 分析程序

7、錯(cuò)誤及運(yùn)行結(jié)果錯(cuò)誤的原因.(2) 總結(jié)printf()中可使用的各種格式字符.(3) 總結(jié)轉(zhuǎn)移字符的使用和功能.實(shí)驗(yàn)四分支結(jié)構(gòu)程序設(shè)計(jì)1 .實(shí)驗(yàn)?zāi)康?1) 了解條件與程序流程的關(guān)系(2) 了解用不同的數(shù)據(jù)使程序的流程覆蓋不同的語句、分支和路徑.(3) 掌握if 語句和if else 語句的用法(4) 掌握switch 語句的用法2. 實(shí)驗(yàn)內(nèi)容1 .從鍵盤上輸入三個(gè)數(shù),讓它們代表三條線段的長度,請寫一個(gè)判斷這三條線段所組成的 三角形屬于什么類型(不等邊,等腰,等邊或不構(gòu)成三角形)的 C程序.請分別設(shè)計(jì)以下 數(shù)據(jù)對自己的程序進(jìn)行測試:(1) 找出各條語句中的錯(cuò)誤.(2) 找出各分支中的錯(cuò)誤.(3)

8、 找出各條件中的錯(cuò)誤.(4 )找出各種條件組合中的錯(cuò)誤.(5 )找出各條路徑中的錯(cuò)誤.2. 用scanf函數(shù)輸入一個(gè)百分制成績(整型量),要求輸出成績等級 A, B, C, D, E. 其中90-100 分為A, 80-89 分為B, 70-79 分為C, 60-69 分為D, 60分以下為 E.具 體要求如下:(1) 用if語句實(shí)現(xiàn)分支或switch 分支.(2) 在輸入百分制成績前要有提示.(3) 在輸入百分制成績后,要判斷該成績的合理性,對于不合理的成績(即大于100 分或小于0分)應(yīng)輸出出錯(cuò)信息.(4) 在輸出結(jié)果中應(yīng)包括百分制成績與成績等級,并要有文字說明.(5) 分別輸入百分制成績

9、:-90 , 100 , 90 , 85 , 70 , 60 , 45 , 101 ,運(yùn)行該程序.3. 編程找出5個(gè)整數(shù)中的最大數(shù)和最小數(shù),并輸出找到的最大數(shù)和最小數(shù).3. 分析與討論(1) 總結(jié)分支程序設(shè)計(jì)的方法.(2) 復(fù)合語句的使用.(3) switch語句的本卷須知.實(shí)驗(yàn)五循環(huán)結(jié)構(gòu)程序設(shè)計(jì)1 .實(shí)驗(yàn)?zāi)康?1) 掌握在程序設(shè)計(jì)條件型循環(huán)結(jié)構(gòu)時(shí),如何正確地設(shè)定循環(huán)條件,以及如何限制循環(huán)的 次數(shù).(2) 了解條件型循環(huán)結(jié)構(gòu)的根本測試方法.(3) 掌握如何正確地限制計(jì)數(shù)型循環(huán)結(jié)構(gòu)的次數(shù).(4) 了解對計(jì)數(shù)型循環(huán)結(jié)構(gòu)進(jìn)行測試的根本方法.(5) 了解在嵌套循環(huán)結(jié)構(gòu)中,提升程序效率的方法.(1) 輸

10、入一個(gè)正整數(shù),并將其顛倒過來.如 12345對應(yīng)為54321.(2) 將一個(gè)長整型數(shù)s的每一位數(shù)位上的偶數(shù)依次取出來,構(gòu)成一個(gè)新的數(shù)t中,高位仍 在高位,低位仍在低位,例如: s=87653142 時(shí),t中的數(shù)為:8642 .(3) 判斷101200之間有多少個(gè)素?cái)?shù).(4) 編寫程序,輸出楊輝三角.3.分析與討論(1) 總結(jié)條件循環(huán)結(jié)構(gòu)的一般方法.(2 )如何測試計(jì)數(shù)型循環(huán)結(jié)構(gòu)的限制表達(dá)式中的錯(cuò)誤(3) 從實(shí)驗(yàn)中你得到了哪些提升嵌套循環(huán)程序效率的啟示實(shí)驗(yàn)六函數(shù)1 .實(shí)驗(yàn)?zāi)康?1) 掌握C語言函數(shù)定義及調(diào)用的規(guī)那么.(2) 理解參數(shù)傳遞的過程.(3) 掌握函數(shù)返回值的大小和類型確定的方法.(4)

11、 理解變量的作用范圍2. 實(shí)驗(yàn)內(nèi)容(1) 上機(jī)調(diào)試下面的程序,記錄系統(tǒng)給出的出錯(cuò)信息,并指出出錯(cuò)原因.#includeint main()int x,y;printf(%dn,sum(x+y);int sum(a,b)int a,b;return(a+b);return 0;(2) 編寫一個(gè)程序,輸入系數(shù)a、b、c,求一兀二次方程 ax2 +bx + c = 0的根,包括主函數(shù)和如下函數(shù).判斷a是否為零.計(jì)算判別式b2 -4ac計(jì)算根.輸出根.(3) 輸入下面程序,分析運(yùn)行結(jié)果#includeint func (int ,int );int main () int k=4,m=1,p1,p2;

12、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í)驗(yàn)內(nèi)容寫出相應(yīng)的參數(shù)傳遞過程并分析結(jié)果.(2) 函數(shù)在定義時(shí)要注意什么(3) 討論靜態(tài)局部變量的繼承性實(shí)驗(yàn)七數(shù)組及其應(yīng)用1 .實(shí)驗(yàn)?zāi)康?1) 掌握數(shù)組定義的規(guī)那么.(2) 掌握C語言數(shù)組的根本用法.(3) 掌握數(shù)組名作為函數(shù)參數(shù)傳遞的方法2. 實(shí)驗(yàn)內(nèi)容(1) 運(yùn)行下面的C程序,根據(jù)運(yùn)行結(jié)果,可以說明什么#includ

13、e int main()int num5=1,2,3,4,5;inti i;for(i=0;i=5;i+)printf(%d ,numi);return 0;(2) 為一個(gè)冒泡排序程序設(shè)計(jì)測試用例,并測試之.(3) 操作符&用以求一個(gè)變量的地址,這在函數(shù)scanf中已經(jīng)使用過了.現(xiàn)在要你設(shè)討個(gè)程序,返回一個(gè)3 X 5的二維數(shù)組各元素的地址,并由此說明二維數(shù)組中各元素是按什么順序存儲的.3. 分析與討論(1) 通過實(shí)驗(yàn),分析定義與引用數(shù)組的區(qū)別.(2) 數(shù)組的作用是什么(3) 數(shù)組名作為參數(shù)有什么特點(diǎn)實(shí)驗(yàn)八指針及其應(yīng)用1. 實(shí)驗(yàn)?zāi)康?1) 掌握變量的指針及其根本用法.(2) 掌握一維數(shù)組的指針及

14、其根本用法.(3) 掌握指針變量作為函數(shù)的參數(shù)時(shí),參數(shù)的傳遞過程及其用法.2. 實(shí)驗(yàn)內(nèi)容(1) 對以下程序進(jìn)行運(yùn)行,并從中了解變量的指針和指針變量的概念.# include int main()(int a=5,b=5,*p;p=&a;printf(%d ,%udn,a,p);*p=8;printf(%d ,%udn,a,p);p=&b;printf(%d ,%udn,a,p);b=10;printf(%d ,%udn,a,p);return 0;(2) 運(yùn)行以下程序,觀察 &a0 , &ai) 和p的變化,然后答復(fù)以下問題:1) 序的功能是什么2) 在開始進(jìn)入循環(huán)體之前,p指向誰3) 循環(huán)每

15、增加一次,p的值(地址)增加多少它指向誰4) 退出循環(huán)后,p指向誰5) 你是否初步掌握了通過指針變搔引用數(shù)組元素的方法# include int main()(int i,*p,s=0,a5=5,6,7,8,9;p=a;for(i=0;i5;i+,p+)s+=*p;printf(s=%dn,s);return 0;(3) 先分析以下程序的運(yùn)行結(jié)果,然后上機(jī)驗(yàn)證,并通過此例掌握通過指針變量引用 數(shù)組元素的各種方法.#include int main()(int i,s1=0, s2=0, s3=0, s4=0,*p,a5=1,2,3,4,5;p=a;for(i=0;i5;i+)s1+=pi;fo

16、r(i=0;i5;i+)s2+=*(p+i);for(p=a;pa+5;p+)s3+=*p;p=a;for(i=0;i5;i+)s4+=*p+;printf(n s1=%d, s2=%d, s3=%d, s4=%d,s1,s2,s3,s4);return 0;(4) 編寫函數(shù),將 n個(gè)數(shù)按原來的順序的逆序排列(要求用指針實(shí)現(xiàn)) ,然后編寫主 函數(shù)完成:1) 輸入10個(gè)數(shù);2) 調(diào)用此函數(shù)進(jìn)行重排;3) 輸出重排后的結(jié)果.3.分析與討論(1) 指針的定義方法,指針和變量的關(guān)系.(2) 數(shù)組和指針的關(guān)系.實(shí)驗(yàn)九結(jié)構(gòu)體及其應(yīng)用1 .實(shí)驗(yàn)?zāi)康?1) 掌握結(jié)構(gòu)體類型變量與結(jié)構(gòu)體數(shù)組的定義和使用.(2)

17、學(xué)會(huì)使用結(jié)構(gòu)體指針變量和結(jié)構(gòu)體指針數(shù)組.(3) 掌握鏈表的概念,初步學(xué)會(huì)對鏈表進(jìn)行操作.2. 實(shí)驗(yàn)內(nèi)容(1)輸入出10個(gè)學(xué)生的學(xué)號、姓名和成績,求出其中的高分者和低分者.#include struct studentint num;char name20;int score;int main()int i;struct student st,stmax,stmin;stmax.score=0; stmin.score=100;printf(n input data);for(i=0;istmax.score)stmax=st;if(st.scorestmin.score)stmin=st;pr

18、intf(n hight:%5d%15s%5d,stmax.num,,stmax.score);printf(n low:%5d%15s%5d,stmin.num,,stmin.score);return 0;1) 分析程序,上機(jī)運(yùn)行程序.2) 程序中,哪些是對結(jié)構(gòu)體變量的成員引用,哪些是整體引用3) 對于此例來說,用結(jié)構(gòu)體變量作為數(shù)據(jù)結(jié)構(gòu)有何優(yōu)越性(2) 有一學(xué)生情況如下表所示.編制一個(gè)C程序,用冒泡法對該學(xué)生情況表按成績(grade )從低到高進(jìn)行排序.學(xué)號姓名性別年齡成績101ZhangM1995.6102wangF1892.2103zhaoM19

19、85.7104liM2096.3105GaoM1990.2106LinM1891.2107MaF1898.7108ZhenM2188.7109XuM1990.1110MaoF2294.7具體要求如下:1結(jié)構(gòu)體類型為struct studentint num;char name8;char sex;int age;double grade;2在程序中用一個(gè)結(jié)構(gòu)體指針數(shù)組,其中每一個(gè)指針元素指向結(jié)構(gòu)體類型的各元素.3在程序中,首先輸出排序前的學(xué)生情況,然后輸出排序后的結(jié)果,其格式如上表所示.3鏈表根本操作,具體要求如下 :1初始時(shí)鏈表為空,即鏈表的頭指針為空.2) 對于上表所示的學(xué)生情況表,依次將

20、每個(gè)學(xué)生的情況作為一個(gè)結(jié)點(diǎn)插入到單鏈表的鏈頭(即當(dāng)前插入的結(jié)點(diǎn)將成為第一個(gè)結(jié)點(diǎn)).3) 所有學(xué)生情況都插入到鏈表中后,從鏈頭開始,依次輸出鏈表中的各結(jié)點(diǎn)值 (即每個(gè)學(xué)生的情況).輸出格式如同上表.3. 分析與討論(1) 結(jié)構(gòu)體的作用,如何進(jìn)行初始化(2) 如何訪問結(jié)構(gòu)體中的成員.(3) 鏈表有什么優(yōu)點(diǎn)實(shí)驗(yàn)十文件1 .實(shí)驗(yàn)?zāi)康?1) 掌握文件與文件指針的概念.(2) 學(xué)會(huì)使用文件翻開、文件關(guān)閉、讀與寫文件等根本的文件操作函數(shù).(3) 運(yùn)用文件操作函數(shù)進(jìn)行程序設(shè)計(jì).2.實(shí)驗(yàn)內(nèi)容(1)以文本方式建立初始數(shù)據(jù)文件,請輸入 10個(gè)學(xué)生的學(xué)號、姓名及測試成績,形 式如下:1001 LiLi 801002

21、HuWei 901003 LiMing 75讀入file1.dat中的數(shù)據(jù),找出最高分和最低度分的學(xué)生.#include struct studentint num;char name20;int score;int main()int i;struct student st,stmax,stmin;FILE *fp;stmax.score=0; stmin.score=100;fp=fopen(file1.dat,r);if(!fp) return 1;for(i=0;istmax.score)stmax=st;if(st.scorestmin.score)stmin=st;fclose(f

22、p);printf(hight:%5d%15s%5d,stmax.num,,stmax.score);printf(nlow:%5d%15s%5d,stmin.num,,stmin.score);return 0;1) 分析程序,上機(jī)運(yùn)行程序并分析運(yùn)行結(jié)果.2) 如果事先不知道學(xué)生個(gè)數(shù),那么程序應(yīng)該如何修改請將以上程序中的循環(huán)語句for(i=0;i10;i+)改為(while(!feof(fp)再運(yùn)行程序,看結(jié)果是否正確(2)讀入file2.dat中的數(shù)據(jù),然后按成績從高到低度的順序進(jìn)行排序,并將排序結(jié)果分別以文本方式存入到文件file3.dat中,以二進(jìn)制形式存入文件file4.dat 中.#include struct studentint num;char name20;int score;void sort(struct student *,int);int main()int i,n=10;struct student st10;FILE *fp,*fp1,*fp2;fp=fopen(fi

溫馨提示

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

評論

0/150

提交評論