C語言程序設計實訓教程_第1頁
C語言程序設計實訓教程_第2頁
C語言程序設計實訓教程_第3頁
C語言程序設計實訓教程_第4頁
C語言程序設計實訓教程_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設計實訓教程《C語言程序設計》實訓教學大綱

課程名稱:《C語言程序設計》適用專業(yè):計算機應用技術學時數(shù):40執(zhí)筆人:吳麗英編寫日期:2008年3月7日一、實訓項目名稱

《C語言程序設計實訓》

二、實訓目的

學習C語言程序設計課程要熟練地掌握程序設計的全過程,即獨立編寫出源程序,獨立上機編譯、調試程序,獨立運行程序并分析結果?!禖語言程序設計》是一門實踐性很強的課程,必須十分重視實踐環(huán)節(jié),保證足夠的上機實訓時間。通過上機實訓:

1、加深對理論講授內容的進一步理解;

2、熟悉計算機系統(tǒng)的操作方法;

3、掌握TurboC集成開發(fā)系統(tǒng)的使用,掌握上機調試程序的步驟和方法;

4、掌握一般程序開發(fā)的思想、方法和步驟。

三、實訓要求:

1、熟悉C語言的TubroC環(huán)境。熟練地進行C程序的錄入、調試和運行。

2、能夠使用C語言編寫基本的應用程序。準備好上機所需的程序,以提高上機效率。對程序中自己有疑問的地方,應作出記號,以便在上機時給予注意。

3、上機結束后,整理出實驗報告,實驗報告應包括以下內容:題目、程序清單、運行結果、對運行情況所作的分析以及本次調試程序取得的經(jīng)驗。

四、實訓內容安排和學時分配(共32學時)序號實訓項目學時實訓性質1TurboC2.0環(huán)境2驗證型2數(shù)據(jù)類型、運算符和表達式2驗證型3順序結構程序設計2設計型4選擇結構語句的使用2設計型5循環(huán)結構語句的使用2設計型6函數(shù)的應用4設計型7數(shù)組的應用6設計型8指針的應用6設計型9結構體2設計型10綜合實訓12綜合設計型合計40?C語言程序設計實訓教程全文共9頁,當前為第1頁。五、實驗內容、目的

項目一(2學時)

1、實訓項目名稱:

TurboC2.0環(huán)境

2、實訓類型:

驗證型

3、目的與任務

(1)了解在TC環(huán)境中如何編輯、編譯、連接和運行一個C程序

(2)通過運行簡單C程序,初步了解C程序的特點

4、內容與要求

內容:

(1)了解TC環(huán)境的組成

(2)進入、退出和定制TC環(huán)境

(3)學習上機操作全過程

①編輯一個新文件

按F10將亮條移到File處按回車鍵,再選New后按回車鍵(為簡化起見,以后用File→New的形式表示上述操作),出現(xiàn)子窗口,在其中輸入要創(chuàng)建的文件名,輸入文件名后按回車鍵,出現(xiàn)編輯窗口,在此窗口中輸入以下源程序。

#include<stdio.h>

voidmain()

{

printf(“ThisisaCProgram\n”);

}

②保存文件

按F10,選擇菜單File→Save,即可以保存當前文件到硬盤。

③編譯文件

按F10,選擇菜單Compile→Compiletoobj,就可以對程序進行編譯。在此過程中可能會出現(xiàn)錯誤信息,并進行修改,修改完后存盤再進行編譯,直至成功。

④運行文件

按FlO,選擇Run→Run命令運行文件。

⑤查看運行結果

按F10,選擇菜單Run→Userscreen即可以查看程序運行結果。注意:若編譯沒有成功,則程序不能運行;若編譯成功,則可以運行程序,但若運行結果不正確,則表明程序有邏輯錯誤,需要對程序進行調試和修改,直至程序運行結果正確。

注意:以后每次上機運行一個C程序都要經(jīng)過上述操作步驟①─⑤,因此,需要深刻理解和熟練掌握這些步驟。

(4)學會調入一個已存在的C源文件

按F10,選擇菜單File→Load,出現(xiàn)子窗口,在其中輸入已存在的文件名,按回車鍵后即可以調入一個已存在的文件。

(5)輸入課本p8-p11例1.3-1.5,并進行調試和運行。

在練習過程中,注意觀察C源程序的特點和構成。

要求:每個學生為一組,完成實訓之后寫出實訓報告

項目二(2學時)

1、實訓項目名稱:

數(shù)據(jù)類型、運算符和表達式

2、實訓類型:

驗證型

3、目的與任務

(1)掌握C語言數(shù)據(jù)類型,熟悉如何定義一個變量,以及對它們的賦值運算

(2)掌握不同類型數(shù)據(jù)間的賦值規(guī)律

(3)學會使用C的有關算術運算符,以及包含這些運算符的表達式

4、內容、要求與安排形式

內容:

C語言程序設計實訓教程全文共9頁,當前為第2頁。(1)輸入并運行下面程序

#include<stdio.h>

voidmain()

{inta,b;

unsignedc,d;

longe,f;

a=100;

b=-100;

e=50000;

f=32767;

c=a;

d=b;

printf("%d,%dn",a,b);

printf("%u,%un",a,b);

printf("%u,%un",c,d);

c=a=e;

d=b=f;

printf("%d,%dn",a,b);

printf("%u,%un",c,d);

}

請對照程序和運行結果分析:

1)將一個負整數(shù)賦給一個無符號的變量,會得到什么結果。

2)將一個大于32767的整數(shù)賦給整型變量,會得到什么結果。

3)將一個長整數(shù)賦給一個無符號的變量,會得到什么結果(分別考慮該長整數(shù)的值大于或等于65535以及小于65535的情況)。例如:a=65580,b=-40000,e=65535,f=65580

(2)下面的程序試圖計算由鍵盤輸入的任意兩個整數(shù)的平均值:

#include

main()

{

intx,y,a;

scanf("%d,%d,&x,&y);

a=(x+y)/2;

printf(“Theaverageis:”,a);

}

調試無語法錯誤后,分別使用下列測試用例對上述程序進行測試:

1)2,6

2)1,3

3)-2,-6

4)-1,-3

5)-2,6

6)-1,3

7)1,0

8)1,6

9)32800,33000

C語言程序設計實訓教程全文共9頁,當前為第3頁。10)-32800,33000

分析上述哪幾組測試用例較好?通過測試,你發(fā)現(xiàn)程序有什么錯誤了嗎?若有錯誤,請指出錯誤原因。

(3)先自己在紙上寫出程序運行結果,然后輸入并運行如下程序,并把計算機運行結果與自己的結果進行比較。

main()

{charc1,c2;

c1=97;c2=98;

printf(“%c%c\n”,c1,c2);

}

在此基礎上:

1)加一個printf語句,并運行之。printf(“%d,%d\n”,c1,c2);

2)再將第二行改為:intc1,c2;再使之運行。

3)再將第三行改為:c1=300,c2=400;再使之運行。分析其運行結果與你自己的是否有出入。

(4)先自己在紙上寫出程序運行結果,然后輸入并運行如下程序,并把計算機運行結果與自己的結果進行比較。

main()

{inti,j,m,n;

i=8;j=10;

m=++i;n=j++;

printf(“%d,%d,%d,%d\n”,i,j,m,n);

}

分別作如下改動并運行。

1)將第4行改為:m=i++;n=++j;

2)程序改為:

main()

{inti,j;

i=8;j=10;

printf(“%d,%d\n”,i++,j++);

}

3)在2)的基礎上,將printf語句改為:?printf(“%d,%d\n”,++I,++j);

4)再將printf語句改為printf(“%d,%d,%d,%d\n”,i,j,i++,j++);

5)程序改為:

main()

{inti,j,m=0,n=0;

i=8;j=10;

m+=i++;n-=--i;

printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);

}

分析其運行結果與你自己的是否有出入。

要求:寫出編程思路;畫出流程圖;寫出程序代碼以及程序運行結果

安排形式:每個學生為一組,完成實訓之后寫出實訓報告

項目三(2學時)

1、實訓項目名稱:

順序結構程序設計

C語言程序設計實訓教程全文共9頁,當前為第4頁。2、實訓類型:

設計型

3、目的與任務

(1)理解C語言程序的順序結構

掌握常用的C語言語句,熟練應用賦值、輸入、輸出語句

4、內容、要求與安排形式

內容:

(1)設圓半徑r=1.5,圓柱高h=3,求圓周長、圓面積、圓球表面積、圓球體積和圓柱體積。用scanf函數(shù)輸入數(shù)據(jù),輸出計算結果。輸出時要有文字說明,取小數(shù)點后兩位數(shù)字。

(2)輸入三角形三邊長,求三角形面積。

(3)輸入任意三個整數(shù),求它們的和及平均值。

要求:寫出編程思路;畫出流程圖;寫出程序代碼以及程序運行結果

安排形式:每個學生為一組,完成實訓之后寫出實訓報告

項目四(2學時)

1、實訓項目名稱:

選擇結構語句的使用

2、實訓類型:

設計型

3、目的與任務

(1)學會正確使用邏輯運算符和邏輯表達式,進一步掌握各種表達式的使用

(2)利用if語句實現(xiàn)選擇結構

(3)利用switch語句實現(xiàn)多分支選擇結構

(4)了解用不同的數(shù)據(jù)使程序的流程覆蓋不同的語句、分支和路徑

4、內容、要求與安排形式

內容:

(1)由鍵盤輸入任意三數(shù),按降序打印此三數(shù)。

(2)由鍵盤鍵入三個數(shù),計算以這三個數(shù)為邊長的三角形的面積。

(3)給學生寫評語,若學生成績在60~69則打印“及格”,70~89“良好”,90~100“優(yōu)秀”,60以下“不及格”,用if-else語句和switch語句編程。程序執(zhí)行時,若給出負分數(shù),應給出錯誤提示信息。

要求:寫出編程思路;畫出流程圖;寫出程序代碼以及程序運行結果

安排形式:每個學生為一組,完成實訓之后寫出實訓報告

項目五(2學時)

1、實訓項目名稱:

循環(huán)結構語句的使用

2、實訓類型:

設計型

3、目的與任務

(1)熟練掌握for語句的使用

(2)熟練掌握break語句與continue語句的使用

(3)能夠用循環(huán)實現(xiàn)一些常用算法

(4)循環(huán)嵌套的應用

4、內容、要求與安排形式

內容:

(1)計算如下表達式的值:C語言程序設計實訓教程全文共9頁,當前為第1頁。C語言程序設計實訓教程全文共9頁,當前為第2頁。C語言程序設計實訓教程全文共9頁,當前為第3頁。C語言程序設計實訓教程全文共9頁,當前為第4頁。C語言程序設計實訓教程全文共9頁,當前為第5頁。(2)首次運行下面程序的功能是計算n!。

????????main()

????????{inti,n,s=1;

??????????printf("Pleaseentern:");

??????????scanf("%d",&n);

??????????for(i=1;i<=n;i++)

??????????s=s*i;

??????????printf("%d!=%d",n,s);

????????}

首次運行先輸入n=4,輸出結果為4!=24,這時正確的。為了檢驗程序的正確性,再輸入n=8,輸出為8!=-25216,這顯然是錯誤的。分析產(chǎn)生這種現(xiàn)象的原因,把程序改正過來。

(3)輸入兩個正整數(shù),求最大公約數(shù)和最小公倍數(shù)。

(4)打印所有的“水仙花數(shù)”?!八苫〝?shù)”是一個三位數(shù),其各位數(shù)立方和等于該數(shù)本身。

(5)有一數(shù)列:2/1,3/2,5/3,8/5,…求出這個數(shù)列的前10項之和。

(6)求Sn=a+aa+aaa+…+aa…a之值,其中a是一個數(shù)字。例如:2+22+222+2222+22222(此時n=5),n由鍵盤輸入(分別用while和for編程)。

要求:寫出編程思路;畫出流程圖;寫出程序代碼以及程序運行結果

安排形式:每個學生為一組,完成實訓之后寫出實訓報告

項目六(4學時)

1、實訓項目名稱:

函數(shù)的應用

2、實訓類型:

驗證型、設計型

3、目的與任務

(1)掌握函數(shù)的定義方法

(2)掌握函數(shù)的調用及函數(shù)聲明

(3)掌握函數(shù)參數(shù)傳遞規(guī)則

(4)掌握函數(shù)的遞歸調用方法

(5)掌握全局變量和局部變量、動態(tài)變量、靜態(tài)變量的概念和使用方法

4、內容、要求與安排形式

內容:

(1)寫一個判斷整數(shù)是否為素數(shù)的函數(shù),并使用該函數(shù)求1000以內的素數(shù)平均值。

(2)寫兩個函數(shù),分別求兩個正數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調用這兩個函數(shù)并輸出結果。兩個正數(shù)由鍵盤輸入。

(3)用遞歸方法編寫求斐波那契數(shù)列的函數(shù),返回值為長整型。斐波那契數(shù)列的定義為:

f(n)=f(n-2)+f(n-1)n>1

其中f(0)=0,f(1)=1。并寫出相應主函數(shù)。

(4)先寫出下面程序的運行結果,再和該程序的機器運行結果校對,掌握全局變量、局部動態(tài)變量和局部靜態(tài)變量的區(qū)別。

#include<stdio.h>

voidfun(int,int);

inty=2;

voidmain()

{inti=2,x=5,j=7;

C語言程序設計實訓教程全文共9頁,當前為第6頁。fun(j,6);

printf("i=%d;j=%d;x=%d;y=%d\n",i,j,x,y);

fun(j,6);

printf("i=%d;j=%d;x=%d;y=%d\n",i,j,x,y);

}

voidfun(inti,intj)

{intx=7;

staticinty;

y+=++x;

printf("i=%d;j=%d;x=%d;y=%d\n",i,j,x,y);

}

要求:寫出編程思路;畫出流程圖;寫出程序代碼以及程序運行結果

安排形式:每個學生為一組,完成實訓之后寫出實訓報告

項目七(6學時)

1、實訓項目名稱:

數(shù)組的應用

2、實訓類型:

設計型

3、目的與任務

(1)熟練掌握一維數(shù)組、二維數(shù)組的定義、賦值和輸入輸出方法

(2)熟練掌握字符數(shù)組和字符串函數(shù)的使用

(3)掌握有關數(shù)組的一些常用算法

4、內容、要求與安排形式

內容:

(1)將一個數(shù)列頭尾顛倒。要求寫一函數(shù)實現(xiàn)對包含任意個數(shù)據(jù)的數(shù)列實現(xiàn)顛倒處理。數(shù)列由main函數(shù)輸入,輸出數(shù)列亦在main函數(shù)中。

(2)由n個學生,每人考m門課,要求:

1)找出成績最高的學生號和課程號。

2)找出有不及格課程的學生號及其各門課的全部成績。

3)求全部學生全部課程的總平均分。

(3)輸入一個n*n的矩陣各元素的值,求出兩條對角線元素之和。

(4)將矩陣逆時針旋轉90度。

(5)在主函數(shù)中輸入10個字符串,用另一個函數(shù)對它們排序,然后在主函數(shù)中輸出這10個已排好序的函數(shù)。

(6)將兩個字符串連接起來,不要用strcat函數(shù)。

(7)求子串位置,如果是子串,則返回子串在主串中的位置,否則返回0。

要求:寫出編程思路;畫出流程圖;寫出程序代碼以及程序運行結果

安排形式:每個學生為一組,完成實訓之后寫出實訓報告

項目八(6學時)

1、實訓項目名稱:

指針的應用

2、實訓類型:

設計型

3、目的與任務

C語言程序設計實訓教程全文共9頁,當前為第7頁。(1)掌握指針的概念,會定義和使用指針變量

(2)學會使用數(shù)組的指針和指向數(shù)組的指針變量

(3)學會使用字符串的指針和指向字符串的指針變量

(4)學會使用指向函數(shù)的指針變量

(5)掌握指針變量作為函數(shù)參數(shù)傳遞數(shù)據(jù)值的方法

(6)了解指向指針的指針的概念及其使用方法

4、內容、要求與安排形式

內容:

(1)輸入三個整數(shù),按由小到大的順序輸出。

(2)用一個函數(shù)實現(xiàn)兩個字符的比較。函數(shù)原型為:

intstrcmp(char*p1,char*p2);

(兩個字符串s1,s2由main()函數(shù)輸入,strcmp函數(shù)的返回值也由main()函數(shù)輸出。)

(3)、設一個函數(shù),調用它時,每次實現(xiàn)不同的功能:

1)求兩個數(shù)之和;

2)求兩個數(shù)之差;

3)求兩個數(shù)之積。

要求:寫出編程思路;畫出流程圖;寫出程序代碼以及程序運行結果

安排形式:每個學生為一組,完成實訓之后寫出實訓報告

項目九(2學時)

1、實訓項目名稱:

結構體

2、實訓類型:

設計型

3、目的與任務

(1)掌握結構體類型變量的定義和使用

(2)掌握結構體類型數(shù)組的概念和應用

(3)掌握鏈表的概念,初步學會對鏈表進行操作

4、內容、要求與安排形式

內容:

(1)有五個學生,每個學生的數(shù)據(jù)包括學號,姓名,三門課的成績,從鍵盤輸入五

溫馨提示

  • 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

提交評論