2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  C語言深入編程</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  題目 心算如電 小游戲______________________</p><p>  ___________________________________________________<

2、;/p><p><b>  目 錄</b></p><p>  一、序言..........................................04</p><p>  二、課程設(shè)計(jì)題目..................................05</p><p>  三、設(shè)計(jì)算法與思路......

3、..........................05</p><p>  四、采用的變量和數(shù)組數(shù)據(jù)..........................06</p><p>  五、流程圖........................................08</p><p>  六、源代碼...............................

4、.........12</p><p>  七、調(diào)試分析......................................17</p><p>  八、個(gè)人課程設(shè)計(jì)心得體會(huì)..........................20</p><p>  九、致謝..........................................21</p

5、><p>  十、參考文獻(xiàn)......................................21</p><p>  教師評(píng)語及成績(jī)?cè)u(píng)定表..............................22</p><p><b>  序言</b></p><p>  進(jìn)入21世紀(jì)以來,社會(huì)信息化進(jìn)程不斷加速,信息化范

6、圍和個(gè)行個(gè)業(yè)信息化的程度都是空前的且不斷的快速推進(jìn)。</p><p>  C語言功能強(qiáng)大,具有豐富靈活的控制與數(shù)據(jù)結(jié)構(gòu)、簡(jiǎn)潔而高效的表達(dá)語句、清晰的程序結(jié)構(gòu)、良好的移植性、較小的空間開銷等優(yōu)點(diǎn),已被廣泛應(yīng)用于將系統(tǒng)軟件與應(yīng)用軟件的開發(fā)中。</p><p>  C語言是目前流行的通用程序設(shè)計(jì)語言,之所以成為許多計(jì)算機(jī)專業(yè)人員和計(jì)算機(jī)愛好者學(xué)習(xí)程序設(shè)計(jì)的首選入門語言,除C語言的眾多優(yōu)點(diǎn)外,最主

7、要的還是C語言的實(shí)用性。</p><p>  C語言是程序設(shè)計(jì)的工具,因此學(xué)會(huì)使用C語言并不是唯一目的,掌握計(jì)算機(jī)處理問題的思維方式和程序設(shè)計(jì)的基本方法,用以解決實(shí)際問題更為重要。</p><p>  而課程設(shè)計(jì)是重要環(huán)綜合性較強(qiáng)的實(shí)踐環(huán)節(jié),它對(duì)幫助我們學(xué)生全面牢固地掌握課堂教學(xué)內(nèi)容、培養(yǎng)我們學(xué)生的實(shí)踐和實(shí)際動(dòng)手能力、提高我們學(xué)生全面素質(zhì)具有重要的意義。</p><p&

8、gt;  通過課程設(shè)計(jì),提高學(xué)生在實(shí)際設(shè)計(jì)操作中系統(tǒng)分析、結(jié)構(gòu)確定、算法選擇、數(shù)學(xué)建模和信息加工的能力以及C/C++語言程序設(shè)計(jì)能力;同時(shí)培養(yǎng)我們學(xué)生編寫程序設(shè)計(jì)文檔的能力。</p><p>  由于本人水平有限,加上課程設(shè)計(jì)的時(shí)間緊迫,程序仍有很多不足之處,邏輯還不夠嚴(yán)密,在算法設(shè)計(jì)上還有待改善.。希望老師見諒。我會(huì)在今后的學(xué)習(xí),不斷改進(jìn)改善程序。 </p><p><b> 

9、 二、課程設(shè)計(jì)題目</b></p><p>  為小學(xué)生設(shè)計(jì)“心算如電”的競(jìng)技游戲,考驗(yàn)學(xué)生的加法運(yùn)算能力,提高學(xué)生的心算能力和心理素質(zhì),力求達(dá)到快、準(zhǔn)。</p><p><b>  要求:</b></p><p>  游戲共兩關(guān),第一關(guān),每個(gè)加數(shù)范圍從0~9;第二關(guān)每個(gè)加數(shù)范圍從0~99;</p><p>

10、  必須連續(xù)答對(duì)10道題,才算通關(guān);錯(cuò)一題,則歸零;</p><p>  答題期間,不給出已答題數(shù),由學(xué)生自動(dòng)選擇退出與否,若選擇退出,則顯示答題總數(shù)和答對(duì)總題數(shù),連續(xù)答對(duì)10題者,外加輸出星號(hào)三角行;</p><p>  若失敗則可重新開始,也可繼續(xù)闖第二關(guān);</p><p>  第二關(guān),通關(guān)則輸出菱形。</p><p> ?。ㄗ⑨專簽榱吮?/p>

11、于調(diào)試可采取答對(duì)三題過一關(guān)的方法進(jìn)行程序編寫。)</p><p><b>  設(shè)計(jì)算法與思路</b></p><p>  該程序是針對(duì)小學(xué)生設(shè)計(jì)的簡(jiǎn)單游戲,共分兩關(guān),(初步)決定調(diào)用兩個(gè)函數(shù),由系統(tǒng)自動(dòng)出題,所以采用rand()提取兩個(gè)隨機(jī)數(shù),要答對(duì)10題才可以過關(guān),所以可采用先執(zhí)行后判斷的循環(huán)控制語句do-while來實(shí)現(xiàn)過關(guān)與否,星號(hào)三角形和菱形可再定義一個(gè)函數(shù)采

12、用for循環(huán)結(jié)構(gòu)輸出!</p><p>  我的具體的程序設(shè)計(jì)思路是這樣的:</p><p>  依題注釋,采用宏定義,定義T=3,代替10,減化程序調(diào)試過程</p><p>  定義一個(gè)函數(shù)m()來實(shí)現(xiàn)每一關(guān)的出題和答題,用rand()函數(shù)隨機(jī)提取兩個(gè)在定義范圍內(nèi)的數(shù),賦值于變量first和變量seconddid即是兩個(gè)加數(shù)。</p><p&g

13、t;  采用if語句判斷答題正確與否,定義變量did和和ok,采用自加運(yùn)算符(++)在函數(shù)m()中全程跟蹤已答題數(shù)和答題正確數(shù)。</p><p>  在函數(shù)m()中采用先執(zhí)行后判斷的循環(huán)控制語句do-while實(shí)現(xiàn)局部控制,用字符來實(shí)現(xiàn),接著再使用if語句判斷是否輸出星號(hào)三角形。</p><p>  定義一個(gè)函數(shù)m1(),采用函數(shù)嵌套調(diào)用來輸出星號(hào)三角形,星號(hào)三角形用雙重for循環(huán)結(jié)構(gòu)來實(shí)

14、現(xiàn)輸出。</p><p>  第一關(guān)與第二關(guān)類似,即需再定義兩個(gè)函數(shù)n()和n2()</p><p>  主函數(shù)void()先輸出游戲的一般信息“心算入電”,用getchar()函數(shù)來占用一個(gè)回車鍵;調(diào)用函數(shù)m()實(shí)現(xiàn)第一關(guān)游戲,(用if語句鏈接是否進(jìn)去第二關(guān)游戲),調(diào)用函數(shù)n()來實(shí)現(xiàn)第二關(guān)游戲。</p><p><b>  程序思路簡(jiǎn)述完畢。</

15、b></p><p>  四、采用的變量和數(shù)據(jù)</p><p><b>  五、流程圖</b></p><p><b>  流程圖如:</b></p><p><b>  六、源代碼</b></p><p>  #include<stdio.

16、h></p><p>  #include<stdlib.h></p><p>  #include<time.h></p><p>  #define T 3</p><p>  #define M 10</p><p>  #define N 10</p><p&g

17、t;<b>  void m1()</b></p><p><b>  {</b></p><p><b>  int i,j;</b></p><p>  for(i=1;i<=3;i++)</p><p><b>  {</b></p>

18、;<p>  for(j=1;j<=20-2*i;j++)</p><p>  printf("%c",' ');</p><p>  for(j=1;j<=2*i-1;j++)</p><p>  printf("%2c",'*');</p><p

19、>  printf("\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  void m()</b></p><p><b>  {</b></p>

20、<p>  int ok=0,did=0,first,second,answer,correct;</p><p>  char contin='y';</p><p><b>  do{ </b></p><p>  srand((unsigned)time(NULL));</p><p> 

21、 first=rand()%N;</p><p>  second=rand()%M;</p><p>  printf("%d +%d =? ",first,second);</p><p>  scanf("%d",&answer);</p><p><b>  did++;&l

22、t;/b></p><p>  correct=first+second;</p><p>  if(answer==correct)</p><p><b>  {</b></p><p>  printf("好樣的!答對(duì)了!\n");</p><p><b>

23、;  ok++;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("NO! 正確答案是 %d\n",correct);</p><p>  printf("\n");&

24、lt;/p><p>  printf("繼續(xù)答題?(y,n) ");</p><p>  scanf("%s",&contin);</p><p>  if(contin=='Y')</p><p>  contin='y';</p><p>

25、;  } while(contin=='y');</p><p>  printf("做了%d道題\n",did);</p><p>  printf("答對(duì)%d道題",ok);</p><p>  printf("\n");</p><p>  if(ok>=

26、T&&ok%did==0)</p><p><b>  m1();</b></p><p><b>  else </b></p><p>  printf("請(qǐng)重新開始\n");</p><p>  printf("\n");</p&g

27、t;<p>  getchar();</p><p><b>  }</b></p><p><b>  void n2()</b></p><p><b>  {</b></p><p><b>  int i,j;</b></p&g

28、t;<p>  for(i=1;i<=4;i++)</p><p><b>  {</b></p><p>  for(j=1;j<=20-2*i;j++)</p><p>  printf("%c",' ');</p><p>  for(j=1;j<

29、=2*i-1;j++)</p><p>  printf("%2c",'*');</p><p>  printf("\n");</p><p><b>  }</b></p><p>  for(i=3;i>=1;i--)</p><p&

30、gt;<b>  {</b></p><p>  for(j=1;j<=20-2*i;j++)</p><p>  printf("%c",' ');</p><p>  for(j=1;j<=2*i-1;j++)</p><p>  printf("%2c&qu

31、ot;,'*');</p><p>  printf("\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  void n()</b></p><p>

32、<b>  {</b></p><p>  int ok=0,did=0,three,four,answer1,correct1;</p><p>  char contin='y';</p><p><b>  do{</b></p><p>  srand((unsigned)t

33、ime(NULL));</p><p>  three=rand()%(10*M);</p><p>  four=rand()%(10*N);</p><p>  printf("%d + %d =? ",three,four);</p><p>  scanf("%d",&answer1)

34、;</p><p><b>  did++;</b></p><p>  correct1=three+four;</p><p>  if(answer1==correct1)</p><p><b>  {</b></p><p>  printf("真棒!答對(duì)

35、了\n");</p><p><b>  ok++;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("NO!正確答案是%d",correct1);</p>

36、<p>  printf("\n");</p><p>  printf("繼續(xù)答題?(y,n): ");</p><p>  scanf("%s",&contin);</p><p>  if(contin=='Y')</p><p>  c

37、ontin='y';</p><p>  }while(contin=='y');</p><p>  printf("一共做了%d道題 答對(duì)%d道題\n",did,ok);</p><p>  if(ok>=T&&ok%did==0)</p><p><b

38、>  { </b></p><p>  printf("恭喜你!成功了!\n");</p><p><b>  n2();</b></p><p><b>  }</b></p><p><b>  }</b></p><

39、;p>  void main()</p><p><b>  {</b></p><p><b>  char go;</b></p><p>  printf("歡迎使用 心算如電 益智游戲 按Enter鍵開始\n");</p><p>  getchar();</

40、p><p><b>  m();</b></p><p>  printf("進(jìn)入下一關(guān),你準(zhǔn)備好了嗎?(go or not) ");</p><p>  scanf("%s",&go);</p><p>  if(go=='g')</p>&l

41、t;p><b>  n();</b></p><p>  printf("Game Over!!!\n");</p><p>  getchar();</p><p><b>  }</b></p><p><b>  七、調(diào)試分析</b></p

42、><p>  此程序在“C與C++程序設(shè)計(jì)學(xué)習(xí)與實(shí)驗(yàn)系統(tǒng)2008.10”與“VC6.0”上調(diào)試皆通過,其結(jié)果如下:</p><p><b>  1、主界面 </b></p><p><b>  2、游戲開始</b></p><p><b>  3、第一關(guān)失敗</b></p&g

43、t;<p><b>  4、第一關(guān)成功</b></p><p><b>  5、闖第二關(guān)</b></p><p><b>  6、第二關(guān)功成</b></p><p><b>  7、第二關(guān)失敗</b></p><p>  八、個(gè)人課程設(shè)計(jì)心得

44、體會(huì)</p><p>  回顧起此次課程設(shè)計(jì),至今我仍感慨頗多,從老師出題,到自己選題,然后確定題目直到完成整個(gè)編程,從理論到實(shí)踐,在整整兩個(gè)多星期的日子里,我沉浸在編程的樂趣里,不僅鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。</p><p>  通過本次論文設(shè)計(jì),我初步學(xué)會(huì)了論文設(shè)計(jì)的基本方法,學(xué)會(huì)了怎樣去借鑒別人的方法和經(jīng)驗(yàn),知道如何去查找資料和整合處理這些資料

45、的能力,這為以后的大學(xué)畢業(yè)設(shè)計(jì)論文打下了一個(gè)初步的基礎(chǔ)使我收益最大的是享受到了一種成功的喜悅</p><p>  通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)。</p><p>  同時(shí),我也感到了想要學(xué)好C語言還有很長(zhǎng)一段路要走,要想真正掌握好編程技術(shù)一定要

46、付出更多的努力,當(dāng)然基本的C語言知識(shí)一定要學(xué)好,而不是只知道皮毛而已。對(duì)于今后的學(xué)習(xí)我覺得要做好一下幾點(diǎn):</p><p>  1.加深對(duì)課堂講授內(nèi)容的理解</p><p>  課堂上要老師講授許多關(guān)于c語言的語法規(guī)則,聽起來有點(diǎn)枯燥無味,也不容易記住,死記硬背是不可取的。課后通過多次上機(jī)練習(xí),加深對(duì)它的理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌握c語言的語法規(guī)定;</p><

47、;p>  2.熟悉程序開發(fā)環(huán)境</p><p>  一個(gè)c語言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行; </p><p>  3.學(xué)會(huì)上機(jī)調(diào)試程序,學(xué)會(huì)自己找出問題的關(guān)鍵并解決;</p><p>  因?yàn)槌绦蚓帉懲旰?,決不意味著萬事大吉。往往自己認(rèn)為萬無一失的程序,實(shí)際上機(jī)運(yùn)行時(shí)可能不斷出現(xiàn)麻煩。</p><p&g

48、t;  最后,我覺得課程設(shè)計(jì)需要一定的耐心才能做好。堅(jiān)持就是勝利!我們絕不能中途放棄,要用心做好每一個(gè)設(shè)計(jì)。 </p><p><b>  九、致謝</b></p><p>  能做好這個(gè)程序設(shè)計(jì)離不開*老師的諄諄教導(dǎo),丁老師這一個(gè)學(xué)期的教導(dǎo),不僅讓我對(duì)C語言有了更深入的了解,自己完成此次的課程設(shè)計(jì),同時(shí),也讓我更深刻的明白了一些道理。丁老師嚴(yán)謹(jǐn)求實(shí)的教學(xué)態(tài)度、強(qiáng)烈的

49、時(shí)間觀念都對(duì)我產(chǎn)生了重大影響,這無疑令我在今后的編程生涯中走的更快、更遠(yuǎn)。衷心感謝丁老師給予了我這么多幫助。</p><p><b>  十、參考文獻(xiàn)</b></p><p>  1.C語言程序設(shè)計(jì)----丁峻嶺</p><p>  2.高級(jí)語言C++程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)(第二版)周玉龍、劉璟</p><p><b&g

溫馨提示

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

評(píng)論

0/150

提交評(píng)論