欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C語言實(shí)習(xí)報(bào)告(優(yōu)秀范文五篇)

      時(shí)間:2019-05-15 10:27:08下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C語言實(shí)習(xí)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C語言實(shí)習(xí)報(bào)告》。

      第一篇:C語言實(shí)習(xí)報(bào)告

      C語言實(shí)習(xí)報(bào)告

      在長學(xué)期之后,我們又進(jìn)行了短學(xué)期,在短學(xué)期中C語言實(shí)習(xí)讓我獲益匪淺。通過C語言實(shí)習(xí),讓我加深了對(duì)C語言的了解,而不只是單單的在課本中學(xué)到的那些理論,平時(shí)乏味的課程,通過自己動(dòng)手親自編寫,變的生動(dòng)有趣,而在自己動(dòng)手的過程中,出現(xiàn)的問題很多,比理論要難的多,當(dāng)一個(gè)程序?qū)懲暌院?,?jīng)常會(huì)有很多錯(cuò)誤而沒法解決。不過,通過幾天的實(shí)訓(xùn),逐漸積攢了一些經(jīng)驗(yàn),有些錯(cuò)誤可以很快就看出來。

      這次實(shí)訓(xùn)有很大的收獲,讓我對(duì)C語言有了更深的認(rèn)識(shí),平時(shí)在課堂上學(xué)到的東西可以自己動(dòng)手編寫,將其轉(zhuǎn)化成一些實(shí)用的技能。如果是一個(gè)程序?qū)懲暌惶庡e(cuò)誤也沒有,會(huì)有種成就感,于是興趣就來了,興趣來了,自然學(xué)的東西也就多了,能把理論變成實(shí)際的技能,讓我對(duì)C語言有了濃厚的興趣和更深層的認(rèn)識(shí)。

      C語言是一個(gè)有序的學(xué)習(xí),學(xué)了最基本的替換,然后擴(kuò)展到循環(huán),嵌套,條理很清楚,不是一個(gè)零散的知識(shí),實(shí)際上所有的課程都如此,不過通過實(shí)訓(xùn)我也知道了自己的不足,存在的很多問題。

      比如自己寫的寫的小程序出了問題,不會(huì)解決了就叫老師或同小組的同學(xué)幫忙,雖然說這樣會(huì)做得更好更快,但是會(huì)養(yǎng)成一種依賴的心理,碰到問題了第一個(gè)想到的是求助而不是自己獨(dú)立解決,所以以后要多多鍛煉自己的信心和增加自己的能力,爭(zhēng)取做到自己可以完成一些簡(jiǎn)單的程序編寫與錯(cuò)誤排除。

      還有自己的基礎(chǔ)知識(shí)不扎實(shí),遇到的問題,沒有很好的邏輯思維,親自編寫一個(gè)陌生的程序的時(shí)候會(huì)有種無法下手的感覺,找不到突破口。通過實(shí)訓(xùn),逐漸理清了順序,對(duì)于簡(jiǎn)單的程序和一些相對(duì)比較繁瑣的嵌套,循環(huán),不在是看著一頭霧水。其實(shí)只要理清了思路,把基礎(chǔ)知識(shí)掌握了,然后有條不紊的分析,一步一步理解,C語言還是很有意思的課程。

      自己親自動(dòng)手編寫程序讓我增加了對(duì)C語言程序開發(fā)環(huán)境的了解,在上課的時(shí)候老師就講,學(xué)習(xí)C語言最重要的是學(xué)習(xí)C語言的邏輯思維,不管以后從事什么行業(yè),學(xué)習(xí)C語言都對(duì)自己的職業(yè)很有幫助,如果是從事編程工程工作的話,就更有幫助了,即使以后的編程工作可能不用C語言,但是擁有扎實(shí)的C語言基礎(chǔ)是對(duì)工作很有用的。

      當(dāng)初在初步接觸C語言的時(shí)候,看著一堆“奇形怪狀”的符號(hào),覺得甚是無聊,通過這次實(shí)訓(xùn),擺脫了那種似懂非懂的狀態(tài)!

      短學(xué)期讓我學(xué)到了很多知識(shí),在實(shí)訓(xùn)過程中,同學(xué)之間的相互探討,老師的循循善誘,最終讓我們達(dá)到了舉一反三的效果,在學(xué)知識(shí)的同時(shí),也增加了同學(xué)老師之間的感情。希望以后還會(huì)有更多類似的實(shí)訓(xùn)課程,在有限的大學(xué)時(shí)間內(nèi)學(xué)到更多的實(shí)用技能,為以后的工作打下

      一個(gè)良好的基礎(chǔ)。

      第二篇:c語言實(shí)習(xí)報(bào)告

      西安科技大學(xué)

      《C/C++語言程序設(shè)計(jì)》

      課程設(shè)計(jì)報(bào)告

      題 目

      院、系(部)

      專業(yè)及班級(jí) 姓 名 日 期

      1設(shè)計(jì)目的

      設(shè)計(jì)一個(gè)職工信息管理系統(tǒng),使之能提供以下功能: 1)錄入職工信息并保存 2)顯示所有職工信息 3)查詢職工信息 4)修改職工信息并保存 5)刪除職工信息 需求說明: 職工信息包括職工號(hào)、姓名、性別、出生年月、學(xué)歷、職務(wù)、工資、住址、電話等,并且要求職工號(hào)不重復(fù);

      錄入的職工信息要求用文件形式保存,并可以對(duì)其進(jìn)行瀏覽、查詢、修改、刪除等基本操作; 職工信息的顯式要求有一定的規(guī)范格式;

      對(duì)職工信息應(yīng)能夠分別按工資及按學(xué)歷兩種方式進(jìn)行,要求能返回所有符合條件的職工的信息; 對(duì)職工信息的修改應(yīng)逐個(gè)地進(jìn)行,一個(gè)職工信息的更改不應(yīng)影響其他的職工記錄;

      所設(shè)計(jì)的系統(tǒng)應(yīng)以菜單方式工作,應(yīng)為用戶提供清晰的使用提示,依據(jù)用戶的選擇來進(jìn)行各種處理,并要求在此過程中能夠盡可能的兼容用戶使用過程中的異常情況??傮w設(shè)計(jì)

      1.該系統(tǒng)可以按功能進(jìn)行模塊劃分,其模塊圖如下:

      系統(tǒng)模塊圖

      其中:

      信息輸入模塊完成職工信息的輸入功能,輸入信息包括職工號(hào)、姓名、性別、出生年月、學(xué)歷、職務(wù)、工資、住址、電話等;

      信息瀏覽模塊完成已錄入職工信息的顯示;

      信息查詢模塊完成職工信息的查詢,查詢時(shí)對(duì)應(yīng)有按工資查詢和按學(xué)歷查詢兩種方式; 信息修改模塊完成職工信息的修改功能; 信息刪除模塊完成職工信息的刪除功能;

      菜單選擇模塊完成用戶命令的接收,此模塊也是職工信息管理系統(tǒng)的入口,用戶所要進(jìn)行的各種

      操作均需在此模塊中進(jìn)行選擇并進(jìn)而調(diào)用其他模塊實(shí)現(xiàn)相應(yīng)的功能;

      2.數(shù)據(jù)結(jié)構(gòu)

      本系統(tǒng)中主要的數(shù)據(jù)結(jié)構(gòu)就是職工的信息,包含職工號(hào)、姓名、性別、出生年月、學(xué)歷、職務(wù)、工資、住址、電話等,在處理過程中各項(xiàng)可以作為一個(gè)職工的不同屬性來進(jìn)行處理

      3.程序流程

      系統(tǒng)的執(zhí)行應(yīng)從功能菜單的選擇開始,依據(jù)用戶的選擇來進(jìn)行后續(xù)的處理,直到用戶選擇退出系統(tǒng)為止,其間應(yīng)對(duì)用戶的選擇做出判斷及異常處理。系統(tǒng)的流程圖如下:

      程序流程圖 詳細(xì)設(shè)計(jì)

      對(duì)應(yīng)于總體設(shè)計(jì)時(shí)的系統(tǒng)功能模塊圖,各個(gè)功能模塊的處理邏輯如下: ① 信息輸入模塊:

      打開職工信息文件; while(繼續(xù)輸入){ 讀入職工信息;

      將讀入信息添加到職工信息文件中;

      提示是否繼續(xù)輸入; } 關(guān)閉職工信息文件;

      ② 信息瀏覽模塊:

      打開職工信息文件; while(不到文件結(jié)束){ 從文件中順序讀出一個(gè)職工的信息;

      按指定格式輸出該職工的信息; } 關(guān)閉職工信息文件;

      ③ 信息查詢模塊:

      while(仍繼續(xù)查詢){ if(按工資查詢){ 讀入查詢的職工工資條件;

      打開職工信息文件;

      while(不到文件結(jié)束){ 順序讀出一個(gè)職工的信息;

      if(該職工信息的工資符合條件)輸出該職工的信息; } 關(guān)閉職工信息文件;

      提示共有幾條符合條件的記錄; } else if(按學(xué)歷查詢){ 讀入學(xué)歷查詢的條件;

      打開職工信息文件;

      while(不到文件結(jié)束){

      順序讀出一個(gè)職工的信息;

      if(該職工信息的學(xué)歷符合條件)輸出該職工的信息;

      } 關(guān)閉職工信息文件; 提示符合條件的記錄數(shù); }

      else 提示輸入不合適;

      提示是否繼續(xù)查詢; }

      ④ 信息修改模塊:

      while(繼續(xù)修改){

      從給出信息文件中所有的記錄情況; 提示并讀入待修改的記錄的職工的職工號(hào); 打開職工信息文件;

      查找并讀出該職工的信息到一個(gè)中間變量中; 提示并讀入要針對(duì)該職工的哪個(gè)屬性進(jìn)行修改; 根據(jù)用戶的選擇提示并讀入所要修改屬性的新值; 在該職工的中間變量中修改剛剛讀入的屬性值; 提示是否確定要進(jìn)行修改;

      如果用戶確定則將中間變量重新寫回到原職工信息文件中; 關(guān)閉職工信息文件; } ⑤ 信息刪除模塊:

      while(繼續(xù)刪除){ 顯示所有職工的信息;

      提示并讀入待刪除的職工的職工號(hào);

      打開職工信息文件;

      查找是否有符合條件的職工記錄; if(有符合條件的記錄){ 提示是否確認(rèn)該刪除操作; if(用戶確認(rèn)此操作){ 創(chuàng)建一個(gè)新的臨時(shí)文件;

      打開原信息文件;

      while(原信息文件中記錄未讀完){ 讀出原信息文件中的下一條記錄;

      if(此條記錄不是待刪除記錄)寫入臨時(shí)文件中去; }

      關(guān)閉原信息文件; 關(guān)閉臨時(shí)文件; 讀方式打開臨時(shí)文件;

      寫方式重建與原信息文件同名的新信息文件; 將臨時(shí)文件中的內(nèi)容寫入到新信息文件中去; 關(guān)閉新信息文件; 關(guān)閉臨時(shí)文件; 刪除臨時(shí)文件; } } else 提示沒有符合條件的記錄存在; } ⑥ 菜單選擇模塊:

      給出信息提示; 清屏;

      繪制菜單(包含輸入、顯示、查詢、修改、刪除、退出); 提示菜單選擇并讀入到變量;

      根據(jù)讀入變量的值調(diào)用不同的模塊函數(shù);

      數(shù)據(jù)結(jié)構(gòu):

      性別: enum Sex{ male, female };學(xué)歷 :enum Education{ high, junior, college, master, doctor};日期 :struct Date { int year;int month;int day;};職工信息:struct Info {

      char num[5];/* 職工號(hào) */ char name[8];/* 姓名 */ enum Sex sex;/* 性別 */ struct Date birthday;/* 出生年月*/ enum Education education;/* 學(xué)歷 */ char duty[8];/* 職務(wù) */ double wage;/* 工資 */ char addr[12];/* 地址 */

      char phone[8];/* 電話 */ };

      第三篇:C語言實(shí)習(xí)報(bào)告

      新疆昌吉學(xué)院

      《C語言程序設(shè)計(jì)》 教學(xué)實(shí)習(xí)報(bào)告

      部門:信息技術(shù)分院

      專業(yè):計(jì)算機(jī)應(yīng)用技術(shù) 班級(jí):2010高職應(yīng)用

      姓名: 指導(dǎo)教師:

      《C語言程序設(shè)計(jì)》教學(xué)實(shí)習(xí)報(bào)告

      2010高職應(yīng)用班

      一、實(shí)習(xí)時(shí)間:

      2011 年 6 月 13 日至

      2011 年月 17 日

      二、實(shí)習(xí)地點(diǎn):第一微機(jī)室

      三、實(shí)習(xí)目的:(小4宋體,約150字)

      (1)能進(jìn)一步熟悉C程序的編輯、編譯、連接和運(yùn)行的過程;

      (2)通過C語言環(huán)境下的應(yīng)用實(shí)例,能有編寫程序的能力,掌握編程的思路和方法,掌握C語言程序設(shè)計(jì)的基本概念和基本技能;

      (3)在程序調(diào)試過程中,能根據(jù)運(yùn)行結(jié)果,運(yùn)用相應(yīng)的手段,正確地找出并解決程序中的邏輯錯(cuò)誤;

      (4)可以掌握不同類型數(shù)據(jù)之間賦值的規(guī)律;

      (5)通過解題、程序設(shè)計(jì)和上機(jī)實(shí)踐,能加深對(duì)所學(xué)概念的理解,使得理論與實(shí)踐相結(jié)合的學(xué)習(xí)方法;

      (6)通過C語言程序設(shè)計(jì)的課程實(shí)習(xí),我們能具有使用計(jì)算機(jī)解決相關(guān)問題的能力,為今后學(xué)習(xí)其他計(jì)算機(jī)應(yīng)用課程打下較好的程序設(shè)計(jì)基礎(chǔ)。

      四、實(shí)習(xí)內(nèi)容及方法:

      實(shí)訓(xùn)一 C語言的編程環(huán)境:

      1、Turbo C運(yùn)行環(huán)境。

      了解TC的基本環(huán)境,熟悉常用菜單項(xiàng)和快捷鍵。

      2、C程序的編輯、編譯、連接和運(yùn)行過程。掌握C程序的運(yùn)行步驟,初步了解C程序的特點(diǎn)。

      3、VC6.0環(huán)境的熟悉,能按照軟件并在軟件中能夠調(diào)試簡(jiǎn)單的C語言程序。實(shí)訓(xùn)二 C語言數(shù)據(jù)類型、運(yùn)算符及表達(dá)式:

      案例3:字母轉(zhuǎn)換問題。本案例在執(zhí)行時(shí),將提示輸入一個(gè)字母,如果輸入的是小寫字母,程序?qū)⑤斎氲男懽帜皋D(zhuǎn)換為大寫字母并輸出,否則按原樣輸出。步驟:

      1、定義變量,和變量類型;

      2、尋找大小寫字母的 ASC||碼值得關(guān)系;

      3、輸入輸出變量。代碼:

      結(jié)果:

      實(shí)訓(xùn)三 C程序的三種基本結(jié)構(gòu)的應(yīng)用

      案例1:輸入某年某月某日,判斷這一天是這一年的第幾天? 解題步驟:

      1、定義變量年year月month、日day、和第幾個(gè)月的天數(shù)總和sum;

      2、定義month變量作為switch語句的測(cè)試條件;

      3、從鍵盤上輸入年、月、日的值;

      4、輸出這一年的第幾天sum。程序分析:

      輸入某年某月某日,判斷這一天是這一年的第幾天?那么需要考慮三個(gè)變量,年,月,日。

      首先,年主要要考慮的因素是否是閏年的問題。月要考慮的是那一個(gè)月的問題。因?yàn)椴煌碌奶鞌?shù)不一樣。日嘛,就不用說了。

      還有就是,月份是一月或者二月,那么就不需要考慮是否閏年的問題,因?yàn)椴恍枰?jì)算二月總共多少天。

      上述程序,首先是在默認(rèn)閏年的情況下計(jì)算某月前面所有月的天數(shù)和,然后加上當(dāng)月的零頭天數(shù),最后才是判斷當(dāng)月是否大于二月,如果大于二月,那么必須考慮閏年的問題,再接著判斷是否閏年,如果非閏年總天數(shù)減一,是閏年不變,因?yàn)樵陂_始計(jì)算的過程中時(shí)默認(rèn)閏年的。代碼:

      main(){ int day,month,year,sum,leap;clrscr();printf(“nplease input year,month,dayn”);scanf(“%d%d%d”,&year,&month,&day);switch(month){ case1:sum=0;break;case2:sum=31;break;case3:sum=59;break;case4:sum=90;break;case5:sum=120;break;case6:sum=151;break;case7:sum=181;break;case8:sum=212;break;case9:sum=243;break;case10:sum=273;break;case11:sum=304;break;case12:sum=334;break;default:printf(“data error”);break;} sum=sum+day;if(year%400==0||(year%4==0&&year%100!=0))leap=1;else leap=0;if(leap==1&&month>2)sum++;printf(“it is the %dth day.”,sum);getch();}_ 案例4:求200-300之間所有素?cái)?shù),每5個(gè)換行。程序分析:先將1挖掉(為什么?因?yàn)?不是素?cái)?shù))用2去除它后面的各個(gè)數(shù),把能被2整除的數(shù)挖掉,用3去除它后面各數(shù),把3的倍數(shù)挖掉,用循環(huán)體分別將4、5?各數(shù)作為除數(shù)去除這些數(shù)以后的各數(shù)。直到除數(shù)后面的數(shù)已全部挖掉為止

      代碼:

      main(){ int i,j,n=0;clrscr();for(i=200;i<=300;i++){ for(j=2;j<=i;j++)if(i%j==0)break;if(j>=i){ printf(“%4d”,i);n++;} if(n%5==0)printf(“n”);} getch();}_

      案例8:打印輸出九九乘法表。解題步驟:

      1、定義行變量、列變量。

      2、循環(huán)輸出行乘列的值。

      3、每行最后輸出一個(gè)換行符。程序分析:

      兩個(gè)循環(huán)嵌套時(shí),第一個(gè)循環(huán)語句為外循環(huán),第二個(gè)循環(huán)語句為內(nèi)循環(huán),外循環(huán)執(zhí)行一次,內(nèi)循環(huán)從頭到尾執(zhí)行一遍(可能執(zhí)行多次循環(huán)體),因此本題的執(zhí)行次數(shù)為:1+2+3+4+5+6+7+8+9=45次。

      代碼:

      結(jié)果:

      實(shí)訓(xùn)四 數(shù)組的定義和使用:

      案例

      3、打印楊輝三角,輸出前10行數(shù)據(jù)。解題步驟:(1)定義變量;

      (2)確定數(shù)組的行與列;(3)FOR循環(huán)給數(shù)組賦值。(4)輸出這個(gè)數(shù)組。程序分析:

      楊輝三角是(a+b)的n次冪的展開式系數(shù),如:(a+b)系統(tǒng)數(shù)是1 1(a+b)2展開后的系數(shù)是 1 2 1(a+b)3展開后的系數(shù)是 1 3 3 1 從而得到楊輝三解的系數(shù)規(guī)律(指數(shù)為n):

      1、共有n+1組系數(shù),且第K組(從0)開始有K+1個(gè)數(shù)。

      2、每組最后一位與第一位均為1

      3、若用二維數(shù)組存放系數(shù),每行存放一組,則從第二行開始除最后一個(gè)數(shù)與第一個(gè)數(shù)外,每個(gè)數(shù)都是其所在行的前一行同一列與前一列之各。代碼:

      #include “stdio.h” main(){ int i,j,a[10][10];for(i=0;i<10;i++)for(j=0;j<10;j++)a[i][j]=0;for(i=0;i<10;i++){ a[i][0]=1;a[i][i]=1;} 6 for(i=0;i<10;i++){ for(j=0;j<10;j++)printf(“%d ”,a[i][j]);printf(“n”);} 結(jié)果:

      實(shí)訓(xùn)五 函數(shù)的應(yīng)用:

      案例3:用函數(shù)和遞歸實(shí)現(xiàn)求n!程序分析:

      (1)首先在有限遞歸中,必須有一個(gè)測(cè)試避免遞歸調(diào)用的條件,即當(dāng)滿足該條件時(shí),不再遞歸。而在遞歸函數(shù)中,應(yīng)該是先測(cè)試,后進(jìn)行遞歸調(diào)用。在本例中,if語句就是這種測(cè)試條件,當(dāng)n等于0時(shí),則不再遞歸,即退出該遞歸函數(shù)。

      (2)在遞歸函數(shù)中,至少要有一個(gè)遞歸調(diào)用的語句,并且該語句的參數(shù)應(yīng)該逐漸逼近遞歸結(jié)束的條件。其中,該語句參數(shù)n-1是逐次減1,當(dāng)n為0時(shí),則不再調(diào)用遞歸函數(shù)。

      (3)完成該遞歸函數(shù)。

      代碼:

      結(jié)果:

      實(shí)訓(xùn)六 指針的應(yīng)用

      案例1:分析并對(duì)比如下2個(gè)程序,寫出運(yùn)行結(jié)果,并上機(jī)驗(yàn)證。

      1.1 main(){int *p1,*p2,*p,a,b;a=5;b=9;p1=&a;p2=&b;if(a

      a=5 , b=9 Max=9 , min=5

      五、結(jié)論(小4宋體,約1500字)

      1、收獲:

      (1)通過C語言實(shí)訓(xùn),讓我加深了對(duì)C語言的了解,而不只是單單的在課本中學(xué)到的那些理論,平時(shí)乏味的課程,通過自己動(dòng)手親自編寫,變的生動(dòng)有趣,而在自己動(dòng)手的過程中,出現(xiàn)的問題很多,當(dāng)一個(gè)程序?qū)懲暌院?,?jīng)常會(huì)有很多錯(cuò)誤。不過,通過這幾天的實(shí)訓(xùn)和小組討論,逐漸讓自己積攢了一些經(jīng)驗(yàn),有些錯(cuò)誤可以很快就看出來。

      (2)這次實(shí)訓(xùn)讓我對(duì)C語言有了更深的認(rèn)識(shí),平時(shí)在課堂上學(xué)到的東西可以自己動(dòng)手編寫,將其轉(zhuǎn)化成一些實(shí)用的技能。如果是一個(gè)程序?qū)懲暌惶庡e(cuò)誤也沒有,會(huì)有種成就感,于是興趣就來了,興趣來了,自然學(xué)的東西也就多了,能把理論變成實(shí)際的技能,讓我對(duì)C語言有了較多的興趣和更深層的認(rèn)識(shí)。

      (3)C語言是一個(gè)有序的學(xué)習(xí),學(xué)了最基本的替換,然后擴(kuò)展到循環(huán),嵌 8 套,條理很清楚,不是一個(gè)零散的知識(shí),而是一門較有邏輯思維能力培養(yǎng)的學(xué)科。

      2、不足:

      (1)通過實(shí)訓(xùn)我也知道了自己的不足,存在的很多問題。比如自己寫的寫的小程序出了問題,不會(huì)解決了就叫同組的幫忙,雖然說一定意義上增加了同學(xué)之間的感情,但是會(huì)養(yǎng)成一種依賴的心理,碰到問題了個(gè)想到的是求助而不是自己獨(dú)立解決,所以以后要多多鍛煉自己的信心和增加自己的能力,爭(zhēng)取做到?jīng)]有別人幫助的時(shí)候也可以完成一些簡(jiǎn)單的程序編寫與錯(cuò)誤排除。

      (2)還有自己的基礎(chǔ)知識(shí)不扎實(shí),遇到的問題,沒有很好的邏輯思維,親自編寫一個(gè)陌生的程序的時(shí)候會(huì)有種無法下手的感覺,找不到突破口。通過實(shí)訓(xùn),逐漸理清了順序,對(duì)于簡(jiǎn)單的程序和一些相對(duì)比較繁瑣的嵌套,循環(huán),不在是看著一頭霧水。其實(shí)只要理清了思路,把基礎(chǔ)知識(shí)掌握了,然后有條不紊的分析,一步一步理解,感覺C語言還是很有意思的課程。

      (3)自己親自動(dòng)手編寫程序讓我增加了對(duì)C語言程序開發(fā)環(huán)境的了解,在上課的時(shí)候老師就講,學(xué)習(xí)C語言最重要的是學(xué)習(xí)C語言的邏輯思維,不管以后從事什么行業(yè),學(xué)習(xí)C語言都對(duì)自己的職業(yè)很有幫助,如果是從事編程工程工作的話,就更有幫助了,即使以后的編程工作可能不用C語言,但是擁有扎實(shí)的C語言基礎(chǔ)是對(duì)工作很有用的。當(dāng)初在初步接觸C語言的時(shí)候,看著一堆“奇形怪狀”的符號(hào),覺得甚是無聊,通過這次實(shí)訓(xùn),擺脫了那種似懂非懂的狀態(tài)!

      六、致謝

      感謝學(xué)校安排這次實(shí)訓(xùn)和老師的耐心講解,讓我學(xué)到了很多知識(shí),在實(shí)訓(xùn)過程中,同學(xué)之間的相互探討,老師的循循善誘,最終讓我們達(dá)到了舉一反三的效果,在學(xué)知識(shí)的同時(shí),也增加了同學(xué)老師之間的感情。希望以后還會(huì)有更多類似的實(shí)訓(xùn)課程,在有限的大學(xué)時(shí)間內(nèi)學(xué)到更多的實(shí)用技能,為以后的工作打下一個(gè)良好的基礎(chǔ)。

      第四篇:C語言實(shí)習(xí)報(bào)告

      C 語 言 課 程 實(shí)習(xí)報(bào) 告

      所 在 院 系 :經(jīng)濟(jì)管理學(xué)院 班 級(jí) 學(xué) 號(hào) :083081 學(xué) 序 號(hào) : 20081003628 姓 名 :胡雅雯 程序 已存檔 : 指 導(dǎo) 老 師 :__趙 曼____ 評(píng) 分 :____________

      二零一零年一月十五日

      題目:一擔(dān)挑游戲

      簡(jiǎn)單計(jì)算機(jī)模擬棋盤對(duì)奕,其中棋盤左上角坐標(biāo)為(1,1),右下角坐標(biāo)為(3,3),游戲規(guī)則如下:(1)計(jì)算機(jī)移動(dòng)時(shí),使用相應(yīng)函數(shù)掃描棋盤矩陣,尋找未占單元,發(fā)現(xiàn)空單元后,置為”O(jiān)”,未發(fā)現(xiàn)時(shí),報(bào)告平局后退出。

      (2)輪到對(duì)奕者時(shí),使用相應(yīng)函數(shù)要求對(duì)奕者回答想把“X”放在哪里。(3)誰先三點(diǎn)連成一線則報(bào)告誰勝出。

      (4)計(jì)算機(jī)與對(duì)奕者每下一步棋都會(huì)使相應(yīng)位置變?yōu)椤癘”與“X”,便于在屏幕上顯示矩陣。

      提示:棋盤位置用二維數(shù)組代表,初始位置每一位都置為““空,其分割線可用——或||來分割。

      分析: 應(yīng)有計(jì)算機(jī)和用戶各自選擇位置的函數(shù),能通過鍵盤選擇位置。

      詳細(xì)設(shè)計(jì): 1 主函數(shù)

      棋盤的初始化由主函數(shù)賦予初值,計(jì)算機(jī)和用戶的每一步都由函數(shù)來確定,并由主函數(shù)調(diào)用。判斷贏家時(shí)由主函數(shù)調(diào)用核對(duì)函數(shù),并顯示最終棋盤格局。

      int main(void){ char done;

      printf(“This is the game of Tic Tac Toe.”);

      printf(“you will be playing against the computer.n”);

      done=' ';

      init_matrix();do { disp_matrix();

      get_player_move();

      done=check();/*see if winner*/

      if(done!=' ')/*winner!*/

      break;

      get_computer_move();

      done=check();/*see if winner*/ } while(done==' ');

      if(done=='X')

      printf(“You won!n”);

      else printf(“I won!!n”);

      disp_matrix();/*show final positions*/

      getchar();

      return 0;} 2 公共函數(shù)

      (1)計(jì)算機(jī)

      void get_computer_move(void)/*使計(jì)算機(jī)走一步*/ { int i,j;

      for(i=1;i<4;i++){ for(j=1;j<4;j++)

      if(matrix[i][j]==' ')

      break;

      if(matrix[i][j]==' ')break;} if(i*j==16){ printf(“drawn”);

      exit(0);} else

      matrix[i][j]='0';}(2)

      玩家

      void get_player_move(void)/*玩家走一步*/ { int x,y;printf(“Enter X,Y coordinates for your move:”);scanf(“%d%*c%d”,&x,&y);//x--;y--;if(matrix[x][y]!=' '){ printf(“Invalid move, try again.n”);/*所選位置已被計(jì)算機(jī)占據(jù),則重新選擇*/ get_player_move();} else matrix[x][y]='X';/*被選中的位置置為“X“*/ }(3)disp_matrix(void)void disp_matrix(void){ int t;for(t=1;t<4;t++){ printf(“%c |%c |%c ”,matrix[t][1],matrix[t][2],matrix[t][3]);if(t!=3)printf(“n--|--|--n”);} printf(“n”);}(4)init_matrix(void)

      void init_matrix(void)/* initialize the matrix.*/ { int i,j;

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

      for(j=1;j<4;j++)

      matrix[i][j]=' ';}

      (5)核對(duì)函數(shù)

      char check(void)/*是否出現(xiàn)贏家*/ { int i;for(i=1;i<4;i++)/*check rows*/

      if(matrix[i][1]==matrix[i][2]&&matrix[i][1]==matrix[i][3])

      return matrix[i][1];/*橫行*/

      for(i=1;i<4;i++)/*check columns*/

      if(matrix[1][i]==matrix[1][i]&&matrix[1][i]==matrix[3][i])

      return matrix[1][i];/*豎行*/

      for(i=1;i<4;i++)/*check diagonals*/

      if(matrix[1][1]==matrix[2][2]&&matrix[1][1]==matrix[3][3])

      return matrix[1][1];/*斜行*/

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

      if(matrix[1][3]==matrix[2][2]&&matrix[2][2]==matrix[3][1])

      return matrix[1][3];/*斜行*/

      return ' ';/*返回值*/

      }

      運(yùn)行結(jié)果

      主菜單函數(shù)

      人機(jī)各走一步后

      選擇被占位置

      計(jì)算機(jī)贏家

      用戶贏家

      顯示最終格局

      總結(jié):

      通過該實(shí)例的學(xué)習(xí),我初步掌握了開發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本法,學(xué)會(huì)了調(diào)試較長程序和利用流程圖表示算法,進(jìn)一步掌握和提高了C語言進(jìn)行程序設(shè)計(jì)的能力.附錄

      5、/*一擔(dān)挑游戲 */ #include “stdio.h” #include “stdlib.h” char matrix[3][3];/*the tic tac toe matrix*/ char check(void);void init_matrix(void);void get_player_move(void);void get_computer_move(void);void disp_matrix(void);int main(void){ char done;printf(“This is the game of Tic Tac Toe.”);printf(“you will be playing against the computer.n”);done=' ';init_matrix();do { disp_matrix();get_player_move();done=check();/*see if winner*/ if(done!=' ')/*winner!*/ break;get_computer_move();done=check();/*see if winner*/ } while(done==' ');if(done=='X')printf(“You won!n”);else printf(“I won!!n”);disp_matrix();/*show final positions*/ getchar();return 0;} /* initialize the matrix.*/ void init_matrix(void){ int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)matrix[i][j]=' ';} /*get a player's move.*/ void get_player_move(void){ int x,y;printf(“Enter X,Y coordinates for your move:”);scanf(“%d%*c%d”,&x,&y);x--;y--;if(matrix[x][y]!=' '){ printf(“Invalid move, try again.n”);get_player_move();} else matrix[x][y]='X';} /*get a move from the computer*/ void get_computer_move(void){ int i,j;for(i=0;i<3;i++){ for(j=0;j<3;j++)if(matrix[i][j]==' ')break;if(matrix[i][j]==' ')break;} if(i*j==9){ printf(“drawn”);exit(0);} else matrix[i][j]='0';} /*display the matrix on the screen*/ void disp_matrix(void){ int t;for(t=0;t<3;t++){ printf(“%c |%c |%c ”,matrix[t][0],matrix[t][1],matrix[t][2]);if(t!=2)printf(“n--|--|--n”);} printf(“n”);} /*see if there is a winner.*/ char check(void){ int i;for(i=0;i<3;i++)/*check rows*/ if(matrix[i][0]==matrix[i][1]&&matrix[i][0]==matrix[i][2])return matrix[i][0];for(i=0;i<3;i++)/*check columns*/ if(matrix[0][i]==matrix[1][i]&&matrix[0][i]==matrix[2][i])return matrix[0][i];for(i=0;i<3;i++)/*check diagonals*/ if(matrix[0][0]==matrix[1][1]&&matrix[0][0]==matrix[2][2])return matrix[0][0];for(i=0;i<3;i++)if(matrix[0][2]==matrix[1][1]&&matrix[1][1]==matrix[2][0])return matrix[0][2];return ' ';}

      課程設(shè)計(jì)心得

      通過這次課程設(shè)計(jì)才真正實(shí)踐編程明白編程是一件很細(xì)致的事情需要不斷的深入的仔細(xì)研究,尤其是發(fā)現(xiàn)程序運(yùn)行不了的時(shí)候,需要找錯(cuò)誤是一件很麻煩的事,但是運(yùn)行出來的時(shí)候的喜悅將這一切又全部忘記了,在此次實(shí)踐當(dāng)中正是老師和同學(xué)的不斷幫助才使我不斷提高。作為新時(shí)代的大學(xué)生,我們就是要在不斷實(shí)踐不斷研究中不斷地提高自己的能力,如今的社會(huì)日新月異,知識(shí)信息高速發(fā)展,而作為這個(gè)時(shí)代的標(biāo)志,計(jì)算機(jī)更是一個(gè)飛速更新的東西,也可能c語言幾年后就會(huì)被淘汰,所以這就要求我們不僅要掌握現(xiàn)有的知識(shí),還要不斷和時(shí)代的進(jìn)步發(fā)展相結(jié)合,不僅要掌握現(xiàn)有的知識(shí)更重要的是學(xué)會(huì)迅速上手每個(gè)出現(xiàn)的新事物,從整體的視角把握新時(shí)代的脈搏.知識(shí)只是把書本和表象攝入底片的照相機(jī),能力才是洞穿事物的本質(zhì)和內(nèi)核的透視儀,所以善于抓住一切機(jī)會(huì)積極實(shí)踐,努力提高自己的能力,這才是最重要的。

      第五篇:c語言實(shí)習(xí)報(bào)告

      目 錄

      一、前言?????????????????????????2

      二、引言?????????????????????????2 2.1系統(tǒng)開發(fā)工具???????????????????? 2 2.2實(shí)習(xí)目的??????????????????? 3 2.3實(shí)習(xí)基本內(nèi)容與要求?????????????????3 2.4實(shí)習(xí)時(shí)間安排???????????????????? 3 2.5實(shí)習(xí)地點(diǎn)?????????????????????? 3 2.6實(shí)習(xí)內(nèi)容??????????????????????????? 3

      三、學(xué)生成績(jī)管理系統(tǒng)分析?????????????????3.1系統(tǒng)概況??????????????????????4 3.2需求分析??????????????????????4 3.3總體功能要求????????????????????5 3.3.1總體功能模塊?????????????????? 5 3.3.2各函數(shù)的功能和實(shí)現(xiàn)???????????????? 6 3.3.3各部分流程圖??????????????????????? 6 3.3.4性能要求????????????????????????? 8

      四、詳細(xì)設(shè)計(jì)???????????????????????8 4.1關(guān)鍵部分的代碼、說明及運(yùn)行結(jié)果圖???????????????8

      1、全局定義部分?????????????????????8

      2、主程序部分??????????????????????8

      3、輸入信息部分?????????????????????10

      4、輸出信息部分?????????????????????12

      5、排序部分??????????????????13

      6、插入信息部分??????????????????14

      7、刪除部分??????????????????15 4.2總程序????????????????????????16

      五、實(shí)習(xí)心得體會(huì)?????????????????????24

      六、附錄:參考文獻(xiàn)????????????????????25

      一、前言

      隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生成績(jī)信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn)。例如,檢索迅速,查找方便,可靠性高,存儲(chǔ)量大,保密性好,壽命長,成本低等。這些優(yōu)點(diǎn)能極大地提高學(xué)生檔案管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)學(xué)生成績(jī)管理系統(tǒng)很有必要。

      學(xué)生成績(jī)管理系統(tǒng)是為了適應(yīng)現(xiàn)代化學(xué)校的管理,加快推進(jìn)數(shù)字化校園的建設(shè)、充分利用校園網(wǎng),利用網(wǎng)絡(luò)、多媒體等計(jì)算機(jī)應(yīng)用技術(shù)和手段,提高辦公效率、改善質(zhì)量的高效管理學(xué)校系統(tǒng)。

      學(xué)生成績(jī)管理系統(tǒng)是系科綜合管理系統(tǒng)的重要組成部分,為學(xué)校學(xué)生層面的管理提供了一個(gè)有用的數(shù)字化學(xué)生成績(jī)管理系統(tǒng)的工具,在學(xué)校學(xué)生管理中起著舉足輕重的作用。

      為了培養(yǎng)自己正確的程序設(shè)計(jì)思想,使平時(shí)學(xué)習(xí)的理論聯(lián)系實(shí)際,培養(yǎng)自己嚴(yán)肅認(rèn)真,實(shí)事求是的科學(xué)態(tài)度和勇于探索的創(chuàng)新精神,培養(yǎng)自己綜合運(yùn)用所學(xué)知識(shí)與實(shí)踐經(jīng)驗(yàn),分析和解決相應(yīng)領(lǐng)域的工程技術(shù)問題或進(jìn)行軟件項(xiàng)目開發(fā)的能力。學(xué)院依照課程教學(xué)大綱和課程設(shè)計(jì)大綱提出了本次課程設(shè)計(jì)的題目及要求。

      要求掌握C程序的基本結(jié)構(gòu)和C語言基本的數(shù)據(jù)結(jié)構(gòu),熟悉C程序的編輯、編譯、調(diào)試和運(yùn)行過程,了解程序設(shè)計(jì)的一般方法、結(jié)構(gòu)化程序設(shè)計(jì)的思想,熟悉算法的描述工具—N—S流程圖的使用及常用算法,能夠熟練地閱讀用C語言編寫的程序,能夠運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)編寫C程序。

      二、引言

      2.1系統(tǒng)開發(fā)工具簡(jiǎn)介

      WIN-TC是一個(gè)TC2 WINDOWS平臺(tái)開發(fā)工具。該軟件使用TC2為內(nèi)核,提供WINDOWS平臺(tái)的開發(fā)界面,因此也就支持WINDOWS平臺(tái)下的功能,例如剪切、復(fù)制、粘貼和查找替換等。而且在功能上也有它的獨(dú)特特色例如語法加亮、C內(nèi)嵌匯編、自定義擴(kuò)展庫的支持等。并提供一組相關(guān)輔助工具 令你在編程過程中更加游刃有余,如虎添翼。本軟件用于編寫C語言程序。2.2實(shí)習(xí)目的

      進(jìn)一步加深、鞏固所學(xué)專業(yè)課程(《C語言程序設(shè)計(jì)》)的基本理論知識(shí),理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)自己綜合分析問題和解決問題的能力。掌握運(yùn)用C語言獨(dú)立地編寫、調(diào)試應(yīng)用程序和進(jìn)行其它相關(guān)設(shè)計(jì)的技能。

      使學(xué)生在掌握C語言的基本語法的基礎(chǔ)上,能夠更好的理解和運(yùn)用其解決實(shí)際問題。在實(shí)踐實(shí)習(xí)操作中讓學(xué)生對(duì)結(jié)構(gòu)化程序設(shè)計(jì)有更進(jìn)一步深刻的認(rèn)識(shí)與了解,提高學(xué)生的實(shí)踐操作能力。2.3、實(shí)習(xí)基本內(nèi)容與要求: 用鏈表實(shí)現(xiàn)簡(jiǎn)單的學(xué)籍管理

      1、總體功能要求

      (1)鏈表的建立:每個(gè)節(jié)點(diǎn)包括:學(xué)號(hào)、姓名、性別、語文、數(shù)學(xué)、英語、總分;

      (2)節(jié)點(diǎn)的插入:按學(xué)號(hào)的順序插入;(3)刪除鏈表中的節(jié)點(diǎn):按學(xué)號(hào)或者姓名;(4)鏈表的輸出:按學(xué)號(hào)排序、按總分排序。

      2、性能的要求:

      (1)各個(gè)功能分別用函數(shù)實(shí)現(xiàn);(2)節(jié)點(diǎn)信息讓用戶通過鍵盤輸入;(3)總分通過計(jì)算獲得;(4)有簡(jiǎn)單的操作界面;

      (5)盡可能考慮程序的容錯(cuò)性、可操作性。

      3、寫實(shí)習(xí)報(bào)告以及心得體會(huì)

      2.4實(shí)習(xí)時(shí)間安排

      2011年7月12日 在服務(wù)器上下載應(yīng)用程序、實(shí)習(xí)報(bào)告模板,練習(xí)書本第11章的例題

      2011年7月13日 在自己的機(jī)器上程序設(shè)計(jì) 2011年7月14日 程序設(shè)計(jì)

      2011年7月15日 撰寫實(shí)習(xí)報(bào)告及心得體會(huì) 2011年7月16日 交實(shí)習(xí)報(bào)告 2.5 實(shí)習(xí)地點(diǎn):c1 2樓機(jī)房 2.6實(shí)習(xí)內(nèi)容

      對(duì)學(xué)生信息(包括姓名、學(xué)號(hào)、語文、數(shù)學(xué)、英語、平均分、總分)進(jìn)行管理,包括學(xué)生成績(jī)的信息輸入、輸出、查詢、刪除、排序、退出、保存.將學(xué)生的成績(jī)信息進(jìn)行記錄,信息內(nèi)容包含:(1)學(xué)生的學(xué)號(hào)(2)學(xué)生的姓名(3)學(xué)生的成績(jī)。假設(shè),現(xiàn)收集到了一個(gè)班學(xué)生的所有成績(jī)信息,要求用C語言編寫一個(gè)簡(jiǎn)單的成績(jī)管理系統(tǒng),可進(jìn)行錄入、查詢、修改、排序和瀏覽等功能。學(xué)習(xí)相關(guān)開發(fā)工具和應(yīng)用軟件,熟悉系統(tǒng)建設(shè)過程。

      三、學(xué)生成績(jī)管理系統(tǒng)分析

      3.1系統(tǒng)概況

      本次實(shí)習(xí)是通過建立一個(gè)學(xué)生學(xué)籍管理系統(tǒng)來更好的認(rèn)識(shí)和掌握C語言中鏈表這一重要的知識(shí)內(nèi)容.本系統(tǒng)實(shí)現(xiàn)的功能如下:

      1.創(chuàng)建學(xué)生學(xué)籍信息,每個(gè)學(xué)生學(xué)籍信息包括:學(xué)號(hào)、姓名、語文、數(shù)學(xué)、英語、平均分、總分;

      2.插入信息:按照學(xué)號(hào)由小到大的循序插入信息;

      3.查找信息:通過選擇按照學(xué)號(hào)或者姓名來查找到該學(xué)生的信息; 4.刪除信息:通過選擇按照學(xué)號(hào)或者按照姓名刪除某個(gè)學(xué)生學(xué)籍信息; 5.輸出信息:通過選擇按學(xué)號(hào)(由小到大)或者總分(由小到大)或者平均分(由小到大)來輸出信息;

      6.保存信息:對(duì)學(xué)生學(xué)籍系統(tǒng)中的信息以記事本的學(xué)生進(jìn)行保存。

      本系統(tǒng)的亮點(diǎn)是在運(yùn)用模塊來組建該學(xué)生學(xué)籍管理系統(tǒng),也就是說各個(gè)功能以模塊的實(shí)現(xiàn),通過主函數(shù)來調(diào)用模塊,實(shí)現(xiàn)管理功能,這樣程序結(jié)構(gòu)清晰,容易檢查到錯(cuò)誤所在模塊,減少了調(diào)試的壓力。其次,是運(yùn)用結(jié)構(gòu)體來組織數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)規(guī)范,通過指針的操作很容易實(shí)現(xiàn)簡(jiǎn)單的查找、刪除、輸出等操作。最后,容錯(cuò)性較好,比如輸入成績(jī)輸入時(shí)按照我們百分制輸入,必須輸入1-100之間的數(shù)字,如果輸入的不是1-100中的數(shù)據(jù),在系統(tǒng)將顯示信息錯(cuò)誤信息,要求重新輸入。

      軟件配備:TurboC2.0,Windows 2000/20003/xp等; 硬件配備:內(nèi)存:512MB及以上;

      外存:60GB及以上; CPU: 奔4及以上; 3.2需求分析

      1、用C語言實(shí)現(xiàn)系統(tǒng);

      2、對(duì)學(xué)生信息(包括學(xué)號(hào)、姓名、語文、數(shù)學(xué)、英語、平均分)進(jìn)行管理,包括學(xué)生成績(jī)的信息輸入、輸出、查詢、刪除、排序、統(tǒng)計(jì)、退出.3、學(xué)生信息包括:其內(nèi)容較多,為了簡(jiǎn)化討論,要求設(shè)計(jì)的管理系統(tǒng)能夠完成以下功能:

      (1)、每一條記錄包括一個(gè)學(xué)生的學(xué)號(hào)、姓名、3門課成績(jī)

      (2)、成績(jī)信息錄入功能:(成績(jī)信息用文件保存,可以一次完成若干條記錄的輸入。)(3)、成績(jī)信息顯示瀏覽功能:完成全部學(xué)生記錄的顯示。(4)、查詢功能:完成按姓名查找學(xué)生記錄,并顯示。(5)、成績(jī)信息的刪除:按學(xué)號(hào)進(jìn)行刪除某學(xué)生的成績(jī).(6)、排序功能:按學(xué)生平均成績(jī)進(jìn)行排序。

      (7)、應(yīng)提供一個(gè)界面來調(diào)用各個(gè)功能,調(diào)用界面和各個(gè)功能的操作界面應(yīng)盡可能清晰美觀!3.3總體功能要求

      3.3.1總體功能模塊 學(xué)生成績(jī)管理信息系統(tǒng)的主界面,包括六個(gè)內(nèi)容:信息輸入,信息輸出,信息刪除,信息的排序,信息的查找和信息的保存。

      信息輸入包括創(chuàng)建信息和信息添加:其中創(chuàng)建的學(xué)生信息包括學(xué)生的學(xué)號(hào),姓名,性別以及語文,數(shù)學(xué),英語三門課程的成績(jī)。信息添加的內(nèi)容也是創(chuàng)建的所有學(xué)籍信息。

      信息刪除是按照學(xué)生的學(xué)號(hào)進(jìn)行刪除。

      信息的排序也可以分為三種方法進(jìn)行:一是按照學(xué)號(hào)進(jìn)行排序,二是根據(jù)學(xué)生語文、數(shù)學(xué)、英語三門課程的總分進(jìn)行排序,三是根據(jù)學(xué)生語文、數(shù)學(xué)、英語三門課程的平均分進(jìn)行排序。

      信息的查找時(shí)按照學(xué)生的學(xué)號(hào)進(jìn)行查找。

      信息的保存是通過程序與文件的鏈接進(jìn)行的,可以直接將學(xué)生成績(jī)以記事本的形式保存到指定文件夾中。

      總 體 功 能 模 塊 圖

      3.3.2各函數(shù)的功能和實(shí)現(xiàn)

      1、輸入初始的學(xué)生信息:輸入信息包括學(xué)生的姓名、學(xué)號(hào)以及學(xué)生的成績(jī)等相關(guān)信息;可用函數(shù)void input(STUDENT *data, int *len)來實(shí)現(xiàn)此操作。

      2、成績(jī)輸出模塊:輸出學(xué)生的信息以及成績(jī)void output(STUDENT *data, int len):通過學(xué)生的姓名來查看學(xué)生的相關(guān)成績(jī),同時(shí)也可以分別通過caverage()、maverage()、eaverage()和comaverage()來輸出成績(jī)的平均分?jǐn)?shù)、最高和最低分?jǐn)?shù)。

      3、成績(jī)查詢模塊:可用void find(STUDENT *data, int len)來實(shí)現(xiàn)。找到就輸出此學(xué)生全部信息。

      4、刪除模塊:用函數(shù)void delete_item(STUDENT *data, int *len)來實(shí)現(xiàn)

      5、排序模塊:用函數(shù)void sort(STUDENT *data, int len)來實(shí)現(xiàn)

      6、統(tǒng)計(jì)功能能:用函數(shù)void stat(STUDENT *data, int len)來實(shí)現(xiàn)

      7、退出系統(tǒng):可用一個(gè)函數(shù)exit()來實(shí)現(xiàn),首先將信息保存到文件中,釋放動(dòng)態(tài)創(chuàng)建的內(nèi)存空間,再退出此程序。

      3.3.3各部分流程圖 1.學(xué)生信息輸入流程圖 2.學(xué)生信息輸出流程圖

      3.刪除的流程圖

      4.插入信息的流程圖 5.對(duì)信息的排序流程圖

      3.3.4性能要求

      1、功能分別用函數(shù)實(shí)現(xiàn);

      2、信息讓用戶通過鍵盤輸入;

      3、通過計(jì)算獲得;

      4、簡(jiǎn)單的操作界面;

      5、可能考慮程序的容錯(cuò)

      四、詳細(xì)設(shè)計(jì)

      4.1關(guān)鍵部分的代碼、說明及運(yùn)行結(jié)果圖

      1、全局定義部分

      #include #include #include #include #define NULL 0 /*令NULL為0,表示空地址*/ #define LEN sizeof(struct student)/*令LEN代表struct student類型數(shù)據(jù)的長度,sizeof是“求字節(jié)數(shù)運(yùn)算符”*/ struct student /*定義結(jié)構(gòu)體*/ { long num;/*定義學(xué)生學(xué)號(hào)*/ char name[20];/*定義姓名*/ char sex[10];/*定義性別*/ int chinese;/*語文分?jǐn)?shù),假設(shè)為整數(shù)*/ int math;/*數(shù)學(xué)分?jǐn)?shù)*/ int english;/*英語分?jǐn)?shù)*/ int sum;/*三門總分*/ struct student *next;};int n;/*n為全局變量,定義為節(jié)點(diǎn)個(gè)數(shù)*/ /*創(chuàng)建鏈表,帶回一個(gè)指向鏈表頭的指針*/ struct student *creat(vonum){ struct student *head;struct student *p1,*p2;n=0;p1=p2=(struct student*)malloc(LEN);/*開辟一個(gè)新單元*/ printf(“nInput student's number:(press 0 to exit)”);

      2、主程序部分

      main()/*主函數(shù)*/

      {struct student *head,*stu;long del_num;int N;a: printf(“The student information management system n”);printf(“n(LIST)n”);printf(“ 1.Create a new namelistn”);printf(“ 2.Print the namelistn”);printf(“ 3.Delete a record from the namelistn”);printf(“ 4.insert a recordn”);printf(“ 5.sort the programmen”);printf(“ 0.exit the programmen”);printf(“please enter the number:”);scanf(“%d”,&N);switch(N){case 0:exit(0);goto end;case 1: printf(“input records:n”);head=creat();print(head);break;case 2: print(head);break;case 3: printf(“ninput the delete number :”);scanf(“%1d”,&del_num);while(del_num!=0){head=del(head,del_num);print(head);printf(“ninput the deleted number:”);scanf(“%1d”,&del_num);}break;case 4: printf(“ninput the insert record:”);stu=(struct student *)malloc(LEN);printf(“nplease input number :”);scanf(“%ld”,&stu->num);printf(“please input name”);scanf(“%s”,&stu->name);printf(“please choose sex(f or m):”);scanf(“%s”,&stu->sex);printf(“please input chinese score:”);scanf(“%d”,&stu->chinese);printf(“please input maths score:”);scanf(“%d”,&stu->maths);9 printf(“please input english score:”);scanf(“%d”,&stu->english);while(stu->num!=0){head=insert(head,stu);print(head);printf(“ninput theinsert record:”);stu=(struct student*)malloc(LEN);printf(“nplease input number:”);scanf(“%ld”,&stu->num);printf(“please input name:”);scanf(“%s”,&stu->name);printf(“please choose sex(f or m):”);scanf(“%s”,&stu->sex);printf(“please input chinese score:”);scanf(“%d”,&stu->chinese);printf(“please input maths score:”);scanf(“%d”,&stu->maths);printf(“please input english score:”);scanf(“%d”,&stu->english);break;case 5: head=sort(head);print(head);break;

      }goto a;end:;} }

      3、輸入信息部分 /*輸入數(shù)據(jù)*/ scanf(“%ld”,&p1->num);if(p1->num!=0){ a: printf(“Input student's name: ”);scanf(“%s”,&p1->name);b: printf(“Input student's sex(f or m): ”);scanf(“%s”,&p1->sex);c: printf(“Input chinese score: ”);scanf(“%d”,&p1->chinese);if(p1->chinese>100||p1->chinese<0)/*驗(yàn)證成績(jī)是否在0——100之間*/ {printf(“Please enter a number between 0 to 100!n”);10 goto c;} d: printf(“Input math score: ”);scanf(“%d”,&p1->math);if(p1->math>100||p1->math<0){printf(“Please enter a number between 0 to 100!n”);goto d;} e: printf(“Input english score: ”);scanf(“%d”,&p1->english);if(p1->english>100||p1->english<0){printf(“Please enter a number between 0 to 100!n”);goto e;} } head=NULL;while(p1->num!=0){ n=n+1;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct student *)malloc(LEN);printf(“nInput student's number(press 0 to exit): ”);scanf(“%ld”,&p1->num);if(p1->num!=0){printf(“Input student's name: ”);scanf(“%s”,&p1->name);printf(“Input student's sex(f or m): ”);scanf(“%s”,&p1->sex);printf(“Input Chinese score: ”);scanf(“%d”,&p1->chinese);if(p1->chinese>100||p1->chinese<0){printf(“Please enter a number between 0 to 100n”);/*績(jī)是否在0——100之間*/ goto c;} printf(“Input math score: ”);scanf(“%d”,&p1->math);if(p1->math>100||p1->math<0){printf(“Please enter a number between 0 to 100n”);/*是否在0——100之間*/ 11

      驗(yàn)證成驗(yàn)證成績(jī) goto d;} printf(“Input english score: ”);scanf(“%d”,&p1->english);if(p1->english>100||p1->english<0){printf(“Please enter a number between 0 to 100n”);goto e;} } } p2->next=NULL;return(head);} 輸入界面如下:

      4、輸出信息部分

      /*輸出鏈表*/ void print(struct student *head){ struct student *p;printf(“n=============Student information=============n”);printf(“nthe %d recrods are:n”,n);printf(“| NO.| Name | Sex |Chi |math|Eng | sum|n”);printf(“|----------|--------|-----|----|----|----|------|n”);p=head;if(p!=NULL)do { p->sum=p->chinese+p->math+p->english;/*求總分賦給totalscorescore*/ /*輸出各項(xiàng)值*/ 12 printf(“|%10ld|%8s|%5s|%4d|%4d|%4d|%6d|n”, p->num, p->name,p->sex,p->chinese,p->math, p->english,p->sum);p=p->next;/*將p原來指向的節(jié)點(diǎn)中next的值賦給p,使p指向第下一個(gè)節(jié)點(diǎn)*/ p->sum=NULL;/*將總分totalscorescore賦空地址*/ }while(p!=NULL);else printf(“nNo recordsn”);printf(“===============END====================n”);}

      5、排序部分

      struct student *sort(struct student *head)/*{int i=0;struct student *p,*q,*t,*h1;h1=head->next;head->next=NULL;while(h1!=NULL){t=h1;h1=h1->next;p=head;q=head;while(t->total>p->total&&p!=NULL){q=p;p=p->next;} if(p==q){t->next=p;head=t;} else {t->next=p;q->next=t;} } p=head;while(p!=NULL){i++;p->order=i;p=p->next;} printf(“sort sucess!n”);return(head);}

      如按總分排序,界面如下:

      排序函數(shù)*/

      按學(xué)號(hào)排序,界面如下:

      6、插入信息部分

      /*插入結(jié)點(diǎn)函數(shù)*/ struct student *insert(struct student *head,struct student *stud){struct student *p0,*p1,*p2;p1=head;p0=stud;if(head==NULL){head=p0;p0->next=NULL;} else {while((p0->num>p1->num)&&(p1->next!=NULL)){p2=p1;p1=p1->next;} if(p0->num<=p1->num){if(head==p1)head=0;else p2->next=p0;14 p0->next=p1;} else {p1->next=p0;p0->next=NULL;} } n=n+1;p1->order=n;return(head);}

      7、刪除部分 /*刪除節(jié)點(diǎn)*/ struct student *del(struct student *head,long num)/*參數(shù)為起始地址head和學(xué)號(hào)number*/ { struct student *p1,*p2;if(head==NULL){printf(“nlist null!n”);} p1=head;while(num!=p1->num&&p1->next!= NULL)/**p1指向的不是所要找的節(jié)點(diǎn),并且后面還有節(jié)點(diǎn)*/ { p2=p1;p1=p1->next;/**p1后移一個(gè)節(jié)點(diǎn)*/ } if(num==p1->num){ if(p1==head)head=p1->next;/*若p1指向的是頭節(jié)點(diǎn),把第二個(gè)節(jié)點(diǎn)地址賦予head*/ else p2->next=p1->next;/*否則將下一節(jié)點(diǎn)地址賦給前一節(jié)點(diǎn)地址*/ printf(“delete:%ldn”,num);n=n-1;} else printf(“%ld not been found!n”,num);/*找不到該節(jié)點(diǎn)*/ return(head);} 界面如下:刪除后

      4.2、總程序

      #include #include #include #include #define NULL 0 /*令NULL為0,表示空地址*/ #define LEN sizeof(struct student)/*令LEN代表struct student類型數(shù)據(jù)的長度,sizeof是“求字節(jié)數(shù)運(yùn)算符”*/ struct student /*定義結(jié)構(gòu)體*/ { long num;/*定義學(xué)生學(xué)號(hào)*/ char name[20];/*定義姓名*/ char sex[10];/*定義性別*/ int chinese;/*語文分?jǐn)?shù),假設(shè)為整數(shù)*/ int math;/*數(shù)學(xué)分?jǐn)?shù)*/ int english;/*英語分?jǐn)?shù)*/ int sum;/*三門總分*/ struct student *next;};

      int n;/*n為全局變量,定義為節(jié)點(diǎn)個(gè)數(shù)*/ /*創(chuàng)建鏈表,帶回一個(gè)指向鏈表頭的指針*/ struct student *creat(vonum){ struct student *head;struct student *p1,*p2;n=0;p1=p2=(struct student*)malloc(LEN);/*開辟一個(gè)新單元*/ 16 printf(“nInput student's number:(press 0 to exit)”);/*輸入數(shù)據(jù)*/ scanf(“%ld”,&p1->num);if(p1->num!=0){ a: printf(“Input student's name: ”);scanf(“%s”,&p1->name);b: printf(“Input student's sex(f or m): ”);scanf(“%s”,&p1->sex);c: printf(“Input chinese score: ”);scanf(“%d”,&p1->chinese);if(p1->chinese>100||p1->chinese<0)/*驗(yàn)證成績(jī)是否在0——100之間*/ {printf(“Please enter a number between 0 to 100!n”);goto c;} d: printf(“Input math score: ”);scanf(“%d”,&p1->math);if(p1->math>100||p1->math<0){printf(“Please enter a number between 0 to 100!n”);goto d;} e: printf(“Input english score: ”);scanf(“%d”,&p1->english);if(p1->english>100||p1->english<0){printf(“Please enter a number between 0 to 100!n”);goto e;} } head=NULL;while(p1->num!=0){ n=n+1;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct student *)malloc(LEN);printf(“nInput student's number(press 0 to exit): ”);scanf(“%ld”,&p1->num);if(p1->num!=0){printf(“Input student's name: ”);17 scanf(“%s”,&p1->name);printf(“Input student's sex(f or m): ”);scanf(“%s”,&p1->sex);printf(“Input Chinese score: ”);scanf(“%d”,&p1->chinese);if(p1->chinese>100||p1->chinese<0){printf(“Please enter a number between 0 to 100n”);/*驗(yàn)證成績(jī)是否在0——100之間*/ goto c;} printf(“Input math score: ”);scanf(“%d”,&p1->math);if(p1->math>100||p1->math<0){printf(“Please enter a number between 0 to 100n”);/*是否在0——100之間*/ goto d;} printf(“Input english score: ”);scanf(“%d”,&p1->english);if(p1->english>100||p1->english<0){printf(“Please enter a number between 0 to 100n”);goto e;} } } p2->next=NULL;return(head);}

      /*輸出鏈表*/ void print(struct student *head){ struct student *p;printf(“n=============Student information=============n”);printf(“nthe %d recrods are:n”,n);printf(“| NO.| Name | Sex |Chi |math|Eng | sum|n”);printf(“|----------|--------|-----|----|----|----|------|n”);p=head;if(p!=NULL)do { p->sum=p->chinese+p->math+p->english;/*求總分賦給totalscorescore*/ /*輸出各項(xiàng)值*/ 18

      驗(yàn)證成績(jī) printf(“|%10ld|%8s|%5s|%4d|%4d|%4d|%6d|n”, p->num, p->name,p->sex,p->chinese,p->math, p->english,p->sum);p=p->next;/*將p原來指向的節(jié)點(diǎn)中next的值賦給p,使p指向第下一個(gè)節(jié)點(diǎn)*/ p->sum=NULL;/*將總分totalscorescore賦空地址*/ }while(p!=NULL);else printf(“nNo recordsn”);printf(“===============END====================n”);}

      /*刪除節(jié)點(diǎn)*/ struct student *del(struct student *head,long num)/*參數(shù)為起始地址head和學(xué)號(hào)number*/ { struct student *p1,*p2;if(head==NULL){printf(“nlist null!n”);} p1=head;while(num!=p1->num&&p1->next!= NULL)/**p1指向的不是所要找的節(jié)點(diǎn),并且后面還有節(jié)點(diǎn)*/ { p2=p1;p1=p1->next;/**p1后移一個(gè)節(jié)點(diǎn)*/ } if(num==p1->num){ if(p1==head)head=p1->next;/*若p1指向的是頭節(jié)點(diǎn),把第二個(gè)節(jié)點(diǎn)地址賦予head*/ else p2->next=p1->next;/*否則將下一節(jié)點(diǎn)地址賦給前一節(jié)點(diǎn)地址*/ printf(“delete:%ldn”,num);n=n-1;} else printf(“%ld not been found!n”,num);/*找不到該節(jié)點(diǎn)*/ return(head);}

      /*插入節(jié)點(diǎn)*/ struct student *insert(struct student *head,struct student *stud)/*stud是一個(gè)指針變量,從實(shí)參傳來待插入節(jié)點(diǎn)的地址給stud*/ { struct student *p0,*p1,*p2;p1=head;/*使p1指向第一個(gè)節(jié)點(diǎn)*/ p0=stud;/*p0指向要插入的節(jié)點(diǎn)*/ if(head==NULL)/*原來的鏈表是空表*/ {head=p0;p0->next=NULL;/*使p0指向的節(jié)點(diǎn)作為頭節(jié)點(diǎn)*/ 19 } else { while((p0->num>p1->num)&&(p1->next!=NULL)){ p2=p1;/*使p2指向剛才p1指向的節(jié)點(diǎn)*/ p1=p1->next;/*p1后移一個(gè)節(jié)點(diǎn)*/ } if(p0->num

      num){ if(head==p1)head=p0;/* else p2->next=p0;/* p0->next=p1;} else {p1->next=p0;p0->next=NULL;} /* } n=n+1;/*節(jié)點(diǎn)數(shù)加1*/ return(head);}

      /*exchange the element of chain*/ void swap(struct student* q1,struct student* q2){long temp_num;char temp_name;char temp_sex[10];int temp_chinese;int temp_math;int temp_english;int temp_sum;char s1[20];

      temp_num=q1->num;q1->num=q2->num;q2->num=temp_num;

      strcpy(s1,q1->name);strcpy(q1->name,q2->name);strcpy(q2->name,s1);

      temp_sex[10]=q1->sex[10];q1->sex[10]=q2->sex[10];q2->sex[10]=temp_sex[10];

      插到原來第一個(gè)節(jié)點(diǎn)之前*/ 插到p2指向的節(jié)點(diǎn)之后*/ 插到最后的節(jié)點(diǎn)之后*/ temp_chinese=q1->chinese;q1->chinese=q2->chinese;q2->chinese=temp_chinese;

      temp_english=q1->english;q1->english=q2->english;q2->english=temp_english;

      temp_math=q1->math;q1->math=q2->math;q2->math=temp_math;

      temp_sum=q1->sum;q1->sum=q2->sum;q2->sum=temp_sum;}

      /*sort by num*/ struct student * sort_num(struct student* head){struct student *p0,*p1,*p2;p0=head;do{ p1=p0;p2=p1;do{ if(p1->num>p2->num)p1=p2;p2=p2->next;}while(p2!=NULL);if(p1!=p0)swap(p0,p1);p0=p0->next;}while(p0!=NULL);return(head);}

      /*sort by totalscore form high to low*/ struct student * sort_sum(struct student* head){struct student *p0,*p1,*p2;p0=head;do{ p1=p0;p2=p1;do{ if(p1->sum

      sum)p1=p2;21 p2=p2->next;}while(p2!=NULL);if(p1!=p0)swap(p0,p1);p0=p0->next;}while(p0!=NULL);return(head);}

      /*主程序*/ main(){struct student *head,*stu;char aa;long del_num;M: printf(“n************welcome System************nn”);

      to

      the

      School

      Management printf(“***************************************************************n”);printf(“n************

      made by GIS1011 chenliuqing 1020209124 ************n”);printf(“* 1.Input students' records 2.Print students' records *n* 3.Delete records 4.Insert records *n* 5.Sort by number 6.Sort by totalscore *n* 7.System Information 8.Exit *n ”);

      printf(“********************END****************************************n”);printf(“********* ***************n”);aa=getch();aa=tolower(aa);switch(aa){ case'1': printf(“nInput students' records”);head=creat();/*返回頭指針*/ print(head);/*輸出全部節(jié)點(diǎn)*/ break;/*調(diào)用輸出鏈表函數(shù)*/ case'2':print(head);/*輸出全部節(jié)點(diǎn)*/ break;/*調(diào)用刪除節(jié)點(diǎn)函數(shù)*/ case'3': printf(“nInput the deleted number(press 0 to exit): ”);scanf(“%ld”,&del_num);while(del_num!=0){head=del(head,del_num);/*返回頭指針*/ print(head);/*輸出全部節(jié)點(diǎn)*/

      please

      choose

      the

      number

      before

      command 22 printf(“nInput the deleted number(press 0 to exit): ”);scanf(“%ld”,&del_num);} break;/*調(diào)用插入節(jié)點(diǎn)函數(shù)*/ case'4': printf(“nInput the inserted record”);stu=(struct student*)malloc(LEN);printf(“nInput student's number(press 0 to exit): ”);scanf(“%ld”,&stu->num);if(stu->num!=0){ printf(“Input student's name:”);scanf(“%s”,stu->name);printf(“Input student's sex(f or m):”);scanf(“%s”,stu->sex);printf(“Input chinese score: ”);scanf(“%d”,&stu->chinese);printf(“Input math score: ”);scanf(“%d”,&stu->math);printf(“Input english score: ”);scanf(“%d”,&stu->english);} while(stu->num!=0){ head=insert(head,stu);print(head);/*輸出全部節(jié)點(diǎn)*/ printf(“Input the inserted record”);stu=(struct student *)malloc(LEN);printf(“nInput student's number(press 0 to exit): ”);scanf(“%ld”,&stu->num);printf(“Input student's name: ”);scanf(“%s”,stu->name);printf(“Input student's sex(f or m): ”);scanf(“%s”,stu->sex);printf(“Input Chinese score:”);scanf(“%d”,&stu->chinese);printf(“Input math score:”);scanf(“%d”,&stu->math);printf(“Input english score:”);scanf(“%d”,&stu->english);} break;/*調(diào)用按學(xué)號(hào)(從小到大)排序函數(shù)*/ case '5': head=sort_num(head);print(head);/*輸出全部節(jié)點(diǎn)*/ 23 break;/*調(diào)用按總分(從高到低)排序函數(shù)*/ case '6': head=sort_sum(head);print(head);/*輸出全部節(jié)點(diǎn)*/ break;case'7':printf(“n~~~~~~~~~~~~System Information~~~~~~~~~~~~n”);printf(“School Management SystemnMade Time:2010-7-24nVersion number:1.0nn”);printf(“~~~~~~~~~~~~~~~~~~ /*顯示系統(tǒng)信息*/ break;case'8':exit();/*退出程序*/ /*調(diào)用創(chuàng)建鏈表函數(shù)*/

      } goto M;/*返回、顯示主菜單*/ }

      END

      By

      xugaohongnFinish

      ~~~~~~~~~~~~~~~~~~nnn”);

      五、實(shí)習(xí)心得體會(huì)

      由于本課題中的許多知識(shí)點(diǎn)都沒有學(xué)過都要靠自己到課外的資料中去查找。在用的時(shí)候難免出現(xiàn)這樣那樣的錯(cuò)誤。如開始設(shè)計(jì)出來的菜單不是預(yù)想的那樣,而是總個(gè)窗中出現(xiàn)混亂。解決的這個(gè)問題的辦法是調(diào)整。一個(gè)系統(tǒng)的菜單和提示信息非常重要。如果沒有這些用戶根本不知道怎么用你設(shè)計(jì)的這個(gè)系統(tǒng)。在設(shè)計(jì)的調(diào)試過程中也無法順利的完成調(diào)試工作。有了一個(gè)清晰簡(jiǎn)單的菜單和一些提示信息這后,調(diào)試過程完成的非常順利。通過本次C語言程序設(shè)計(jì)的實(shí)習(xí),我學(xué)得了很多知識(shí),雖然在之前老師沒有詳細(xì)講鏈表的內(nèi)容,但是我通過自己看書,同學(xué)一起討論,會(huì)用鏈表處理簡(jiǎn)單的實(shí)際問題了,并對(duì)鏈表的建立、結(jié)點(diǎn)的插入、刪除節(jié)點(diǎn)以及鏈表的輸出等一系列鏈表知識(shí)有了較為深刻的認(rèn)識(shí)。而且自己的實(shí)際操作能力也有了提高。

      回顧起此次課程設(shè)計(jì),我感慨頗多,的確,從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整兩個(gè)禮拜的日子里,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能 24 真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體??通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)熟悉了,本次課程設(shè)計(jì)結(jié)束了,我們通過這次實(shí)踐學(xué)到了許多知識(shí)。學(xué)到了設(shè)計(jì)一個(gè)簡(jiǎn)單的系統(tǒng)。要注意哪些方面。也使我們知道自己哪些方面做得還不夠。這不僅是程序設(shè)計(jì),更是鍛煉我們處理問題的能力,同時(shí)也使我們了解到團(tuán)隊(duì)合作的可貴.編寫程序是件細(xì)心活,稍不留神就會(huì)出錯(cuò),這就必須要求我們對(duì)待事情要認(rèn)真!在編寫程序的過程中,錯(cuò)誤不斷出現(xiàn),不同的類型(如少寫了一個(gè)符號(hào),寫錯(cuò)了字母,用錯(cuò)了函數(shù)等等)層出不窮,這考驗(yàn)我們待事細(xì)心,耐心,能不能堅(jiān)持到底,不能半途而廢。但我們總結(jié)出了一點(diǎn)點(diǎn)的經(jīng)驗(yàn)如下:

      1、要對(duì)系統(tǒng)的功能和要求做出詳細(xì)的分析,并合理分解任務(wù)。

      2、把分解出來的子任務(wù),做給一個(gè)相對(duì)獨(dú)立的模塊。

      3、在設(shè)計(jì)一個(gè)模塊之前,要簡(jiǎn)單構(gòu)想一下總界面的顯視情況。

      4、針對(duì)構(gòu)想出來的界面進(jìn)行程序的編寫。

      六、附錄:

      參考文獻(xiàn)

      教材和主要參考書目:(1)教材:《C程序設(shè)計(jì)》,譚浩強(qiáng)編著,清華大學(xué)出版社(2)主要參考書目: ①《C程序設(shè)計(jì)教程》,譚浩強(qiáng)編著,清華大學(xué)出版社; ②《C語言程序設(shè)計(jì)——習(xí)題與實(shí)驗(yàn)指導(dǎo)》,譚浩強(qiáng)編著,清華大學(xué)出版社。

      下載C語言實(shí)習(xí)報(bào)告(優(yōu)秀范文五篇)word格式文檔
      下載C語言實(shí)習(xí)報(bào)告(優(yōu)秀范文五篇).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        C語言實(shí)習(xí)報(bào)告5篇

        C 語 言 實(shí)習(xí)報(bào) 告 系別:自動(dòng)化工程系 班級(jí):電力1201班 姓名:張浩 學(xué)號(hào):2012110137 一、實(shí)習(xí)目的 1、目的是培養(yǎng)我們具有初步的C語言程序設(shè)計(jì)、編程、調(diào)試和排除C語言程序語法......

        C語言程序設(shè)計(jì)實(shí)習(xí)報(bào)告

        實(shí)習(xí)報(bào)告 題 目: C語言程序設(shè)計(jì) 所屬系、部 : 電氣工程學(xué)院 班 級(jí): 電子商務(wù)131 姓 名:賀道君 學(xué)號(hào): 20***5 指 導(dǎo) 教 師: 費(fèi) 玲 玲2014年6月 一、 實(shí)習(xí)目的 加深......

        C語言課程設(shè)計(jì)實(shí)習(xí)報(bào)告

        C語言課程設(shè)計(jì)實(shí)習(xí)報(bào)告 題目一、兩個(gè)大數(shù)相乘問題 題目描述:本問題中,要求輸入兩個(gè)相對(duì)較大的正整數(shù),能夠通過程序計(jì)算出其結(jié)果。 設(shè)計(jì)思路:用數(shù)組存儲(chǔ)一個(gè)大數(shù),數(shù)組的每個(gè)單元存......

        c語言上機(jī)實(shí)習(xí)報(bào)告

        蘇州科技大學(xué)上機(jī)實(shí)習(xí)報(bào)告 程序設(shè)計(jì)語言(C語言) 實(shí)驗(yàn)一: Visual C++實(shí)驗(yàn)環(huán)境 一、實(shí)驗(yàn)任務(wù) 實(shí)驗(yàn)一 二、實(shí)驗(yàn)?zāi)康?1. 了解C程序結(jié)構(gòu),熟悉VC++ 6.0開發(fā)環(huán)境。 2. 熟悉在VC++ 6.......

        C語言實(shí)習(xí)報(bào)告123

        C語言課程設(shè)計(jì)報(bào)告 第1章 目的任務(wù) 1.1實(shí)訓(xùn)目的 (1) 鞏固C語言所學(xué)基本課程; (2) 提高C語言編程的綜合應(yīng)用能力; (3) 學(xué)會(huì)C語言程序的編譯、調(diào)試方法。 1.2實(shí)訓(xùn)任務(wù) (1) 掌握C語言中的......

        C語言實(shí)習(xí)報(bào)告-下

        C語言實(shí)習(xí)報(bào)告-下 修改 定義一個(gè)整型變量n,通過輸入n的值,利用scanf對(duì)數(shù)據(jù)進(jìn)行輸入、printf對(duì)修改后的數(shù)據(jù)進(jìn)行輸出,使用指針實(shí)現(xiàn)對(duì)具體項(xiàng)目的輸出。 查詢 定義一個(gè)整型變量n,利......

        C語言上機(jī)實(shí)習(xí)報(bào)告

        一、實(shí)驗(yàn)?zāi)康?1.能夠描述VC++6.0開發(fā)平臺(tái)的使用過程,學(xué)會(huì)運(yùn)行一個(gè)C程序的基本步驟,包括編輯、編譯、鏈接和運(yùn)行。 2.能夠使用算術(shù)表達(dá)式和賦值表達(dá)式書寫正確的語句。 3.能夠使用......

        C語言課程實(shí)習(xí)報(bào)告

        新疆農(nóng)業(yè)職業(yè)技術(shù)學(xué)院 《 VB程序與設(shè)計(jì) 教學(xué)實(shí)習(xí)報(bào)告 部門:信息技術(shù)學(xué)院 專業(yè): 計(jì)算機(jī)應(yīng)用 班級(jí):10高職應(yīng)用班 姓名: 李蒙 指導(dǎo)教師: 徐玉蓮》 《VB程序與設(shè)計(jì)》教學(xué)實(shí)習(xí)報(bào)告 10......