




已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C C 語(yǔ)言心得體會(huì)語(yǔ)言心得體會(huì) 姓名: 學(xué)號(hào): 班級(jí): 指導(dǎo)老師: 完成日期: C 語(yǔ)言心得體會(huì) 1 【摘要摘要】 C 語(yǔ)言程序設(shè)計(jì)是全國(guó)各地高等院校各專(zhuān)業(yè)本科教學(xué)中的一門(mén)重要的技術(shù) 基礎(chǔ)課,在各專(zhuān)業(yè)的本科教學(xué)計(jì)劃中占有重要地位和作用。其目的是培養(yǎng)學(xué)生的程序設(shè)計(jì)理 念、掌握程序設(shè)計(jì)的基本方法,為后續(xù)課程(數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)、操作系統(tǒng)、編 譯原理和軟件工程等)打下堅(jiān)實(shí)的基礎(chǔ)。其目的是培養(yǎng)學(xué)生的程序設(shè)計(jì)理念、掌握程序設(shè)計(jì) 的基本方法,為后續(xù)課程(數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)、操作系統(tǒng)、編譯原理和軟件工程 等)打下堅(jiān)實(shí)的基礎(chǔ)。 學(xué)習(xí) C 語(yǔ)言程序設(shè)計(jì)課程旨在使學(xué)生掌握 C 語(yǔ)言的基本語(yǔ)法、基本語(yǔ)句、基本控制結(jié)構(gòu) 以及自頂向下結(jié)構(gòu)化程序設(shè)計(jì)的基本方法,使學(xué)生認(rèn)識(shí)到算法、良好的程序設(shè)計(jì)風(fēng)格以及實(shí) 踐在該課程學(xué)習(xí)中的重要性,培養(yǎng)學(xué)生熟練使用 C 語(yǔ)言編程分析和解決實(shí)際問(wèn)題的能力。 【關(guān)鍵詞【關(guān)鍵詞】C 語(yǔ)言程序設(shè)計(jì)、學(xué)習(xí)心得、數(shù)組、選擇結(jié)構(gòu) C 程序設(shè)計(jì)、循環(huán)結(jié)構(gòu) C 程序 設(shè)計(jì) 正文:在科技高度發(fā)展的今天,計(jì)算機(jī)在人們之中的作用越來(lái)越突出。而 c 語(yǔ)言作為 一種計(jì)算機(jī)的語(yǔ)言,我們學(xué)習(xí)它,有助于我們更好的了解計(jì)算機(jī),與計(jì)算機(jī)進(jìn)行交流,因此, c 語(yǔ)言的學(xué)習(xí)對(duì)我們尤其重要。 一、什么是一、什么是 C C 語(yǔ)言程序設(shè)計(jì)?語(yǔ)言程序設(shè)計(jì)? C 語(yǔ)言是一種結(jié)構(gòu)化設(shè)計(jì)語(yǔ)言,它兼顧有高級(jí)語(yǔ)言的特點(diǎn)和低級(jí)語(yǔ)言的功能。其設(shè)計(jì)功 能十分強(qiáng)大,既可用于編寫(xiě)應(yīng)用軟件,又可用于設(shè)計(jì)制作系統(tǒng)軟件。同時(shí),C 語(yǔ)言是一種較 為通用的編程軟件,在目前的軟件行業(yè)中使用也是十分的廣泛。雖然 C 語(yǔ)言是面向 DOS 編程 的,但它是計(jì)算機(jī)的底層編程工具之一。由 C 語(yǔ)言編寫(xiě)的程序,它的代碼質(zhì)量和運(yùn)行速度僅 次于匯編語(yǔ)言編寫(xiě)的程序,C 語(yǔ)言具有簡(jiǎn)單易學(xué)和可移植性好等特點(diǎn),同時(shí)又具有匯編語(yǔ)言 的特點(diǎn),具有較強(qiáng)的生命力和廣泛的應(yīng)用前景。 二、二、為什么要學(xué)為什么要學(xué)習(xí)習(xí) C C 語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)? 隨著計(jì)算機(jī)技術(shù)的深入發(fā)展,特別是微機(jī)的普及,越來(lái)越多的人在學(xué)習(xí)計(jì)算機(jī)知識(shí)以 滿(mǎn)足社會(huì)發(fā)展和自身的需要。 C 語(yǔ)言不僅為計(jì)算機(jī)專(zhuān)業(yè)人員所使用和喜愛(ài),近年來(lái),許多計(jì)算機(jī)應(yīng)用人員也開(kāi)始 喜愛(ài)和使用 C 語(yǔ)言。實(shí)踐證明,它是一種很好的程序設(shè)計(jì)語(yǔ)言。 三、在學(xué)習(xí)過(guò)程中所遇到的困難、及原因分析. (1)原因分析: 上課也能聽(tīng)懂,書(shū)上的例題也能看明白,可是到自己動(dòng)手做編程時(shí),卻不知道如何下 手。所謂的看懂聽(tīng)明白,只是很膚淺的語(yǔ)法知識(shí),而我們編寫(xiě)的程序或軟件是要根據(jù)要解決 C 語(yǔ)言心得體會(huì) 2 問(wèn)題的實(shí)際需要控制程序的流程,如果沒(méi)有深刻地理解 C 語(yǔ)言的語(yǔ)句的執(zhí)行過(guò)程(或流程) , 是不會(huì)編寫(xiě)程序解決這些實(shí)際問(wèn)題的。 用 C 語(yǔ)言編程解決實(shí)際問(wèn)題,所需要的不僅僅是 C 語(yǔ)言的編程知識(shí),還需要相關(guān)的專(zhuān) 業(yè)知識(shí)。例如,如果 不知道長(zhǎng)方形的面積公式,即使 C 語(yǔ)言學(xué)得再好也編不出求長(zhǎng)方形的 面積的程序來(lái)。 C 語(yǔ)言程序設(shè)計(jì)是一門(mén)實(shí)踐性很強(qiáng)的課程,“紙上談兵”式的光學(xué)不練是學(xué)不好 C 語(yǔ) 言的。例如,大家都看過(guò)精彩自行車(chē)雜技表演,假如,我們從來(lái)沒(méi)有騎過(guò)自行車(chē),光聽(tīng)教練 講解相關(guān)的知識(shí)、規(guī)則、技巧,不要說(shuō)上臺(tái)表演、就是上路恐怕都不行。 (2)實(shí)踐調(diào)試能力 原因分析:調(diào)試程序是一種實(shí)踐性很強(qiáng)的事。即使再優(yōu)秀的程序員編寫(xiě)程序時(shí)也會(huì)犯錯(cuò) 誤的,可能是最低級(jí)的語(yǔ)法錯(cuò)誤,但他能快速發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤,而我們 C 語(yǔ)言初學(xué)者在 面對(duì)錯(cuò)誤提示時(shí),是不知道發(fā)生了什么錯(cuò)誤,如何改正,這就是差別。我個(gè)人認(rèn)為可以試著 按如下方法去做: 第一步、驗(yàn)證性練習(xí) 在這一步要求按照教材上的程序?qū)嵗M(jìn)行原樣輸入,運(yùn)行一下程序 是否正確。在這一 基本掌握 C 語(yǔ)言編程軟件的使用方法 第二步、照葫蘆畫(huà)瓢 在第一步輸入的 C 程序的基礎(chǔ)上進(jìn)行試驗(yàn)性的修改, 運(yùn)行一下程序看一看程序結(jié)果發(fā)了 什么變化, 分析結(jié)果變化的原因, 加深所學(xué)知識(shí)點(diǎn)的理解。 事實(shí)上這和第一步是同步進(jìn)行的, 實(shí)現(xiàn)“輸入”加深知識(shí)的記憶,“修改”加深對(duì)知識(shí)的理解。記憶和理解是相輔相成的,相 互促進(jìn)。 還可以將教材中的正確的程序改成錯(cuò)誤的程序, 運(yùn)行一下程序, 看出現(xiàn)的錯(cuò)誤信息提示, 并記下錯(cuò)誤信息,再將程序改成正確的,運(yùn)行一下程序。這樣反復(fù)修改,就能夠?qū)W習(xí) C 語(yǔ)言 程序發(fā)生錯(cuò)誤的原因和修改錯(cuò)誤的能力。 注意:每次只改錯(cuò)一個(gè)地方,目的是顯示發(fā)生該錯(cuò)誤的真正原因,避免一次改動(dòng)多個(gè)地 方,弄清發(fā)生錯(cuò)誤的真正原因 。其次,上機(jī)調(diào)試程序時(shí)可以帶一個(gè)筆記本,記下英文錯(cuò)誤 提示信息和解決該錯(cuò)誤問(wèn)題的方法,積累程序調(diào)試經(jīng)驗(yàn),避免再編程時(shí)犯同樣的錯(cuò)誤。 第三步、自己試做類(lèi)似問(wèn)題 在這一步要求不看教材,即使程序不能運(yùn)行,看自己能否將其改正過(guò)來(lái),使其能正確運(yùn) 行。目的是對(duì)前兩步的記憶、理解進(jìn)一步強(qiáng)化。對(duì)比前兩步,設(shè)計(jì)一些相同的問(wèn)題,試著自 己編程,然后調(diào)試,再逐漸擴(kuò)大,增加程序行,添加一些輔助功能等等。 (3)綜合能力 可以先做小程序,然后綜合各個(gè)小程序,試著做一個(gè)稍大的程序,提高自己的綜合運(yùn)用 能力。比如進(jìn)行課程設(shè)計(jì)實(shí)訓(xùn)就是一種不錯(cuò)的選擇,會(huì)對(duì)實(shí)際運(yùn)用能力有較大提高,并且還 C 語(yǔ)言心得體會(huì) 3 會(huì)對(duì)所學(xué)知識(shí)進(jìn)行加深、鞏固理解。在實(shí)踐的同時(shí)多思考問(wèn)題,多看別人優(yōu)秀的解題思路與 方法,多看別人優(yōu)秀的代碼,嘗試自己去實(shí)現(xiàn)或者模仿著去實(shí)現(xiàn),讓別人對(duì)你的代碼多提意 見(jiàn),探究別人的思維過(guò)程,增強(qiáng)自己的思維能力,拓展視野,經(jīng)??纯醋约阂郧皩?xiě)的東西, 有空拿出來(lái)改良改良,我想每隔一段時(shí)間,都會(huì)有意想不到的收獲。 四、課程的易錯(cuò)點(diǎn)及解決辦法 C 語(yǔ)言常見(jiàn)錯(cuò)誤: C 語(yǔ)言的最大特點(diǎn)是:功能強(qiáng)、使用方便靈活。C 編譯的程序?qū)φZ(yǔ)法檢查并不象其它 高級(jí)語(yǔ)言那么嚴(yán)格,這就給編程人員留下“靈活的余地”,但還是由于這個(gè)靈活給程序的調(diào) 試帶來(lái)了許多不便,尤其對(duì)初學(xué) C 語(yǔ)言的人來(lái)說(shuō),經(jīng)常會(huì)出一些連自己都不知道錯(cuò)在哪里的 錯(cuò)誤??粗绣e(cuò)的程序,不知該如何改起,以下是一些 C 編程時(shí)常犯的錯(cuò)誤。 1.書(shū)寫(xiě)標(biāo)識(shí)符時(shí),忽略了大小寫(xiě)字母的區(qū)別。main()inta=5; printf(“%d“,A);編譯程序把 a 和 A 認(rèn)為是兩個(gè)不同的變量名,而顯示出錯(cuò)信息。C 認(rèn)為大 寫(xiě)字母和小寫(xiě)字母是兩個(gè)不同的字符。習(xí)慣上,符號(hào)常量名用大寫(xiě),變量名用小寫(xiě)表示,以 增加可讀性。 2.忽略了變量的類(lèi)型,進(jìn)行了不合法的運(yùn)算。 main()floata,b;printf(“%d“,a%b);%是求余運(yùn)算,得到 a/b 的整余數(shù)。整型變量 a 和 b 可以進(jìn)行求余運(yùn)算,而實(shí)型變量則不允許進(jìn)行“求余”運(yùn)算。 3.將字符常量與字符串常量混淆。 charc;c=“a“;在這里就混淆了字符常量與字符串常 量,字符常量是由一對(duì)單引號(hào)括起來(lái)的單個(gè)字符,字符串常量是一對(duì)雙引號(hào)括起來(lái)的字符序 列。C 規(guī)定以“0”作字符串結(jié)束標(biāo)志,它是由系統(tǒng)自動(dòng)加上的,所以字符串“a”實(shí)際上包 含兩個(gè)字符:a和0,而把它賦給一個(gè)字符變量是不行的。 4.忽略了“=”與“=”的區(qū)別。在許多高級(jí)語(yǔ)言中,用“=”符號(hào)作為關(guān)系運(yùn)算符“等 于”。如在 BASIC 程序中可以寫(xiě) if(a=3)then但 C 語(yǔ)言中,“=”是賦值運(yùn)算符, “=”是關(guān)系運(yùn)算符。如:if(a=3)a=b;前者是進(jìn)行比較,a 是否和 3 相等,后者表示 如果 a 和 3 相等,把 b 值賦給 a。由于習(xí)慣問(wèn)題,初學(xué)者往往會(huì)犯這樣的錯(cuò)誤。 5.忘記加分號(hào)。分號(hào)是 C 語(yǔ)句中不可缺少的一部分,語(yǔ)句末尾必須有分號(hào)。a=1b=2 編譯 時(shí),編譯程序在“a=1”后面沒(méi)發(fā)現(xiàn)分號(hào),就把下一行“b=2”也作為上一行語(yǔ)句的一部分, 這就會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。改錯(cuò)時(shí),有時(shí)在被指出有錯(cuò)的一行中未發(fā)現(xiàn)錯(cuò)誤,就需要看一下上一 行是否漏掉了分號(hào)。z=x+y;t=z/100;printf(“%f“,t);對(duì)于復(fù)合語(yǔ)句來(lái)說(shuō),最后一個(gè)語(yǔ) 句中最后的分號(hào)不能忽略不寫(xiě)(這是和 PASCAL 不同的)。 6.多加分號(hào)。對(duì)于一個(gè)復(fù)合語(yǔ)句,如:z=x+y;t=z/100;printf(“%f“,t);復(fù)合語(yǔ)句 的花括號(hào)后不應(yīng)再加分號(hào), 否則將會(huì)畫(huà)蛇添足。 又如: if(a%3=0);I+;本是如果 3 整除 a, 則 I 加 1。但由于 if(a%3=0)后多加了分號(hào),則 if 語(yǔ)句到此結(jié)束,程序?qū)?zhí)行 I+語(yǔ)句, 不論3是否整除a,I都將自動(dòng)加1。再如: for(I=0;Iy?x:y;return(z); 形 參 應(yīng) 該 在 函 數(shù) 體 外 定 義 , 而 局 部 變 量 應(yīng) 該 在 函 數(shù) 體 內(nèi) 定 義 。 應(yīng) 改 為 : intmax(x,y)intx,y;intz;z=xy?x:y;return(z); 修改 C 語(yǔ)言語(yǔ)法錯(cuò)誤時(shí)要注意以下兩點(diǎn): 1)由于 C 語(yǔ)言語(yǔ)法比較自由、靈活,因此錯(cuò)誤信息定位不是特別精確。例如,當(dāng)提示 第 10 行發(fā)生錯(cuò)誤時(shí),如果在第 10 行沒(méi)有發(fā)現(xiàn)錯(cuò)誤,從第 10 行開(kāi)始往前查找錯(cuò)誤并修改之。 2)一條語(yǔ)句錯(cuò)誤可能會(huì)產(chǎn)生若干條錯(cuò)誤信息,只要修改了這條錯(cuò)誤,其他錯(cuò)誤會(huì)隨之 消失。特別提示:一般情況下,第一條錯(cuò)誤信息最能反映錯(cuò)誤的位置和類(lèi)型,所以調(diào)試程序 時(shí)務(wù)必要根據(jù)第一條錯(cuò)誤信息進(jìn)行修改,修改后,立即運(yùn)行程序,如果還有很多錯(cuò)誤,要一 個(gè)一個(gè)地修改,即:每修改一處錯(cuò)誤要運(yùn)行一次程序。 C 語(yǔ)言程序設(shè)計(jì) 課程教學(xué)過(guò)程中, 一方面要求學(xué)生掌握 C 程序設(shè)計(jì)的基本語(yǔ)法規(guī)范, 養(yǎng)成程序設(shè)計(jì)的基本技巧與良好風(fēng)格,并提高運(yùn)用 C 語(yǔ)言解決實(shí)際問(wèn)題的能力。針對(duì)上述特 點(diǎn),我們采取了一系列行之有效的方法和措施: (1)充分運(yùn)用多樣化的教學(xué)手段(板書(shū)、幻燈片、多媒體課件、網(wǎng)絡(luò)課件等)。在C 語(yǔ)言程序設(shè)計(jì) 教學(xué)過(guò)程中, 課堂教學(xué)使用多媒體課件進(jìn)行輔助, 把難以理解的內(nèi)容如遞歸、 鏈表等內(nèi)容通過(guò)動(dòng)畫(huà)演示出來(lái),變抽象課件為具體,化枯燥乏味為生動(dòng)形象,激發(fā)了學(xué)生的 學(xué)習(xí)興趣,改善了教學(xué)效果。 (2)保證學(xué)時(shí),增加一定比例的習(xí)題課。為了保證教學(xué)質(zhì)量,課程組總學(xué)時(shí)由原來(lái)的 48 學(xué)時(shí)增加到 64 學(xué)時(shí),外加一周課程設(shè)計(jì)及 20 學(xué)時(shí)的開(kāi)放實(shí)驗(yàn),并增加了習(xí)題課的時(shí)數(shù)。 通過(guò)習(xí)題課,對(duì)實(shí)例重點(diǎn)分析,并將習(xí)題答案上網(wǎng),使學(xué)生在完成習(xí)題的同時(shí)逐步感悟,從 而學(xué)會(huì)編程。 (3)加強(qiáng)實(shí)踐環(huán)節(jié),通過(guò)編程上機(jī)加深理解。 C 語(yǔ)言程序設(shè)計(jì)實(shí)踐性恒強(qiáng),教學(xué)過(guò) 程中,一方面在理論教學(xué)中加強(qiáng)實(shí)踐操作演示和講解,理論和實(shí)踐相結(jié)合;另一方面,通過(guò) 編寫(xiě)高質(zhì)量的實(shí)驗(yàn)指導(dǎo)書(shū),按排教師全程指導(dǎo),確保實(shí)驗(yàn)網(wǎng)成的質(zhì)量,切實(shí)解決學(xué)生“上課 聽(tīng)得懂,下課不會(huì)做”的難題。 C 語(yǔ)言心得體會(huì) 6 (4) 重點(diǎn)突破。 學(xué)生在學(xué)習(xí) C 語(yǔ)言程序設(shè)計(jì) 中最困難的地方就是指針與函數(shù)那部分, 為此, 我們?cè)谥v課時(shí)在前面的數(shù)組部分就開(kāi)始提前引入指針的概念, 讓學(xué)生早做聯(lián)系早準(zhǔn)備, 有效得解決了指針難題。 (5)充分利用課程教學(xué)網(wǎng)站以及其它網(wǎng)絡(luò)資源,確保學(xué)生可以隨時(shí)隨地進(jìn)行學(xué)習(xí)。 C 語(yǔ)言程序設(shè)計(jì)課程組建立了比較完善的課程教學(xué)網(wǎng)站,網(wǎng)站中不僅積累了豐富的 C 語(yǔ)言程 序設(shè)計(jì)教學(xué)資源,而且開(kāi)辟了實(shí)驗(yàn)項(xiàng)目與實(shí)驗(yàn)環(huán)境、留言板等。安排教師及時(shí)回答學(xué)生的提 問(wèn),及時(shí)解決每節(jié)課每次作業(yè)中的疑問(wèn)是提高本門(mén)課程教學(xué)效果的最有效解決辦法。 五、上機(jī)實(shí)驗(yàn)的必要性五、上機(jī)實(shí)驗(yàn)的必要性 上機(jī)實(shí)驗(yàn)是學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言必不可少的實(shí)踐環(huán)節(jié),特別是 c 語(yǔ)言靈活、簡(jiǎn)潔,更需要 通過(guò)編程的實(shí)踐來(lái)真正掌握它。對(duì)于程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語(yǔ)法規(guī)定、 掌握程序設(shè)計(jì)方法、提高程序開(kāi)發(fā)能力,這些都必須通過(guò)充分的實(shí)際上機(jī)操作才能完成。 學(xué)習(xí) c 程序設(shè)計(jì)語(yǔ)言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時(shí)的上機(jī)時(shí)間。 因?yàn)閷W(xué)時(shí)所限,課程不能安排過(guò)多的統(tǒng)一上機(jī)實(shí)驗(yàn),所以希望學(xué)生有效地利用課程上機(jī)實(shí)驗(yàn) 的機(jī)會(huì), 盡快掌握用 c 語(yǔ)言開(kāi)發(fā)程序的能力, 為今后的繼續(xù)學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。 為此, 我們結(jié)合課堂講授的內(nèi)容和進(jìn)度,安排了 12 次上機(jī)實(shí)驗(yàn)。課程上機(jī)實(shí)驗(yàn)的目的,不僅僅是 驗(yàn)證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機(jī)實(shí)驗(yàn)的目的可以概 括為如下幾個(gè)方面: 1加深對(duì)課堂講授內(nèi)容的理解 課堂上要講授許多關(guān)于 C 語(yǔ)言的語(yǔ)法規(guī)則,聽(tīng)起來(lái)十分枯燥無(wú)味,也不容易記住,死記硬背 是不可取的。然而要使用 C 語(yǔ)言程序這個(gè)工具解決實(shí)際問(wèn)題,又必須掌握它。通過(guò)多次上機(jī) 練習(xí),對(duì)于語(yǔ)法知識(shí)有了感性的認(rèn)識(shí),加深對(duì)它的理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌 握 C 語(yǔ)言程序的語(yǔ)法規(guī)定。對(duì)于一些內(nèi)容自己認(rèn)為在課堂上聽(tīng)懂了,但上機(jī)實(shí)踐中會(huì)發(fā)現(xiàn)原 來(lái)理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計(jì),缺乏程序設(shè)計(jì)的實(shí)踐所致。 學(xué)習(xí) c 語(yǔ)言不能停留在學(xué)習(xí)它的語(yǔ)法規(guī)則,而是利用學(xué)到的知識(shí)編寫(xiě) c 語(yǔ)言程序,解決 實(shí)際問(wèn)題。即把 c 語(yǔ)言作為工具,描述解決實(shí)際問(wèn)題的步驟,由計(jì)算機(jī)幫助我們解題。只有 通過(guò)上機(jī)才能檢驗(yàn)自己是否掌握 c 語(yǔ)言、自己編寫(xiě)的程序是否能夠正確地解題。 通過(guò)上機(jī)實(shí)驗(yàn)來(lái)驗(yàn)證自己編制的程序是否正確, 恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時(shí)的 心態(tài)。但是在程序設(shè)計(jì)領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯(cuò)誤的想法。因?yàn)樵谶@種思想支配 下,可能你會(huì)想辦法去“掩蓋“程序中的錯(cuò)誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問(wèn)題。自 己編好程序上機(jī)調(diào)試運(yùn)行時(shí),可能有很多你想不到的情況發(fā)生,通過(guò)解決這些問(wèn)題,可以逐 步提高自己對(duì) c 語(yǔ)言的理解和程序開(kāi)發(fā)能力。 2熟悉程序開(kāi)發(fā)環(huán)境、學(xué)習(xí)計(jì)算機(jī)系統(tǒng)的操作方法 一個(gè) c 語(yǔ)言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行。所謂 “環(huán)境“就是所用的計(jì)算機(jī)系統(tǒng)硬件、軟件條件,只有學(xué)會(huì)使用這些環(huán)境,才能進(jìn)行程序開(kāi)發(fā) 工作。通過(guò)上機(jī)實(shí)驗(yàn),熟練地掌握 c 語(yǔ)言開(kāi)發(fā)環(huán)境,為以后真正編寫(xiě)計(jì)算機(jī)程序解決實(shí)際問(wèn) C 語(yǔ)言心得體會(huì) 7 題打下基礎(chǔ)。同時(shí),在今后遇到其它開(kāi)發(fā)環(huán)境時(shí)就會(huì)觸類(lèi)旁通,很快掌握新系統(tǒng)的使用。 3學(xué)習(xí)上機(jī)調(diào)試程序 完成程序的編寫(xiě),決不意味著萬(wàn)事大吉。你認(rèn)為萬(wàn)無(wú)一失的程序,實(shí)際上機(jī)運(yùn)行時(shí)可能不斷 出現(xiàn)麻煩。 如編譯程序檢測(cè)出一大堆錯(cuò)誤。 有時(shí)程序本身不存在語(yǔ)法錯(cuò)誤, 也能夠順利運(yùn)行, 但是運(yùn)行結(jié)果顯然是錯(cuò)誤的。開(kāi)發(fā)環(huán)境所提供的編譯系統(tǒng)無(wú)法發(fā)現(xiàn)這種程序邏輯錯(cuò)誤,只能 靠自己的上機(jī)經(jīng)驗(yàn)分析判斷錯(cuò)誤所在。程序的調(diào)試是一個(gè)技巧性很強(qiáng)的工作,對(duì)于初學(xué)者來(lái) 說(shuō),盡快掌握程序調(diào)試方法是非常重要的。有時(shí)候一個(gè)消耗你幾個(gè)小時(shí)時(shí)間的小小錯(cuò)誤,調(diào) 試高手一眼就看出錯(cuò)誤所在。 六、我個(gè)人的學(xué)習(xí)心得六、我個(gè)人的學(xué)習(xí)心得 在這里是我個(gè)人的幾套學(xué)習(xí)心得, 通過(guò)學(xué)習(xí)后所掌握的知識(shí)使用上課老師所提到的案例 或找一段簡(jiǎn)單的完整的案例,然后將案例讀懂,也就是把它轉(zhuǎn)換成我們?nèi)粘K芙邮艿淖匀?語(yǔ)言(在這里不妨把你所能理解的自然語(yǔ)言寫(xiě)下來(lái)) 。 1、這段代碼是手工輸入兩個(gè)整數(shù)數(shù)字并計(jì)算兩個(gè)數(shù)字之間從最小的數(shù)字開(kāi)始到最大的 數(shù)結(jié)束其中所有奇數(shù)相加的和: void main() 首先 INT 是表示整數(shù)形數(shù)據(jù)的定義, 那么接下來(lái)有兩個(gè)未知的整數(shù)和一個(gè)已知的整數(shù) 0; 這里出現(xiàn)的 3 個(gè)整數(shù)數(shù)字用 C 語(yǔ)言程序里的變量來(lái)替代它們,這時(shí)第一個(gè)數(shù)字就用取名為 NUM1 的變量,第二個(gè)數(shù)字就用取名為 NUM2 的變量,第三個(gè)數(shù)字就用取名為 X 的變量并且用 賦值符號(hào)來(lái)為它賦予 0 這個(gè)值。 int num1,num2,x=0; 由于知道了有兩個(gè)未知的整數(shù), 所以要通過(guò)鍵盤(pán)輸入使這兩個(gè)未知的整數(shù)變成已知的整 數(shù)并且儲(chǔ)存在前面所提到的變量中。 scanf(“%d%d “, 得到數(shù)字后下面就開(kāi)始進(jìn)行一系列的運(yùn)算和判斷, 如果 NUM1 小于 NUM2 的話最小的數(shù)字 就是 NUM1 最大的數(shù)字就是 NUM2,如果 NUM1 這個(gè)變量不小于 NUM2 的話就跳過(guò)這個(gè)所包含 的內(nèi)容。開(kāi)始進(jìn)行循環(huán)。 if(num1 NUM1 到 NUM2 之間的數(shù)字個(gè)數(shù)不是固定的,不能得到固定的循環(huán)起始點(diǎn),所以這里的循 環(huán)起始點(diǎn)就不輸入代碼中, 但是通過(guò)題目中的提示知道 NUM1 這個(gè)變量如果大于 NUM2 的話循 環(huán)就終止了,而 NUM1 這個(gè)變量還需每循環(huán)一次就必須改變其值。由于 NUM1 到 NUM2 之間的 數(shù)字列如 1-9 每個(gè)數(shù)字跟其右邊的數(shù)字都是存在加 1 的關(guān)系,所以這里就可以把 NUM1 這個(gè) 值用做循環(huán)的“計(jì)數(shù)器”每循環(huán)一次就讓 NUM1 加 1,讓其跟 NUM2 做比較是否結(jié)束循環(huán)。 2、數(shù)組的學(xué)習(xí) C 語(yǔ)言心得體會(huì) 8 數(shù)組的學(xué)習(xí)給我?guī)?lái)了不少煩惱。但是說(shuō)起數(shù)組來(lái),它貫穿于我們整個(gè) C 語(yǔ)言程序之中,我 們經(jīng)常要用它來(lái)存儲(chǔ)數(shù)據(jù)。編寫(xiě)圖形要用它來(lái)儲(chǔ)存坐標(biāo)數(shù)據(jù),編寫(xiě)音樂(lè)要用它來(lái)儲(chǔ)存音符樂(lè) 譜,即使學(xué)生的成績(jī)也要用到它來(lái)儲(chǔ)存但是,如果我們?cè)诶盟臅r(shí)候,不好好注意, 將被弄得眼花繚亂!我們?cè)诶盟鼇?lái)處理數(shù)據(jù)的時(shí)候,涉及到的排序,找最大,最小值這些 問(wèn)題。特別是排序,方法挺多,但如果不把握住幾種常用的方法,使用數(shù)組就變得非常不便。 常用的方法中,有冒泡排序,選擇排序,希爾排序,快速排序等方法:選擇法排序,與冒泡 法排序都是利用 for 循環(huán)語(yǔ)句,前者是先尋找出最大最小值的下標(biāo),然后再交換,后者則是 利用相鄰間元素的比較大小,不符合要求順序的就交換,這樣一級(jí)一級(jí)地向上交換,把最大 的或者最小的放到最上面去;對(duì)于后兩種辦法排序,都利用到循環(huán)次數(shù)不確定的 while 和 do-while 語(yǔ)句,前者還利用到 for 語(yǔ)句,希爾排序利用一一對(duì)應(yīng)比較的辦法,后者利用數(shù)組 中其它元素與中間數(shù)進(jìn)行比較大小,然后實(shí)行交換。 3、數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式。 C 語(yǔ)言程序中有比較豐富的數(shù)據(jù)類(lèi)型:整型、字符型、枚舉型和浮點(diǎn)型,而整型又分為 有符號(hào)和無(wú)符號(hào),短整型,長(zhǎng)整型和一般的整型。而且你還可以構(gòu)造自己的數(shù)據(jù)類(lèi)型(如數(shù) 組,結(jié)構(gòu)體,共用體) 。 標(biāo)準(zhǔn) C 語(yǔ)言程序中共有 32 個(gè)關(guān)鍵字(也叫保留字) : int char long short unsigned signed union struct volatile const sizeof enum float double if else for while do switch case default void return break continue goto auto static extern register typedef C 語(yǔ)言程序中的運(yùn)算符也是挺豐富的!分為了單目、二目和三目(多少目就說(shuō)有多少個(gè) 元素參與)運(yùn)算符,更具體的這里就不多說(shuō)了。 它的運(yùn)算符中的優(yōu)先級(jí)和結(jié)合性也是比較難的一點(diǎn),不過(guò)隨著你的逐漸深入,你掌的自會(huì)增 多,自會(huì)記住這些,所以也不一定說(shuō)要去背這些 C 語(yǔ)言程序設(shè)計(jì)之所以有如此的地位,其中之一就是它有了指針這個(gè)概念,即地址。這 使得能對(duì)地址的直接操作,甚至能通過(guò)位移或邏輯運(yùn)算符,對(duì)位進(jìn)行操作。這個(gè),也就是它 為什么是介于高級(jí)與低級(jí)語(yǔ)言這間的一個(gè)重要原因! C 語(yǔ)言程序的表達(dá)式就是由上面的運(yùn)算符組合形成的,寫(xiě)出表達(dá)式還不能算是完整,C 語(yǔ)言程序中規(guī)定用分號(hào)結(jié)束表達(dá)式的,用/*/來(lái)表示注釋?zhuān)?是 C+的) 。所以在表達(dá)式的結(jié) 尾加上分號(hào)就成了語(yǔ)句了,這樣算結(jié)束。 因此, 表達(dá)的類(lèi)型也不少, 例如有賦值 (a=2), 判斷(a=b), 逗號(hào)表達(dá)式 (a+b, b+, a=b) (就是由多個(gè)式子組成,而整個(gè)式了的值是最后那個(gè)表達(dá)式的值) , 運(yùn)算的(a+b) 4、C 語(yǔ)言程序設(shè)計(jì)初步。 首先你應(yīng)該學(xué)好基礎(chǔ)的,該記的就記,不過(guò)應(yīng)該要理解,然后要多多實(shí)踐才行! 一個(gè)完整的 C 語(yǔ)言程序必須要主函數(shù) main,而且只允許有一個(gè)。無(wú)論你的程序多復(fù)雜, C 語(yǔ)言心得體會(huì) 9 總是由 main 函數(shù)進(jìn)入開(kāi)始執(zhí)行,并由它而結(jié)束而在 main 函數(shù)中出現(xiàn)的其它函數(shù),就稱(chēng)為 調(diào)用。所有的函數(shù)都是同等的(也就是說(shuō)可以相互調(diào)用,main 特殊點(diǎn)) ,而函數(shù)自己調(diào)用自 己就稱(chēng)之為遞歸。 別看上面好像說(shuō)的走題了, C 語(yǔ)言程序其實(shí)就是由函數(shù)構(gòu)成的! 它的思想就是自頂向下, 逐步求精的??旎枷搿R簿褪钦f(shuō),你先把你要做的程序通過(guò)不過(guò)地分割細(xì)化,分成了更具 體的各個(gè)小功能,然后把它們編寫(xiě)成函數(shù),再有機(jī)地組合起來(lái)(就是調(diào)用) ,一個(gè)大功能的 程序就出爐啦。 一般來(lái)說(shuō),C 語(yǔ)言程序要把文件頭 stdio.h(標(biāo)準(zhǔn)輸入輸出)包含進(jìn)程序,這樣就能用 C 語(yǔ)言程序中的相關(guān)函數(shù)了(其實(shí)和我們寫(xiě)的也一樣,就是別人寫(xiě)好了,我們就不用了) 。 通 過(guò)#include 就達(dá)到目的了。 C 語(yǔ)言程序中的變量(就是在程序執(zhí)行過(guò)程中的值是可變的,與常量區(qū)別(過(guò)程中的值 不變)都遵行先定義后使用,而且必須定義在所有執(zhí)行語(yǔ)句前。這樣,每一個(gè)函數(shù)的開(kāi)始就 是這樣變量, 常量的定義了。 接著考慮就是用順序結(jié)構(gòu), 條件結(jié)構(gòu)或是循環(huán)結(jié)構(gòu)來(lái)寫(xiě)程序 (一 般復(fù)雜點(diǎn)的程序都有這三種的) ,然后就是用那些表達(dá)式來(lái)達(dá)到你要的功能了。下面就是一 個(gè)簡(jiǎn)單的求和 C 語(yǔ)言程序: (主要了解它構(gòu)架) #include /*文件頭包含后,下面才能用 printf 函數(shù)*/ main() /* 主函數(shù) main */ /*用一對(duì)把函數(shù)內(nèi)容括起來(lái)*/ int a, b , s; /*定義變量*/ a=1; /*給變量 a 賦值*/ b=1; /*給變量 b 賦值*/ s=a+b; /* a 與 b 求和并賦值給變量 s*/ printf(“%d“,s); /*調(diào)用 C 中的輸出函數(shù)打出 s 的值到屏幕上*/ /* 到此結(jié)束*/ 5、選擇結(jié)構(gòu) C 程序設(shè)計(jì)。 選擇結(jié)構(gòu)相對(duì)于順序結(jié)構(gòu)來(lái)說(shuō), 就是兩多條不同的執(zhí)行路徑, 不是按照順序全部執(zhí)行的, 而是根據(jù)你寫(xiě)的條件,判斷真假后選擇不同的程序段去執(zhí)行,達(dá)到不同的目的! 這樣一來(lái)就符合了我們的事物了,因?yàn)槭挛锏囊彩窃谝欢l件下才能區(qū)別的,而不同的原因 (條件) ,就可能會(huì)有不同的結(jié)果(不同的執(zhí)行路徑) ,也以一個(gè)簡(jiǎn)單的程序說(shuō)明好了,至于 詳細(xì)也說(shuō)不了,道不清! #include main() int a, b; /*定義*/ a=1;/*賦值*/ C 語(yǔ)言心得體會(huì) 10 b=2; if (a b) /*ab 就是判斷條件了,如果條件成立,則訪表達(dá)式的值為 1,不成立,則 ab 該表達(dá)式的值為 0*/ /*而在 C 中,非 0 就表示真,而 0 表式假,所以通過(guò)最后的值來(lái)決定方向*/ printf(“%d“, a); /*條件成立就打出 a*/ else /*否則,執(zhí)行這一邊*/ printf(“%d“,b); /*打出 b*/ 6、循環(huán)結(jié)構(gòu) C 程序設(shè)計(jì)。 循環(huán)語(yǔ)句其實(shí)也可看成特殊的條件語(yǔ)句,只不過(guò)它的執(zhí)行路徑只有一條,而通過(guò)判斷條件來(lái) 決定是否要執(zhí)行該路徑還是要退出而已。它有 for do-while 和 while 三種類(lèi)型,原理上是 一樣的,就是 do-while 是先執(zhí)行再進(jìn)行條件的判斷,而其它的兩種就是先判斷后執(zhí)行的! 下面以一個(gè)程序來(lái)說(shuō)明循環(huán): #include main() int a, b; /*定義*/ a= 1;/*賦值*/ b=3; while(ab) /*循環(huán)判斷,和條件的判斷一樣*/ a = a+1; /* a 加上 1,并把新得到的值賦再給了 a,這就是計(jì)算機(jī)的賦值了,與我們的數(shù)學(xué) 式子有所不同*/ printf(“%d“,a); /*把最后的 a 打出來(lái)*/ /* OVER!*/ 程序設(shè)計(jì)過(guò)程猶如解決實(shí)際問(wèn)題,從解決實(shí)際問(wèn)題的角度,我們可以這樣來(lái)看:首先要 了解這個(gè)問(wèn)題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;其次,從問(wèn)題 的要害入手,從前到后的解決問(wèn)題的每個(gè)方面,即從輸入開(kāi)始入手,著重考慮如何從輸入導(dǎo) 出輸出,在這個(gè)過(guò)程中,可確定所需的變量、數(shù)組、函數(shù),然后確定處理過(guò)程算法???得最后結(jié)論:在設(shè)計(jì)程序時(shí)也增長(zhǎng)了自己的知識(shí),翻閱有關(guān)文
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度員工福利放棄策劃協(xié)議
- 2025年金融資產(chǎn)拍賣(mài)策劃授權(quán)代理合作協(xié)議書(shū)
- 2025年貨車(chē)運(yùn)輸服務(wù)策劃協(xié)議模板
- 2025年社保待遇執(zhí)行協(xié)議標(biāo)準(zhǔn)
- 2025年某地區(qū)公共場(chǎng)所電梯策劃更新改造協(xié)議書(shū)
- 2025年企業(yè)綜合借款協(xié)議
- 商業(yè)空間節(jié)假日旅游市場(chǎng)發(fā)展研究方法規(guī)劃基礎(chǔ)知識(shí)點(diǎn)歸納
- 理賠業(yè)務(wù)風(fēng)險(xiǎn)培訓(xùn)創(chuàng)新性風(fēng)險(xiǎn)基礎(chǔ)知識(shí)點(diǎn)歸納
- 牦牛飼料管理與營(yíng)養(yǎng)優(yōu)化方案
- 面向老齡化社會(huì)的智能健康服務(wù)解決方案
- 社區(qū)糖尿病病例管理中的藥物治療優(yōu)化策略
- 老年性眼病知識(shí)講座
- 肺結(jié)核的診療與護(hù)理
- 腹部常見(jiàn)疾病超聲診斷課件
- 心理危機(jī)評(píng)估中的量表和工具
- 智能傳感器系統(tǒng)(第二版)(劉君華)1-5章
- ISO9001-2015質(zhì)量管理體系要求培訓(xùn)教材
- GB 4806.7-2023食品安全國(guó)家標(biāo)準(zhǔn)食品接觸用塑料材料及制品
- 中藥大劑量臨床應(yīng)用
- 注漿法施工技術(shù)二
- 湖南省消除艾梅乙工作考試復(fù)習(xí)題庫(kù)大全(含答案)
評(píng)論
0/150
提交評(píng)論