c程序設(shè)計心得體會_第1頁
c程序設(shè)計心得體會_第2頁
c程序設(shè)計心得體會_第3頁
c程序設(shè)計心得體會_第4頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序設(shè)計心得體會【篇一:c語言程序設(shè)計心得體會】語言程序設(shè)計心得體會語言是計算機程序設(shè)計的重要理論基礎(chǔ),在我們以后的學(xué)習(xí)和工作中都有著十分重要的地位。要學(xué)好這種語言,僅僅學(xué)習(xí)課本上的知識是不夠的,還要經(jīng)常自己動手,有較強的實踐能力。只有多動手,經(jīng)常編寫程序,才能發(fā)現(xiàn)我們學(xué)習(xí)上的漏洞和自己的不足,并在實踐中解決這些問題,不斷提高自己轉(zhuǎn)化知識的能力。在這次課程設(shè)計中,我們首先對系統(tǒng)的整體功能進行了構(gòu)思,然后用結(jié)構(gòu)化分析方法進行分析,將整個系統(tǒng)清楚的劃分為幾個模塊,再根據(jù)每個模塊的功能編寫代碼。而且盡可能的將模塊細分,最后在進行函數(shù)的調(diào)用。我們在函數(shù)的編寫過程中,我們不僅用到了for循環(huán)、while循環(huán)和switch語句,還用到了函數(shù)之間的調(diào)用。由于我們是分工編寫代碼,最后需要將每個人的代碼放到一起進行調(diào)試。因為我們每個人寫的函數(shù)的思想不都一樣,所以在調(diào)試的過程中也遇到了困難,但經(jīng)過我們耐心的修改,終于功夫不負有心人,我們成功了!一學(xué)期的學(xué)習(xí)成果,都體現(xiàn)在了這次打字游戲的設(shè)計過程中。這個學(xué)期,我學(xué)得不算認真,一開始做感覺力不從心,但在幾個同學(xué)的幫助和努力下,我翻閱課本,詢問acm大神,絞盡腦汁的情況下做完這個程序設(shè)計,我的自信一下子提高了。盡管對于有些人這種程序會很簡單,可對我這個c語言初學(xué)者來說,已經(jīng)很不容易了。這次體驗為以后的學(xué)習(xí)計算機的我們增強了信心。享受勞動成果的滋味實在很美妙啊!【篇二:自己的 c語言心得體會論文】語言心得體會姓名:學(xué)號:班級:指導(dǎo)老師:完成日期:【摘要】《c語言程序設(shè)計》是全國各地高等院校各專業(yè)本科教學(xué)中的一門重要的技術(shù)基礎(chǔ)課,在各專業(yè)的本科教學(xué)計劃中占有重要地位和作用。其目的是培養(yǎng)學(xué)生的程序設(shè)計理念、掌握程序設(shè)計的基本方法,為后續(xù)課程(數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計、操作系統(tǒng)、編譯原理和軟件工程等)打下堅實的基礎(chǔ)。其目的是培養(yǎng)學(xué)生的程序設(shè)計理念、掌握程序設(shè)計的基本方法,為后續(xù)課程(數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計、操作系統(tǒng)、編譯原理和軟件工程等)打下堅實的基礎(chǔ)。學(xué)習(xí)c語言程序設(shè)計課程旨在使學(xué)生掌握 c語言的基本語法、基本語句、基本控制結(jié)構(gòu)以及自頂向下結(jié)構(gòu)化程序設(shè)計的基本方法,使學(xué)生認識到算法、良好的程序設(shè)計風(fēng)格以及實踐在該課程學(xué)習(xí)中的重要性,培養(yǎng)學(xué)生熟練使用 c語言編程分析和解決實際問題的能力?!娟P(guān)鍵詞】c語言程序設(shè)計、學(xué)習(xí)心得、數(shù)組、選擇結(jié)構(gòu) c程序設(shè)計、循環(huán)結(jié)構(gòu) c程序設(shè)計正文:在科技高度發(fā)展的今天,計算機在人們之中的作用越來越突出。而c語言作為一種計算機的語言,我們學(xué)習(xí)它,有助于我們更好的了解計算機,與計算機進行交流,因此, c語言的學(xué)習(xí)對我們尤其重要。一、什么是c語言程序設(shè)計?語言是一種結(jié)構(gòu)化設(shè)計語言,它兼顧有高級語言的特點和低級語言的功能。其設(shè)計功能十分強大,既可用于編寫應(yīng)用軟件,又可用于設(shè)計制作系統(tǒng)軟件。同時,c語言是一種較為通用的編程軟件,在目前的軟件行業(yè)中使用也是十分的廣泛。雖然 c語言是面向 dos編程的,但它是計算機的底層編程工具之一。由 c語言編寫的程序,它的代碼質(zhì)量和運行速度僅次于匯編語言編寫的程序, c語言具有簡單易學(xué)和可移植性好等特點,同時又具有匯編語言的特點,具有較強的生命力和廣泛的應(yīng)用前景。二、為什么要學(xué)習(xí) c語言程序設(shè)計?隨著計算機技術(shù)的深入發(fā)展,特別是微機的普及,越來越多的人在學(xué)習(xí)計算機知識以滿足社會發(fā)展和自身的需要。語言不僅為計算機專業(yè)人員所使用和喜愛,近年來,許多計算機應(yīng)用人員也開始喜愛和使用c語言。實踐證明,它是一種很好的程序設(shè)計語言。三、在學(xué)習(xí)過程中所遇到的困難、及原因分析.1)原因分析:①上課也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。所謂的看懂聽明白,只是很膚淺的語法知識,而我們編寫的程序或軟件是要根據(jù)要解決問題的實際需要控制程序的流程,如果沒有深刻地理解 c語言的語句的執(zhí)行過程(或流程),是不會編寫程序解決這些實際問題的。②用c語言編程解決實際問題,所需要的不僅僅是 c語言的編程知識,還需要相關(guān)的專業(yè)知識。例如,如果 不知道長方形的面積公式,即使c語言學(xué)得再好也編不出求長方形的面積的程序來。③c語言程序設(shè)計是一門實踐性很強的課程, “紙上談兵”式的光學(xué)不練是學(xué)不好c語言的。例如,大家都看過精彩自行車雜技表演,假如,我們從來沒有騎過自行車,光聽教練講解相關(guān)的知識、規(guī)則、技巧,不要說上臺表演、就是上路恐怕都不行。2)實踐調(diào)試能力原因分析:調(diào)試程序是一種實踐性很強的事。即使再優(yōu)秀的程序員編寫程序時也會犯錯誤的,可能是最低級的語法錯誤,但他能快速發(fā)現(xiàn)錯誤并改正錯誤,而我們c語言初學(xué)者在面對錯誤提示時,是不知道發(fā)生了什么錯誤,如何改正,這就是差別。我個人認為可以試著按如下方法去做:第一步、驗證性練習(xí)在這一步要求按照教材上的程序?qū)嵗M行原樣輸入,運行一下程序是否正確。在這一基本掌握c語言編程軟件的使用方法第二步、照葫蘆畫瓢在第一步輸入的c程序的基礎(chǔ)上進行試驗性的修改,運行一下程序看一看程序結(jié)果發(fā)了什么變化,分析結(jié)果變化的原因,加深所學(xué)知識點的理解。事實上這和第一步是同步進行的,實現(xiàn)“輸入”加深知識的記憶,“修改”加深對知識的理解。記憶和理解是相輔相成的,相互促進。還可以將教材中的正確的程序改成錯誤的程序,運行一下程序,看出現(xiàn)的錯誤信息提示,并記下錯誤信息,再將程序改成正確的,運行一下程序。這樣反復(fù)修改,就能夠?qū)W習(xí)c語言程序發(fā)生錯誤的原因和修改錯誤的能力。注意:每次只改錯一個地方,目的是顯示發(fā)生該錯誤的真正原因,避免一次改動多個地方,弄清發(fā)生錯誤的真正原因。其次,上機調(diào)試程序時可以帶一個筆記本,記下英文錯誤提示信息和解決該錯誤問題的方法,積累程序調(diào)試經(jīng)驗,避免再編程時犯同樣的錯誤。三步、自己試做類似問題在這一步要求不看教材,即使程序不能運行,看自己能否將其改正過來,使其能正確運行。目的是對前兩步的記憶、理解進一步強化。對比前兩步,設(shè)計一些相同的問題,試著自己編程,然后調(diào)試,再逐漸擴大,增加程序行,添加一些輔助功能等等。

第3)綜合能力可以先做小程序,然后綜合各個小程序,試著做一個稍大的程序,提高自己的綜合運用能力。比如進行課程設(shè)計實訓(xùn)就是一種不錯的選擇,會對實際運用能力有較大提高,并且還會對所學(xué)知識進行加深、鞏固理解。在實踐的同時多思考問題,多看別人優(yōu)秀的解題思路與方法,多看別人優(yōu)秀的代碼,嘗試自己去實現(xiàn)或者模仿著去實現(xiàn),讓別人對你的代碼多提意見,探究別人的思維過程,增強自己的思維能力,拓展視野,經(jīng)??纯醋约阂郧皩懙臇|西,有空拿出來改良改良,我想每隔一段時間,都會有意想不到的收獲。四、課程的易錯點及解決辦法語言常見錯誤:c語言的最大特點是:功能強、使用方便靈活。 c編譯的程序?qū)φZ法檢查并不象其它高級語言那么嚴格,這就給編程人員留下“靈活的余地”,但還是由于這個靈活給程序的調(diào)試帶來了許多不便,尤其對初學(xué)c語言的人來說,經(jīng)常會出一些連自己都不知道錯在哪里的錯誤。看著有錯的程序,不知該如何改起,以下是一些 c編程時常犯的錯誤。1.書寫標識符時,忽略了大小寫字母的區(qū)別。 main(){inta=5;printf(%d,a);} 編譯程序把 a和a認為是兩個不同的變量名,而顯示出錯信息。c認為大寫字母和小寫字母是兩個不同的字符。習(xí)慣上,符號常量名用大寫,變量名用小寫表示,以增加可讀性。2.忽略了變量的類型,進行了不合法的運算。 main(){floata,b;printf(%d,a%b);}% 是求余運算,得到 a/b的整余數(shù)。整型變量 a和b可以進行求余運算,而實型變量則不允許進行 “求余”運算。將字符常量與字符串常量混淆。charc;c=a;在這里就混淆了字符常量與字符串常量,字符常量是由一對單引號括起來的單個字符,字符串常量是一對雙引號括起來的字符序列。 c規(guī)定以“0”作字符串結(jié)束標志,它是由系統(tǒng)自動加上的,所以字符串“a”實際上包含兩個字符:‘a(chǎn)和’‘0’,而把它賦給一個字符變量是不行的。忽略了“=”與“==”的區(qū)別。在許多高級語言中,用“=”符號作為關(guān)系運算符“等于”。如在basic程序中可以寫if(a=3)then?但c語言中,“=”是賦值運算符,“==”是關(guān)系運算符。如:if(a==3)a=b;前者是進行比較,a是否和3相等,后者表示如果a和3相等,把b值賦給a。由于習(xí)慣問題,初學(xué)者往往會犯這樣的錯誤。忘記加分號。分號是c語句中不可缺少的一部分,語句末尾必須有分號。a=1b=2編譯時,編譯程序在“a=1”后面沒發(fā)現(xiàn)分號,就把下一行“b=2”也作為上一行語句的一部分,這就會出現(xiàn)語法錯誤。改錯時,有時在被指出有錯的一行中未發(fā)現(xiàn)錯誤,就需要看一下上一行是否漏掉了分號。{z=x+y;t=z/100;printf(%f,t);}對于復(fù)合語句來說,最后一個語句中最后的分號不能忽略不寫(這是和pascal不同的)。6.多加分號。對于一個復(fù)合語句,如:{z=x+y;t=z/100;printf(%f,t);}; 復(fù)合語句的花括號后不應(yīng)再加分號,否則將會畫蛇添足。又如: if(a%3==0);i++; 本是如果3整除a,則i加1。但由于if(a%3==0)后多加了分號,則if語句到此結(jié)束,程序?qū)?zhí)行i++語句,不論3是否整除a,i都將自動加1。再如:for(i=0;i5;i++);{scanf(%d,x);printf(%d,x);} 本意是先后輸入 5個數(shù),每輸入一個數(shù)后再將它輸出。由于 for()后多加了一個分號,使循環(huán)體變?yōu)榭照Z句,此時只能輸入一個數(shù)并輸出它。7.輸入變量時忘記加地址運算符 “”。inta,b;scanf(%d%d,a,b);這是不合法的。scanf 函數(shù)的作用是:按照 a、b在內(nèi)存的地址將 a、b的值存進去?!癮”指a在內(nèi)存中的地址。輸入數(shù)據(jù)的方式與要求不符。①scanf(%d%d,a,b);輸入時,不能用逗號作兩個數(shù)據(jù)間的分隔符,如下面輸入不合法:3,4?輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一個或多個空格間隔,也可用回車鍵,跳格鍵tab。②scanf(%d,%d,a,b);c規(guī)定:如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。下面輸入是合法的:3,4?此時不用逗號而用空格或其它字符是不對的。 34?3:4?又如:scanf(a=%d,b=%d,a,b); 輸入應(yīng)如以下形式:a=3,b=4?輸入字符的格式與要求不一致。在用“%c”格式輸入字符時,“空格字符”和“轉(zhuǎn)義字符”都作為有效字符輸入。scanf(%c%c%c,c1,c2,c3);如輸入abc?字符“a”送給c1,字符“”送給c2,字符“b”送給c3,因為%c只要求讀入一個字符,后面不需要用空格作為兩個字符的間隔。10.輸入輸出的數(shù)據(jù)類型與所用格式說明符不一致。例如, a已定義為整型,b定義為實型 a=3;b=4.5;printf(%f%d\n,a,b); 編譯時不給出出錯信息,但運行結(jié)果將與原意不符。這種錯誤尤其需要注意。輸入數(shù)據(jù)時,企圖規(guī)定精度。scanf(%7.2f,a);這樣做是不合法的,輸入數(shù)據(jù)時不能規(guī)定精度。12.switch語句中漏寫break語句。例如:根據(jù)考試成績的等級打印出百分制數(shù)段。switch(grade){case’a’:printf(85~100n);case’b’:printf(70~84\n);case’c’:printf(60~69n);case’d’:printf(60\n);default:printf(error\n);由于漏寫了break語句,case只起標號的作用,而不起判斷作用。因此,當grade值為a時,printf函數(shù)在執(zhí)行完第一個語句后接著執(zhí)行第二、三、四、五個printf函數(shù)語句。正確寫法應(yīng)在每個分支后再加上“break;”。例如case’a’:printf(85~100\n);break;忽視了while和do-while語句在細節(jié)上的區(qū)別。(1)main(){inta=0,i;scanf(%d,i);while(i=10){a=a+i;i++;}printf(%d,a);}(2)main(){inta=0,i;scanf(%d,i);do{a=a+i;i++;}while(i=10);printf(%d,a);} 可以看到,當輸入 i的值小于或等于 10時,二者得到的結(jié)果相同。而當i10時,二者結(jié)果就不同了。因為 while循環(huán)是先判斷后執(zhí)行,而do-while 循環(huán)是先執(zhí)行后判斷。對于大于 10的數(shù)while循環(huán)一次也不執(zhí)行循環(huán)體,而 do-while 語句則要執(zhí)行一次循環(huán)體。定義數(shù)組時誤用變量。intn;scanf(%d,n);inta[n];數(shù)組名后用方括號括起來的是常量表達式,可以包括常量和符號常量。即c不允許對數(shù)組的大小作動態(tài)定義?!酒篶語言編程課程設(shè)計心得】河南城建學(xué)院c語言程序設(shè)計》課程設(shè)計報告適用專業(yè)工程管理專業(yè)課程名稱指導(dǎo)教師設(shè)計人:2010年6

051409112月

王田一、設(shè)計目的和要求1.通過課程設(shè)計全面掌握《

c語言程序設(shè)計》關(guān)鍵知識點,掌握

c語言中數(shù)組、指針、結(jié)構(gòu)體、文件等方面的基本知識。通過課程設(shè)計了解并掌握c語言程序設(shè)計的方法,熟悉c程序設(shè)計的開發(fā)環(huán)境及c程序的調(diào)試過程。培養(yǎng)查閱參考資料、手冊的自學(xué)能力,通過獨立思考深入鉆研有關(guān)問題,學(xué)會自己分析、解決問題的方法。二、內(nèi)容與設(shè)計思想、系統(tǒng)功能描述1)編譯時,主菜單為如下:2)各項功能:0、輸入記錄:將所要記錄的人的信息輸入。1、顯示記錄:將所輸入的記錄一一顯示。2、按姓名查找:從所記錄中輸入姓名查找其信息。3、按電話號碼查找:輸入學(xué)生的號碼查找其信息。4、插入記錄:在所記錄中插入需要記錄的人的信息。5、按姓名排序:對已有的記錄按姓名第一個字母的ascii碼大小排列,并一一顯示。6、刪除記錄:從記錄中刪除某學(xué)生的信息。7、記錄保存文件:對輸入的學(xué)生的信息進行保存。8、退出程序。2、總體設(shè)計思想運用所學(xué)知識編寫一個簡單的學(xué)生通訊錄管理系統(tǒng)的程序,使它具有以下的功能:輸入學(xué)生的學(xué)號,姓名,班級,電話號碼,地址,顯示學(xué)生記錄,增加學(xué)生記錄,按照學(xué)生姓名進行排序,刪除學(xué)生記錄,查找學(xué)生記錄,保存學(xué)生記錄。其主要結(jié)構(gòu)用如下圖示表示:三、程序具體分析及操作時問題。1、程序具體分析。(1)文件名的使用: include 稱為文件包含命令 ,被包含的文件通常是由系統(tǒng)提供的,其擴展名為 .h.stdio 為standardinputoutput的縮寫,意為“標準輸入輸出”.代碼中只要有用到 printfscanf 等函數(shù),頭文件就要寫 #includestdio.h 這個在代碼中必不可少的,因為編寫代碼就是為了輸出結(jié)果 ;用到像getch()這種鍵盤輸入函數(shù)的話,就需要用到#includeconio.h ;用到系統(tǒng)標準輸出函數(shù)的話,就用到#includestdlib.h;用到字符數(shù)組就要用#inciudestring.h。(2)指針使用:如file*fp、定義1個文件型指針變量,指針變量名字分別叫fp,定義后fp是指向file類型結(jié)構(gòu)體的指針。可以使他指向某個文件的結(jié)構(gòu)體變量,從而通過該結(jié)構(gòu)體變量中的文件信息能夠訪問該文件。指針是地址變量:它的值有兩種:其一是地址,其二是內(nèi)容。不同的表達方式可以取不同的值。指針是可以運算的,它的運算法則與變量是一致的。3)結(jié)構(gòu)體:如structlinklist定義結(jié)構(gòu)體為linklist。當結(jié)構(gòu)體成員為指針的時候,每當給這個成員賦值之

溫馨提示

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

評論

0/150

提交評論