《C語言課程設計》設計報告

2022-09-30 01:30:07 字數 4824 閱讀 3428

指導教師:張娜

課程名稱: c語言程式設計

班級: 0124071

姓名: 王者無疆

學號: 0070082011

河南城建學院、土木與材料工程系

2023年1月

目錄一.課程設計目的

二.課程設計要求

1. 分析課程設計題目的要求

2. 寫出詳細設計說明

3. 編寫程式**,除錯程式使其能正確執行

4. 設計完成的軟體要便於操作和使用

4. 設計完成後提交課程設計報告

三.課程設計的基本過程

1.程式的功能設計

2.程式的資料設計

3.程式的函式設計

4.函式程式設計及除錯

5.整體除錯

6.設計總結

四. 課程設計報告的內容

五. 課程設計考核方式

六. 進度計畫

第一天選擇課程設計題目,分析課題的要求,編寫詳細設計說明

第二天程式設計及除錯

第三天除錯,修正,執行軟體

第四天寫課程設計報告,檢查程式及軟體

第五天提交課程設計報告(列印稿及電子稿)

七、心得體會

八、附一題

一、課程設計目的

課程設計是學習掌握c語言知識的重要實踐環節,是在課程實驗基礎上進行的綜合性實踐教學活動。

課程設計圍繞課程的整體教學目標進行,課程設計的題目具有一定的綜合性和應用性,只靠個別單元的知識一般不能實現課程設計的目標,需要對課程知識進行綜合運用。要完成好課程設計,就要對課程知識進行系統學習、複習、總結、應用,達到在實踐中學習知識、掌握知識、應用知識和培養能力的目的。

①通過課程設計,進一步熟悉掌握以下知識:資料型別、分支控制、迴圈控制、函式的定義及呼叫、結構體及陣列、指標、檔案操作、編譯預處理等。

②通過課程設計,達到系統理解、綜合運用課程知識的學習目標。

③通過課程設計,學會用c語言程式解決實際問題的方法。

④通過課程設計,掌握程式的區域性測試、除錯方法,建立程式系統除錯、測試的基本概念和思想,學會較大程式的系統測試和除錯方法。

二. 課程設計要求

1. 分析課程設計題目的要求

2. 寫出詳細設計說明

3. 編寫程式**,除錯程式使其能正確執行

4. 設計完成的軟體要便於操作和使用

4. 設計完成後提交課程設計報告

三.課程設計的基本過程

c語言課程設計一般包括6個步驟,即程式的功能設計、程式的資料設計、程式的函式設計、函式編碼及除錯、程式整體除錯和課程設計總結等,各個步驟都有其特定的任務。

程式使用截圖

1.程式的功能設計

功能設計是課程設計的第乙個環節,其任務是根據課程設計題目的描述和要求,確定程式要實現的功能,並把這些功能劃分為不同的層次,確定各層功能的上下級關係,然後繪製出分級描述的程式功能框圖,必要時對所列功能進行說明。

2.程式的資料設計

程式的資料設計主要包括對以下各類資料進行設計:

①對程式中用到的主要資料確定資料型別。

②對程式中用到的資料定義。

③定義程式中使用的陣列等。

④定義程式中通用的符號常量。

⑤確定檔案的資料型別,如二進位制檔案、文字檔案等。

3.程式的函式設計

乙個綜合性的程式,需要設計若干個函式。各個函式功能各異,使用的層次也不盡相同。為了使總體設計協調有序地進行,需要在程式編碼之前,對主要的函式做出預先設計,即所謂的函式設計。

程式的函式設計包括函式的功能設計和函式呼叫設計兩個方面。

①函式的功能設計。對應程式功能框圖,確定各項功能要使用的主要函式,並進行明確描述,包括:函式名稱、函式功能、函式引數、函式返回值型別等。

②函式呼叫設計。對函式的呼叫關係進行描述,明確說明在實現程式功能時,函式之間將發生的呼叫和被呼叫關係。

4.函式程式設計及除錯

函式程式設計及除錯是實現程式功能的核心階段,需要注意以下問題:

①課程設計具有一定的綜合性,其程式通常由多個函式構成,每個函式都有獨立的功能,實現特定的操作。但程式中的所有函式是乙個有機的整體,都圍繞實現程式的功能進行設計。

②有些函式之間有呼叫和被呼叫關係,在進行函式設計時需要注意順序問題,有的函式先設計,有的函式後設計,而沒有呼叫關係的函式可以並列設計。當多人合作進行乙個課程設計時,可以並列設計的函式即可由不同的設計人員承擔。

③程式設計是乙個循序漸進的過程。有的函式在程式設計前的函式設計階段就被考慮到了,而有的函式是在程式設計過程中因需要才產生的。但無論哪乙個函式,都會經歷由簡單,到功能完善定型的過程。

④函式設計一般以功能實現為主線,圍繞程式的乙個功能進行函式設計。每乙個函式完成之後,都要立即進行函式功能測試,直到確認函式能實現其功能為止。

⑤有時在測試乙個主調函式時,其被呼叫的函式還沒有完成設計,這時最簡便的方法,就是把被呼叫函式先設計為只有乙個空的「return;」語句的函式,然後進行主調函式的基本測試。當被呼叫函式設計完成之後,再進行詳細的測試。

⑥不同功能的函式,對磁碟檔案可能有不同的使用要求,因此在進行檔案操作時,開啟檔案的方式就可能不同。

程式編譯過程

5.整體除錯

整體除錯是程式設計的必要階段,是在前期程式設計除錯基礎上進行的基本過程。需要設計準備乙個較大規模的資料集,按照課程設計題目的功能要求,對組裝完成的程式逐項進行功能測試和除錯,直至確認程式達到了設計目標為止。

6.設計總結

設計總結是課程設計的最終階段,通過對課程設計的各個過程進行系統全面地總結,按照指導教師的具體要求,形成課程設計報告。

四、課程設計報告內容

第十題、求sn=a+aa+aaa+......+aa......a(則由n個a組成)其中a是乙個數字,例如2+22+222+2222+22222(此處n=5,a=2)程式執行時由鍵盤輸入a與n的值.

編制源程式,經幾次修改,最終成型,如下:

#include <>

void main()

printf("sn=%.0lf",sn);

}程式執行過程如下:

編寫程式截圖

兩次執行結果

五、課程設計考核方式

課程設計成績評定的依據有設計文件資料、具體實現設計方案的程式及課程設計考勤登記表,其中平時成績佔總成績的20%。分如下五個等次:

優:按要求完成設計題目,有完整的符合標準的文件,文件有條理、文筆通順,格式正確,其中有總體設計思想的論述,有正確的流程圖,程式完全實現設計方案,設計方案先進,軟體可靠性好;

良:完成設計題目,有完整的符合標準的文件,文件有條理、文筆通順,格式正確;有完全實現設計方案的軟體,設計方案較先進;

中:完成設計題目,有完整的符合標準的文件,有基本實現設計方案的軟體,設計方案正確;

及格:完成設計題目,有完整的符合標準的文件,有基本實現設計方案的軟體,設計方案基本正確;

不及格:沒有完成設計題目,沒有完整的符合標準的文件,軟體沒有基本實現設計方案,設計方案不正確。

六.進度計畫:

第一天選擇課程設計題目,分析課題的要求,編寫詳細設計說明

第二天程式設計及除錯

第三天除錯,修正,執行軟體

第四天寫課程設計報告,檢查程式及軟體

第五天提交課程設計報告(列印稿及電子稿)

七、心得體會

回顧起此次課程設計,至今我仍感慨頗多,的確,自從拿到題目到完成整個程式設計,從理論到實踐,在整整乙個星期的日子裡,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。

從領到任務書的那一刻,我就很鬱悶,《c語言程式設計》到底是學什麼的,有什麼用。剛開始上課時,還在迷茫這門課程是用來做什麼的。不過,這些感受都是在對這門課程不了解的情況下產生的。

後來慢慢的接觸多了,聽老師講的多了,了解多了,漸漸的產生了興趣。

第一天基本上都是在看書,把基本知識再熟悉一邊。到了下午的時候,老師發過來三道練習題,從這幾道練習題上我得到了不少啟發,然後我們組把整個程式的思路理清了,開始著手寫程式。

通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,這畢竟獨立做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結構體……通過這次課程設計之後,一定把以前所學過的知識重新溫故。

這次課程設計終於順利完成了,在設計中遇到了很多程式設計問題,最後在謝老師的辛勤指導下,終於遊逆而解。同時,在老師平時課堂中學到的很基礎知識,在次我表示感謝!

在程式設計的過程中,我體會到了學習程式設計的辛苦,為了乙個演算法的實現而思考,為了乙個小小的編譯錯誤而花時間去尋找,這需要很大的毅力和耐心,而且要有良好的思維,這才使得我完成這個任務,也使我感到一分喜悅,畢竟自己完成了乙個有模有樣的程式。於此,我也發現自己的一些不足,良好的程式設計習慣的養成,堅定的毅力和耐心仍是我要加強的,同別人的交流也是必須的,這樣才能不斷使我進步。

八、附一題

已知2023年一月一日為星期六請輸入一年的年份後,列印該年的年曆。

# include <>

# include <>

void printmonth(int m);

void printhead(int m);

int daysofmonth(int m);

int firstday(int y);

int year,weekday;

void main()

{ int i;

printf("請輸入年份:");

scanf("%d",& year);

weekday=firstday(year);

printf("\n\n");

printf(" %d年\n",year);

for(i=1;i<=12;i++)

{ printmonth(i);

C語言課程設計報告

課程名稱計算機高階語言課程設計 c 教師姓名 本科生姓名 本科生學號 本科生專業機械設計製造及其自動化 所在院系機電學院 類別c.本科生 日期2013.7.11 注 1 無評閱人簽名成績無效 2 必須用鋼筆或原子筆批閱,用鉛筆閱卷無效 3 如有平時成績,必須在上面評分表中標出,並計算入總成績。模擬手...

C語言課程設計報告

1.本頁為設計報告要求頁,製作好報告後輸出時將本頁刪除 2.本模板的各種字型及頁面設定請同學們 3.本設計報告左側裝訂。在虛線處裝訂。4.在課程設計封皮一頁上用已經設定好的宋體四號來填寫各個專案。5.在課程設計評定表一頁上用宋體小四填寫班級 學號 姓名 專案組 專案組長 專案組組員 本人工作簡介。組...

C語言課程設計報告

電氣與資訊工程學院 c語言程式設計 課程設計報告 課程設計題目 酒店房間登記與計費管理 專業自動化 班級t1023 6 姓名師曉義 1 需求分析 1 問題 根據需求,該系統所應包含的資訊有以下一些 酒店房間登記與計費管理的基本資訊 客戶姓名 身份證號 開始入住時間 退房時間 入住房間號 房間 入住費...