C語言實習內容

2022-07-12 01:12:05 字數 3556 閱讀 3150

c語言程式設計

實習指導書

黃河水利職業技術學院

自動化工程系

一、實習的目的和意義2頁

二、實習內容2頁

(一)三種基本結構應用練習2頁

1.根據字母判斷是星期幾2頁

2.輸出正弦曲線4頁

3.完全數5頁

(二)函式6頁

4.求最大公約數與最小公倍數6頁

5.遞迴函式的應用7頁

(三)陣列應用8頁

6.選擇法排序8頁

7.列印楊輝三角形9頁

8.字元陣列應用10頁

(四)指標應用10頁

9.指標處理資料交換問題10頁

10.用指標處理矩陣轉置問題11頁

(五)檔案操作及c的圖形處理12頁

11.字母大小寫轉化並在磁碟中儲存12頁

12.閃動的多彩圓13頁

三、實習時間安排及成績評定辦法15頁

四、turbo c 2.0整合開發環境的使用介紹16頁

(一)主選單16頁

(二)turbo c 2.0的工作環境的確立24頁

(三)程式動態除錯的方法26頁

五、常見錯誤提示資訊27頁

一、實習的目的和意義

「c語言程式設計實習」是在學完《c語言程式設計》理論知識的基礎上進行的實踐教學環節,其目的是培養學生具有初步的c語言程式設計、程式設計、除錯和排除c語言程式語法、邏輯錯誤的能力。通過實習使學生進一步熟悉並掌握c語言程式的除錯執行環境、程式設計過程、程式的基本結構以及程式設計的基本方法。通過實習,使學生將程式設計的理論知識與實踐相結合,為學生學習其他計算機程式語言打下基礎。

在一周的實習時間裡,學生要認真複習基本概念,獨立編寫程式,並上機除錯執行,培養自己發現程式中的錯誤、改正錯誤以使程式能正確執行的能力。經驗豐富的人,當編譯時出現「出錯資訊」時,能很快地判斷出錯誤所在,並改正之。而缺乏經驗的人即使在系統給出明確出錯提示資訊下也往往找不出錯誤而求救於別人。

對於學生來說,不僅要了解和熟悉有關理論和方法,還要求自己動手實現,要求會編寫程式並上機除錯通過。因此除錯程式本身是程式設計課程的乙個重要內容和基本要求,應給予充分的重視。除錯程式的經驗固然可以借鑑他人的現成經驗,但更重要的是通過自己的直接實踐來積累,而且有些經驗是只能「意會」難以「言傳」。

除錯程式的能力,是學完《c語言程式設計》之後,每個學生應當掌握的一項基本功。因此,在實習時千萬不要在程式通過後就認為完成任務了,而應當在已通過的程式基礎上作一些改動(例如修改一些引數、增加程式一些功能、改變輸入資料的方法等,甚至於「自設障礙」,即把正確的程式改為有錯的,如用scanf函式輸入變數時,漏寫「&」符號,使陣列下標越界,使整數溢位等),觀察和分析所出現的情況,並認真、及時總結。這樣的學習是靈活主動的學習而不是呆板被動的學習,才會有真正的收穫。

二、實習內容

(一)三種基本結構應用練習

順序結構、選擇結構、迴圈結構等三種結構是c語言程式設計的三種基本結構,嚴格來說,所有的c程式都應由這三種基本結構組成。在實習一開始就安排這三種基本結構的應用練習,旨在使學生對於這三種結構有乙個更加深刻的理解,能夠根據處理問題的需要選擇不同的結構進行處理。由於順序結構在這三種結構中是最基本的,實際上當我們把程式中的選擇結構部分和迴圈結構部分看作乙個整體時,那麼,整個程式就總是由順序結構組成的了。

在此我們不再布置專門練習順序結構的題目,主要給學生提供幾個有關選擇控制語句和迴圈控制的練習。

1.根據字母判斷是星期幾

題目如下:平時我們看到m時就想到星期一,看到w時就想到星期三,請用c語言程式編寫當輸入星期幾的第乙個字母就判斷出是星期幾,如果第乙個字母一樣,則用第二個字母來判斷。要求輸入為字母『y』時,結束判斷。

(1)題目分析

本題要求使用c語言的switch語句,根據輸入的第乙個字母、第二個字母,判斷是星期幾。本題的目的是讓學生掌握多分支switch語句的用法。

當乙個表示式取不同的值時,則會有不同的結果,所以用多分支switch語句來解決輸入不同的字母而輸出不同值的方法比較好,如果第乙個字母一樣,如星期二和星期四(tuesday和thursday),則用if語句判斷第二個字母,這樣就可以解決問題了。同時當輸入字母「y」時,則結束程式。當輸入的不是星期幾的第乙個字母時,則可給出出錯資訊:

printf(「data error!」);當輸入兩個星期幾相同的字母時,則可給出提示資訊:printf(「please input second letter\n」),這樣就可以判斷是星期幾了。

另外為了實現可以多次進行判斷,此題還需用迴圈進行控制。

根據以上分析,可畫出本題的n-s圖,如圖1所示。請學生認真分析此n-s圖,據此寫出程式**,並上機除錯執行,記錄程式的執行結果。

(2)關鍵程式提示

輸入字母為「y」時結束判斷,可用如下所示的表示式作為條件:

(letter=getchar()!=』y』) /*變數letter用來存放輸入的字元*/

當輸入s,再輸入a時則輸出星期六,而再輸入為u時,則輸出星期天,否則就輸出錯誤,這一過程可用如下程式實現:

case 『s』:printf(「please input second letter\n」);

if ((letter=getchar())==』a』) printf(「saturday\n」);

else if((letter=getchar())==』u』) printf(「sunday\n」);

else printf(「data error!\n」);

break;

2.輸出正弦曲線

題目如下:以下程式可以輸出sin(x)函式0~2π的圖形。(請學生自行上機驗證)

#define pai 3.14159

#include <>

#include <>

main()

printf(「\n」);}}

根據以上程式,編寫程式,列印出如圖2所示正弦函式圖形。

(1)題目分析

此題主要考查for迴圈語句的應用。通過迴圈語句控制在輸出螢幕上的不同位置列印空格和非空格字元(如「*」,「#」等),從而可以輸出按一定規律排列的圖形。此類問題的關鍵是正確控制空格字元的插入位置及個數,以及不同行所應插入的非空格字元的個數。

在解決時還要注意回車的控制。請學生認真分析給出的示例程式,寫出所求問題的演算法,並編寫出正確的程式,除錯執行,觀察程式執行的結果。

(2)靈活運用

完成本題後,學生可根據各自情況,選做下面的題目,以達到靈活運用的目的。

選做題一:通過迴圈實現列印出如圖3所示的菱形圖案。

選做題二:列印如圖4所示的數字金字塔(注意觀察數字分布的規律)。

3.完全數

題目如下:編寫乙個程式,求出500以內的所有完全數。(乙個數如果恰好等於它的因子(自身除外)之和,則稱該數為完全數。如6=1+2+3,則6是完全數)

(1)題目分析

本題使用了c語言中的迴圈,輸出500以內的所有完全數。目的是讓學生掌握完全數的概念及多種迴圈語句的區別。

要求出500以內的所有完全數,利用迴圈語句求1-500這500個數的因子,然後再把每個數的因子加起來,但不能加上它本身,同時再利用if條件語句,看這個數本身是不是等於所有因子的和(它自身除外)。本例使用do…while語句,while 語句與do…while語句及for語句都能控制迴圈,注意它們的特點及格式的不同,特別是書寫上的不同點。請學生仿照第1題寫出本題的n-s圖。

c語言實習報告

實習報告 1,從1到100面積,面積大於100跳出 周一上午 include define pai 3.14164 巨集定義乙個pai main 主函式 getch 結果 2,九九乘法表 周一下午 include main 主函式 printf n 換行 getch 結果 3,1 100不被5和7整...

c語言實習報告

c程式設計實習報告 名稱 建築工地資訊管理系統 學院 機電學院 專業 機械設計製造及其自動化 姓名 許文祥 班級學號 20091003791 指導老師 薛思清 2011年7 月3 日 根據題目要求,由於資訊是存放在檔案中的,所以應提供檔案的輸入,輸出操作 在程式中要能刪除資訊,因此要有刪除操作 同時...

c語言實習報告

c語言課程實習報告 所在院系數理學院 班級學號 121091 13 姓名程式已存檔 指導老師 評分二零一零年七月十五 目錄 一.題目要求3 二.需求分析3 三.總體設計3掌握 四.詳細設計4 1.主函式4 1 流程圖4 2 主函式程式5 2.各功能模組7 1 查詢模組7 1 流程圖7 2 程式8 2...