1、基礎(chǔ)知識(shí)就是學(xué)習(xí)中基本的知識(shí),包括常識(shí)、簡(jiǎn)單實(shí)用的、容易記憶的。
2、基礎(chǔ)知識(shí)的重要性:
(1)沒(méi)有基礎(chǔ),何來(lái)進(jìn)階,知識(shí)體系環(huán)環(huán)相扣,沒(méi)有夯實(shí)的基礎(chǔ),知識(shí)體系只會(huì)是漏洞百出,只懂表面,不懂原理,學(xué)習(xí)任何事物想要學(xué)好必須學(xué)好基礎(chǔ),懂其原理,萬(wàn)丈高樓拔地而起,還要靠地基打的好。
(2)任何事物基礎(chǔ)都很重要(對(duì)于不同事物這個(gè)基礎(chǔ)的表現(xiàn)形式也可能不同),更深?yuàn)W的知識(shí)都是有最基礎(chǔ)的知識(shí),理論原理組合而成的,沒(méi)有基礎(chǔ),就不可能去理解更深?yuàn)W的知識(shí)理論,就不可能往更高的層次進(jìn)階,基礎(chǔ)學(xué)好了扎實(shí)了才能再進(jìn)階更深?yuàn)W的課程,再怎么強(qiáng)調(diào)基礎(chǔ)的重要性都不為過(guò),基礎(chǔ)一定要夯實(shí)。
擴(kuò)展資料:
基礎(chǔ)知識(shí)的深度理解標(biāo)準(zhǔn):
(1)基礎(chǔ)知識(shí)能否體系化——關(guān)注點(diǎn):重過(guò)程,輕結(jié)果。
對(duì)于少量知識(shí)點(diǎn)而言,或許學(xué)生不需要做到這一點(diǎn)也很優(yōu)秀。但是對(duì)于大量知識(shí)點(diǎn)而言,沒(méi)有這一步,學(xué)生就沒(méi)有得高分的信心。
隨著信息的發(fā)達(dá),大量的學(xué)生和家長(zhǎng)已經(jīng)開(kāi)始關(guān)注知識(shí)體系化,很多學(xué)校也將這一過(guò)程融入到教學(xué)當(dāng)中。雖然不同的學(xué)生對(duì)于這些基礎(chǔ)的重視度和領(lǐng)悟力有差別,但是可以肯定的是這種教學(xué)質(zhì)量較之以前是一個(gè)很大的進(jìn)步。
而學(xué)生之所以不能從體系化中有所得,關(guān)鍵在于學(xué)生對(duì)于體系化的關(guān)注點(diǎn)在何處。是關(guān)注其體系化后的結(jié)果,還是關(guān)注其體系化的過(guò)程。
所以,老師的板書(shū),學(xué)生抄下來(lái),接下來(lái)要做的是:不是去想著怎樣記住,而是要去思考老師為什么這樣板書(shū)。其實(shí)不僅是老師的板書(shū),身邊的輔材,包括教材都要去習(xí)慣性的這樣分析。
(2)基礎(chǔ)知識(shí)能否拓展——關(guān)注點(diǎn):重理解輕記憶
有一個(gè)知識(shí)點(diǎn),自己能想到知識(shí)點(diǎn)周邊的其他知識(shí)點(diǎn),這叫做知識(shí)的拓展性。當(dāng)自己基于某一個(gè)知識(shí)點(diǎn),自己所能聯(lián)想的越多,說(shuō)明知識(shí)的靈活度越高。因?yàn)槿绻麑?duì)于某一個(gè)知識(shí)點(diǎn)沒(méi)有深層次的理解,是不可能做到有效拓展的。
(3)應(yīng)用方向會(huì)不會(huì)總結(jié)——關(guān)注點(diǎn):重知識(shí)的應(yīng)用輕場(chǎng)景的應(yīng)用
我們將每一道題的題目看做具體的場(chǎng)景,在場(chǎng)景中必然涉及到知識(shí)點(diǎn),學(xué)生在分析場(chǎng)景的時(shí)候,喜歡知識(shí)點(diǎn)結(jié)合場(chǎng)景,所以學(xué)生抽取不出其中的科目語(yǔ)言。
而分析的過(guò)程也是針對(duì)場(chǎng)景的分析,并不能形成知識(shí)點(diǎn)的應(yīng)用總結(jié)。最終的結(jié)果是:一旦場(chǎng)景變了,學(xué)生就陷入了新的迷茫。
學(xué)生歸納錯(cuò)題和好題,不是說(shuō)簡(jiǎn)簡(jiǎn)單單的寫(xiě)個(gè)答案。有很多學(xué)生認(rèn)為抄題是一件沒(méi)有意義的事情,不同的科目要有不同的理解。如果題目中含有大量的需要轉(zhuǎn)化的學(xué)科語(yǔ)言,抄一抄題,自己在抄題的過(guò)程中去關(guān)注知識(shí)點(diǎn)如何在場(chǎng)景中表達(dá)的,如何應(yīng)用到場(chǎng)景中的,對(duì)于這些的思考其實(shí)已經(jīng)超過(guò)了題目本身的意義。
(4)基礎(chǔ)應(yīng)用是否流暢——關(guān)注點(diǎn):重應(yīng)用熟練輕記憶熟練
表述也是應(yīng)用的一種,重應(yīng)用說(shuō)明自己的學(xué)習(xí)是主動(dòng)的,輕記憶,是為了讓學(xué)生擺脫死記硬背的陋習(xí)。
當(dāng)自己的表述和應(yīng)用都很流暢了,其實(shí)就已經(jīng)代表了知識(shí)被熟練掌握了。而表述和應(yīng)用的要求,不僅僅是針對(duì)某一個(gè)或者幾個(gè)熟練的知識(shí)點(diǎn),而是整個(gè)體系的表述和應(yīng)用。
1.C提供了三種主要的預(yù)處理功能,分別是__宏定義_______、___文件包含______、____條件編譯____。
2.C語(yǔ)言中,數(shù)組元素下標(biāo)下限為_(kāi)__0_____。
3.數(shù)組名作函數(shù)參數(shù)傳遞時(shí)是__數(shù)組首地址______傳遞。變量作函數(shù)參數(shù)時(shí)是_值_______傳遞,
4.一個(gè)編輯好的*.C源程序,必須經(jīng)過(guò)編譯、_連接_______、后才能運(yùn)行。
5.在C語(yǔ)言中可以用__逐個(gè)引用______法和________法引用數(shù)組元素。
6.C語(yǔ)言的程序結(jié)構(gòu)有_順序___、_選擇___、循環(huán)____三種。
7.在C中,Char類型變量值可以賦值給___int_____類型變量。
8.使指針P指向數(shù)組int a[ ]的首址,寫(xiě)作 __p=a______ ,*(P+1)是a[ _1__ ]的值
9.所謂指針是指_______;指針變量是用于存放_(tái)__變量地址___的變量;字符串的指針是指__字符串的首地址________ ;函數(shù)的指針是指__函數(shù)首地址____________。
10.在函數(shù)調(diào)用中,一個(gè)函數(shù)無(wú)論直接還是間接地調(diào)用自身,該調(diào)用稱為_(kāi)_遞歸_____調(diào)用。
(第六版) Bradley L. Jones, Peler Aitken 著. 信達(dá)工作室 譯. 人民郵電出版社 這本書(shū)對(duì)初學(xué)者很好, 如果有點(diǎn)基礎(chǔ)那就更好了. 建議選擇譚浩強(qiáng)譚老師的書(shū),簡(jiǎn)單易學(xué),理論與實(shí)踐結(jié)合的很好,而且如果能認(rèn)真學(xué)的話,你會(huì)發(fā)現(xiàn)你的C語(yǔ)言基礎(chǔ)非常的實(shí)。
也不是說(shuō)其他的書(shū)不好,但是有些書(shū)只是為了讓讀者入門(mén),沒(méi)有前途呀。 先讀譚浩強(qiáng)的《C語(yǔ)言程序設(shè)計(jì)》,這是公認(rèn)的中文入門(mén)級(jí)教材。
但是書(shū)中的代碼風(fēng)格不敢恭維??赐赀@本,推薦《21天學(xué)通C語(yǔ)言》,這本書(shū)比較好,個(gè)人感覺(jué)。
看完這兩本,你就可以進(jìn)階C++了。 C語(yǔ)言只要把基礎(chǔ)打好就好,你要是想精通的話,最好是精通C++,這樣比較有前途。
但不要操之過(guò)急。
教了多年《C程序設(shè)計(jì)》課程,大多學(xué)生覺(jué)的這門(mén)課程難學(xué)。
其實(shí),按照我們現(xiàn)在的教學(xué)大綱和教學(xué)要求,只要同學(xué)們掌握一些方法,克服心理上畏難、不輕言放棄,是完全可以學(xué)好的。 《C程序設(shè)計(jì)》的內(nèi)容很豐富,按照我們現(xiàn)在的教學(xué)大綱,教學(xué)的主要內(nèi)容是基礎(chǔ)知識(shí)、四種結(jié)構(gòu)的的程序設(shè)計(jì)、函數(shù)與數(shù)組的應(yīng)用和一些簡(jiǎn)單的算法。
在學(xué)習(xí)時(shí),同學(xué)們應(yīng)該把主要精力放在這些部分,通過(guò)實(shí)踐(練習(xí)和上機(jī)調(diào)試等熟練掌握。當(dāng)然,在初學(xué)C語(yǔ)言時(shí),可能會(huì)遇到有些問(wèn)題理解不透,或者表達(dá)方式與以往數(shù)學(xué)學(xué)習(xí)中不同(如運(yùn)算符等),這就要求不氣餒,不明白的地方多問(wèn)多想,鼓足勇氣進(jìn)行學(xué)習(xí),待學(xué)完后面的章節(jié)知識(shí),前面的問(wèn)題也就迎刃而解了,這一方面我感覺(jué)是我們同學(xué)最欠缺,大多學(xué)不好的就是因?yàn)橐婚_(kāi)始遇到困難就放棄,曾經(jīng)和好多同學(xué)談他的問(wèn)題,回答是聽(tīng)不懂、不想聽(tīng)、放棄這樣三個(gè)過(guò)程,我反問(wèn),這節(jié)課你聽(tīng)過(guò)課嗎?回答又是沒(méi)有,根本就沒(méi)聽(tīng)過(guò)課,怎么說(shuō)自己聽(tīng)不懂呢?相應(yīng)的根本就沒(méi)學(xué)習(xí),又談何學(xué)的好? 學(xué)習(xí)C語(yǔ)言始終要記住“曙光在前頭”和“千金難買回頭看”,“千金難買回頭看”是學(xué)習(xí)知識(shí)的重要方法,就是說(shuō),學(xué)習(xí)后面的知識(shí),不要忘了回頭弄清遺留下的問(wèn)題和加深理解前面的知識(shí),這是我們學(xué)生最不易做到的,然而卻又是最重要的。
比如:在C語(yǔ)言中最典型的是關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)思,不管是那種教材,一開(kāi)始就強(qiáng)調(diào)這種方法,這時(shí)也許你不能充分體會(huì),但是學(xué)到函數(shù)時(shí),再回頭來(lái)仔細(xì)體會(huì),溫故知新,理解它就沒(méi)有那么難了。學(xué)習(xí)C語(yǔ)言就是要經(jīng)過(guò)幾個(gè)反復(fù),才能前后貫穿,積累應(yīng)該掌握的C知識(shí)。
那么,我們?nèi)绾螌W(xué)好《C程序設(shè)計(jì)》呢? 一.學(xué)好C語(yǔ)言的運(yùn)算符和運(yùn)算順序 這是學(xué)好《C程序設(shè)計(jì)》的基礎(chǔ),C語(yǔ)言的運(yùn)算非常靈活,功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計(jì)語(yǔ)言。在表達(dá)式方面較其它程序語(yǔ)言更為簡(jiǎn)潔,如自加、自減、逗號(hào)運(yùn)算和三目運(yùn)算使表達(dá)式更為簡(jiǎn)單,但初學(xué)者往往會(huì)覺(jué)的這種表達(dá)式難讀,關(guān)鍵原因就是對(duì)運(yùn)算符和運(yùn)算順序理解不透不全。
當(dāng)多種不同運(yùn)算組成一個(gè)運(yùn)算表達(dá)式,即一個(gè)運(yùn)算式中出現(xiàn)多種運(yùn)算符時(shí),運(yùn)算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。在學(xué)習(xí)中,只要我們對(duì)此合理進(jìn)行分類,找出它們與我們?cè)跀?shù)學(xué)中所學(xué)到運(yùn)算之間的不同點(diǎn)之后,記住這些運(yùn)算也就不困難了,有些運(yùn)算符在理解后更會(huì)牢記心中,將來(lái)用起來(lái)得心應(yīng)手,而有些可暫時(shí)放棄不記,等用到時(shí)再記不遲。
先要明確運(yùn)算符按優(yōu)先級(jí)不同分類,《C程序設(shè)計(jì)》運(yùn)算符可分為15種優(yōu)先級(jí),從高到低,優(yōu)先級(jí)為1 ~ 15,除第2、3級(jí)和第14級(jí)為從右至左結(jié)合外,其它都是從左至右結(jié)合,它決定同級(jí)運(yùn)算符的運(yùn)算順序。下面我們通過(guò)幾個(gè)例子來(lái)說(shuō)明: (1) 5*8/4%10 這個(gè)表達(dá)式中出現(xiàn)3種運(yùn)算符,是同級(jí)運(yùn)算符,運(yùn)算順序按從左至右結(jié)合,因此先計(jì)算5 *8=40,然后被4除,結(jié)果為10,最后是%(求余數(shù))運(yùn)算,所以表達(dá)式的最終結(jié)果為10%10 = 0; (2)a = 3;b = 5;c =++ a* b ;d =a + +* b; 對(duì)于c=++a*b來(lái)說(shuō),按表中所列順序,+ +先執(zhí)行,*后執(zhí)行,所以+ + a執(zhí)行后,a的值為4,由于+ +為前置運(yùn)算,所以a的值4參與運(yùn)算,C的值計(jì)算式為4*5=20而不是3*5=15了;而對(duì)于d=a++*b來(lái)說(shuō),由于a + +為后置運(yùn)算,所以a值為4參與運(yùn)算,使得d的值仍為20,而a參與運(yùn)算后其值加1,值為5。
這個(gè)例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗號(hào)結(jié)合運(yùn)算,上式稱為逗號(hào)表達(dá)式,自左向右結(jié)合,最后一個(gè)表達(dá)式的結(jié)果值就是逗號(hào)表達(dá)式的結(jié)果,所以上面的逗號(hào)表達(dá)式結(jié)果為40,a的值為3,b的值為8,c的值為40。 (4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一個(gè)三目運(yùn)算,它的功能是先做關(guān)系運(yùn)算a>b部分,若結(jié)果為真,則取問(wèn)號(hào)后a的值,否則取冒號(hào)后b的值,因此c的值應(yīng)該為6,這個(gè)運(yùn)算可以用來(lái)代替if…else…語(yǔ)句的簡(jiǎn)單應(yīng)用。
二.學(xué)好C語(yǔ)言的四種程序結(jié)構(gòu) (1)順序結(jié)構(gòu) 順序結(jié)構(gòu)的程序設(shè)計(jì)是最簡(jiǎn)單的,只要按照解決問(wèn)題的順序?qū)懗鱿鄳?yīng)的語(yǔ)句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。 例如;a = 3,b = 5,現(xiàn)交換a,b的值,這個(gè)問(wèn)題就好象交換兩個(gè)杯子水,這當(dāng)然要用到第三個(gè)杯子,假如第三個(gè)杯子是c,那么正確的程序?yàn)椋?c = a; a = b; b = c; 執(zhí)行結(jié)果是a = 5,b = c = 3如果改變其順序,寫(xiě)成:a = b; c = a; b = c; 則執(zhí)行結(jié)果就變成a = b = c = 5,不能達(dá)到預(yù)期的目的,初學(xué)者最容易犯這種錯(cuò)誤。
順序結(jié)構(gòu)可以獨(dú)立使用構(gòu)成一個(gè)簡(jiǎn)單的完整程序,常見(jiàn)的輸入、計(jì)算,輸出三步曲的程序就是順序結(jié)構(gòu),例如計(jì)算圓的面積,其程序的語(yǔ)句順序就是輸入圓的半徑r,計(jì)算s = 3.14159*r*r,輸出圓的面積s。不過(guò)大多數(shù)情況下順序結(jié)構(gòu)都是作為程序的一部分,與其它結(jié)構(gòu)一起構(gòu)成一個(gè)復(fù)雜的程序,例如分支結(jié)構(gòu)中的復(fù)合語(yǔ)句、循環(huán)結(jié)構(gòu)中的循環(huán)體等。
(2) 分支結(jié)構(gòu) 順序結(jié)構(gòu)的程序雖然能解決計(jì)算、輸出等問(wèn)題,但不能做判斷再選擇。對(duì)于要先做判斷再選擇的問(wèn)題就要使用分支結(jié)構(gòu)。
分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語(yǔ)句出現(xiàn)的物理順序。分支結(jié)構(gòu)的程序設(shè)計(jì)方法的關(guān)。
C語(yǔ)言功能豐富,表達(dá)能力強(qiáng)、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,既具有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又具有低級(jí)語(yǔ)言的許多特點(diǎn),因此特別適合于編寫(xiě)系統(tǒng)軟件.
簡(jiǎn)潔緊湊、靈活方便
運(yùn)算符豐富
數(shù)據(jù)結(jié)構(gòu)豐富
C是結(jié)構(gòu)式語(yǔ)言
C語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大
C語(yǔ)言允許直接訪問(wèn)物理地址,對(duì)硬件進(jìn)行操作
生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高
C語(yǔ)言適用范圍大,可移植性好
想要學(xué)習(xí)它的話可以看看譚浩強(qiáng)的《C程序設(shè)計(jì)》
簡(jiǎn)單易懂。
c語(yǔ)言概要 第一章、概述 1、c語(yǔ)言的基本知識(shí) 1.1、c語(yǔ)言的執(zhí)行步驟 編輯-程序代碼的錄入,生成源程序*.c 編譯-語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj (語(yǔ)法或邏輯錯(cuò)誤,從第一個(gè)開(kāi)始改,變量定義,語(yǔ)句格式,表達(dá)式格式等) 鏈接-與其他目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe 執(zhí)行 1.2、main函數(shù)的基本知識(shí) main()函數(shù)的位置 c程序總是從main( )函數(shù)開(kāi)始執(zhí)行 一個(gè)c程序可以包含一個(gè)主函數(shù),即main()函數(shù);也可以包含一個(gè)main()函數(shù)和若干其它函數(shù) 1.3、c程序的結(jié)構(gòu) 函數(shù)與主函數(shù) 程序由一個(gè)或多個(gè)函數(shù)組成 必須有一個(gè)且只能有一個(gè)主函數(shù)main() 程序執(zhí)行從main開(kāi)始,在main中結(jié)束,其他函數(shù)通過(guò)嵌套調(diào)用得以執(zhí)行 程序語(yǔ)句 C程序由語(yǔ)句組成 用“;”作為語(yǔ)句終止符 注釋 // 或 /* */ 為注釋,不能嵌套 不產(chǎn)生編譯代碼 1.4、c 程序書(shū)寫(xiě)的規(guī)則 習(xí)慣用小寫(xiě)字母,大小寫(xiě)敏感 不使用行號(hào),無(wú)程序行概念:通常一個(gè)語(yǔ)句占一行 可使用空行和空格 常用鋸齒形的書(shū)寫(xiě)格式;同一層次結(jié)構(gòu)的語(yǔ)句上下對(duì)齊。
第二章、基本數(shù)據(jù)類型與運(yùn)算 2.1、c程序的數(shù)據(jù)類型 注意類型和變量含義的不同(類型是固定好的名字,變量是自己起的名字) 變量占用的存儲(chǔ)空間 數(shù)據(jù)類型 基本類型:整型、字符型、浮點(diǎn)型(單精度型,雙精度型) 構(gòu)造類型:數(shù)組類型、結(jié)構(gòu)體類型 指針類型 空類型 注意基本類型賦初值的方式 基本數(shù)據(jù)類型的表示形式 整形數(shù)據(jù) 十進(jìn)制:以非0數(shù)字開(kāi)頭,如:123,-9,0 八進(jìn)制;以0數(shù)字開(kāi)頭,如:0123,067 十六進(jìn)制:以0x開(kāi)頭,如:0x123,0xff 實(shí)型數(shù)據(jù) 十進(jìn)制:必須帶小數(shù)點(diǎn),如:123.0,-9.0 指數(shù)形式;如:1.23E3,0.9e-2,5e2 字符型數(shù)據(jù) 普通字符:如:'a','2','H','#' 轉(zhuǎn)義字符:如:'\n','\167','\xlf,'\\' (實(shí)現(xiàn)幾列的對(duì)齊:指定寬度。如%100\ '\t'制表位) (字符串長(zhǎng)度。
“abc\n\t\\” strlen 6; sizeof 7) 基本數(shù)據(jù)類型的存儲(chǔ)長(zhǎng)度 整型 Int 字節(jié)數(shù) 2 位數(shù) 16 數(shù)的表示范圍 -32768—32767 Short 2 16 -32768—32767 Long 4 32 -2147483648—2147483647 實(shí)型 Float 4 32 3.4e-38---3.4e38 Double 8 64 1.7e-308---1.7e308 字符型 Char 1 8 -128----127 2.2、標(biāo)識(shí)符命名規(guī)則 C語(yǔ)言標(biāo)志符命名規(guī)則 標(biāo)識(shí)符有數(shù)字,字母,下劃線組成 標(biāo)識(shí)符的首字符必須為字母和下劃線 標(biāo)識(shí)符不能為c語(yǔ)言的保留字(關(guān)鍵字) 如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed 算術(shù)運(yùn)算符 + - * / % 關(guān)系運(yùn)算符 > = <= != 邏輯運(yùn)算符 ! && || 位運(yùn)算符 <> ~ | ^ & 賦值運(yùn)算符 = 及其擴(kuò)展賦值運(yùn)算符 條件運(yùn)算符 ? : 逗號(hào)運(yùn)算符 , 指針運(yùn)算符 * & 求字節(jié)數(shù)運(yùn)算符 sizeof 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 (類型) 分量運(yùn)算符 . -> 下標(biāo)運(yùn)算符 [ ] 其他 如函數(shù)調(diào)用運(yùn)算符() 運(yùn)算符的優(yōu)先級(jí) 由高到低:?jiǎn)文窟\(yùn)算符,算數(shù)運(yùn)算符,關(guān)系運(yùn)算符,賦值運(yùn)算符 說(shuō)明:?jiǎn)文窟\(yùn)算符:自增運(yùn)算符,自減運(yùn)算符,類型裝換運(yùn)算符。結(jié)合方向:自右至左 如:++--I 先—i.。
算術(shù)運(yùn)算 結(jié)合方向自左至右 2.3基本運(yùn)算和表達(dá)式 關(guān)系表達(dá)式和邏輯表達(dá)式 (a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b) A&&b.a為0.不執(zhí)行b A||b a為1.不執(zhí)行b 在 c 中邏輯運(yùn)算結(jié)果:1代表“真”,0代表“假”; 判斷一個(gè)表達(dá)式是否真:0代表“假”,非0代表“真” 條件表達(dá)式 逗號(hào)表達(dá)式 如:k=5,k++ 逗號(hào)值為5;k為6. 表達(dá)式1?表達(dá)式2 :表達(dá)式3 K=5>6 ? 1 : 0 2.4、混合運(yùn)算的數(shù)據(jù)類型轉(zhuǎn)換 2/3+0.5 雙精度浮點(diǎn)型 第三章、順序結(jié)構(gòu)程序設(shè)計(jì) 3.1、c語(yǔ)句的分類 簡(jiǎn)單語(yǔ)句 表達(dá)式語(yǔ)句 表達(dá)式+分號(hào) 空語(yǔ)句 只有分號(hào)的語(yǔ)句 復(fù)合語(yǔ)句 用花括號(hào)將若干語(yǔ)句括起來(lái) 流程控制語(yǔ)句 選擇語(yǔ)句 if ,switch 循環(huán)語(yǔ)句 while, do while , for 轉(zhuǎn)移語(yǔ)句 break ,continue ,return goto 3.2、格式輸入函數(shù)scanf 一般形式:scanf(“格式控制字符串“,地址列表); 使用scanf函數(shù)時(shí),需要注意: 格式字符的個(gè)數(shù)必須與輸入項(xiàng)的個(gè)數(shù)相同,數(shù)據(jù)類型必須一一對(duì)應(yīng),非格式字符串(說(shuō)明性的)要原封不動(dòng)的輸入。 輸入實(shí)行數(shù)據(jù)時(shí),可以不帶小數(shù)點(diǎn),即按整型數(shù)據(jù)輸入 數(shù)值型數(shù)據(jù)與字符或字符串混合輸入時(shí),需要注意輸入方式。
3.3、格式輸出函數(shù)printf Printf(“格式控制字符串“,輸出列表); 指定輸出格式,由格式字符串和非格式字符串兩種組成,非格式字符串照原樣輸出。 %[標(biāo)志][輸出最小寬度][.精度][長(zhǎng)度]類型 標(biāo)志:- 左對(duì)齊;+ 右對(duì)齊; %f, %d, %c, %s 3.4、其他輸入輸出函數(shù) Putchar getchar puts gets 第四章、選擇結(jié)構(gòu)程序設(shè)計(jì) If選擇結(jié)構(gòu) 單分支 If(表達(dá)式) 語(yǔ)句 雙分支 If(表達(dá)式) 語(yǔ)句1 Else 語(yǔ)句2 多分支 If (表達(dá)式1) 語(yǔ)句1 Else if(表達(dá)式2) 語(yǔ)句2 。
Else if(表達(dá)式m) 語(yǔ)句m Else 語(yǔ)句n Switch(表達(dá)式) { Case 常量表達(dá)式1:語(yǔ)句1;break; Case 常量表達(dá)式2:語(yǔ)句2;break; 。
Case 常量表達(dá)式m:語(yǔ)句m;break; Default:語(yǔ)句n;break; } 注意break的使用 第五章、循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 循環(huán)三要素 初始條件 ;終止條件 ;在初始條件和終止條件間反復(fù)做某件事情(循環(huán)體) While(表達(dá)式) 語(yǔ)句 Do 語(yǔ)句 While(表達(dá)式)。
很多人對(duì)學(xué)習(xí)C語(yǔ)言感到無(wú)從下手,經(jīng)常問(wèn)我同一個(gè)問(wèn)題:究竟怎樣學(xué)習(xí)C語(yǔ)言?我是一個(gè)教師,已經(jīng)開(kāi)發(fā)了很多年的程序,和很多剛剛起步的人一樣,學(xué)習(xí)的第一個(gè)計(jì)算機(jī)語(yǔ)言就是C語(yǔ)言。
經(jīng)過(guò)這些年的開(kāi)發(fā),我深深的體會(huì)到C語(yǔ)言對(duì)于一個(gè)程序設(shè)計(jì)人員多么的重要,如果不懂C語(yǔ)言,你想寫(xiě)底層程序這幾乎聽(tīng)起來(lái)很可笑,不懂C語(yǔ)言,你想寫(xiě)出優(yōu)秀高效的程序,這簡(jiǎn)直就是天方夜譚。為什么C語(yǔ)言如此重要呢? 第一:C語(yǔ)言語(yǔ)法結(jié)構(gòu)很簡(jiǎn)潔精妙,寫(xiě)出的程序也很高效,很便于描述算法,大多數(shù)的程序員愿意使用C語(yǔ)言去描述算法本身,所以,如果你想在程序設(shè)計(jì)方面有所建樹(shù),就必須去學(xué)它。
第二:C語(yǔ)言能夠讓你深入系統(tǒng)底層,你知道的操作系統(tǒng),哪一個(gè)不是C語(yǔ)言寫(xiě)的?所有的windows,Unix,Linux,Mac,os/2,沒(méi)有一個(gè)里外的,如果你不懂C語(yǔ)言,怎么可能深入到這些操作系統(tǒng)當(dāng)中去呢?更不要說(shuō)你去寫(xiě)它們的內(nèi)核程序了。 第三:很多新型的語(yǔ)言都是衍生自C語(yǔ)言,C++,J ava,C#,J#,perl。
哪個(gè)不是呢?掌握了C語(yǔ)言,可以說(shuō)你就掌握了很多門(mén)語(yǔ)言,經(jīng)過(guò)簡(jiǎn)單的學(xué)習(xí),你就可以用這些新型的語(yǔ)言去開(kāi)發(fā)了,這個(gè)再一次驗(yàn)證了C語(yǔ)言是程序設(shè)計(jì)的重要基礎(chǔ)。還有啊,多說(shuō)一點(diǎn):即使現(xiàn)在招聘程序員,考試都是考C語(yǔ)言,你想加入it行業(yè),那么就一定要掌握好C語(yǔ)言。
那么究竟怎樣學(xué)習(xí)C語(yǔ)言呢? 1:工欲善其事,必先利其器 這里介紹幾個(gè)學(xué)習(xí)C語(yǔ)言必備的東東: 一個(gè)開(kāi)發(fā)環(huán)境,例如turbo C 2.0,這個(gè)曾經(jīng)占據(jù)了DOS時(shí)代開(kāi)發(fā)程序的大半個(gè)江山。但是現(xiàn)在windows時(shí)代,用turbo C有感覺(jué)不方面,編輯程序起來(lái)很吃力,并且拖放,更沒(méi)有函數(shù)變量自動(dòng)感應(yīng)功能,查詢參考資料也不方便。
建議使用Visual C++,這個(gè)東西雖然比較大塊頭,但是一旦安裝好了,用起來(lái)很方便。 一本學(xué)習(xí)教程,現(xiàn)在C語(yǔ)言教材多如牛毛,但推薦大家使用《C語(yǔ)言程序設(shè)計(jì)》譚浩強(qiáng)主編 第二版 清華大學(xué)出版社,此書(shū)編寫(xiě)的很適合初學(xué)者,并且內(nèi)容也很精到。
除此以外,現(xiàn)在有很多輔助學(xué)習(xí)的軟件,畢竟現(xiàn)在是Window時(shí)代了,學(xué)習(xí)軟件多如牛毛,不象我們當(dāng)初學(xué)習(xí),只有讀書(shū)做題這么老套。我向大家推薦一個(gè)“集成學(xué)習(xí)環(huán)境(C語(yǔ)言)”,里邊的知識(shí)點(diǎn)總結(jié)和例程講解都非常好,還有題庫(kù)測(cè)試環(huán)境,據(jù)說(shuō)有好幾千題,甚至還有一個(gè)windows下的trubo C,初學(xué)者甚至不用裝其它的編譯器,就可以練習(xí)編程了,非常適合初學(xué)者。
還有一個(gè)“C語(yǔ)言學(xué)習(xí)系統(tǒng)”軟件,不過(guò)感覺(jué)只是一個(gè)題庫(kù)系統(tǒng),如果你覺(jué)得題做的不夠,不妨也可以試試。 2:葵花寶典 學(xué)習(xí)計(jì)算機(jī)語(yǔ)言最好的方法是什么?答曰:讀程序。
沒(méi)錯(cuò),讀程序是學(xué)習(xí)C語(yǔ)言入門(mén)最快,也是最好的方法。如同我,現(xiàn)在學(xué)習(xí)新的J#,C#等其他語(yǔ)言,不再是抱著書(shū)本逐行啃,而是學(xué)習(xí)它們的例程。
當(dāng)然,對(duì)于沒(méi)有學(xué)過(guò)任何計(jì)算機(jī)語(yǔ)言的初學(xué)者,最好還是先閱讀教程,學(xué)習(xí)完每一章,都要認(rèn)真體會(huì)這一章的所有概念,然后不放過(guò)這一章中提到的所有例程,然后仔細(xì)研讀程序,直到每一行都理解了,然后找?guī)讉€(gè)編程題目,最好是和例程類似的或一樣的,自己試圖寫(xiě)出這段已經(jīng)讀懂的程序,不要以為例程你已經(jīng)讀懂了,你就可以寫(xiě)出和它一樣的程序,絕對(duì)不一定,不相信你就試一試吧,如果寫(xiě)不出來(lái),也不要著急,回過(guò)頭來(lái)再繼續(xù)研究例程,想想自己為什么寫(xiě)不出來(lái),然后再去寫(xiě)這段程序,反反復(fù)復(fù),直到你手到擒來(lái)為止,祝賀你,你快入門(mén)了。 3:登峰造極 寫(xiě)程序的最高境界其實(shí)就是掌握各種解決問(wèn)題的手段(數(shù)據(jù)結(jié)構(gòu))和解決問(wèn)題的方法(算法)。
是不是寫(xiě)出底層程序就是程序設(shè)計(jì)高手呢?非也,寫(xiě)底層程序,無(wú)非是掌握了硬件的結(jié)構(gòu),況且硬件和硬件還不一樣,要給一個(gè)芯片寫(xiě)驅(qū)動(dòng)程序,無(wú)非就是掌握這塊芯片的各種寄存器及其組合,然后寫(xiě)值讀值,僅此而已。這不過(guò)是熟悉一些io函數(shù)罷了。
…… 以上內(nèi)容來(lái)源于: 。
1:C程序由函數(shù)組成,每個(gè)C程序必須有main()函數(shù),它是程序執(zhí)行的入口,程序從主函數(shù)第一行開(kāi)始順序執(zhí)行。
2:結(jié)構(gòu)化程序設(shè)計(jì)的基本思想是采用"自頂向下,逐步求精"的程序設(shè)計(jì)方法和"單入口單出口"的控制結(jié)構(gòu)。自頂向下、逐步求精的程序設(shè)計(jì)方法從問(wèn)題本身開(kāi)始,經(jīng)過(guò)逐步細(xì)化,將解決問(wèn)題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖;"單入口單出口"的思想認(rèn)為一個(gè)復(fù)雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結(jié)構(gòu)通過(guò)組合、嵌套構(gòu)成,那么這個(gè)新構(gòu)造的程序一定是一個(gè)單入口單出口的程序。
據(jù)此就很容易編寫(xiě)出結(jié)構(gòu)良好、易于調(diào)試的程序來(lái)。3:合法標(biāo)識(shí)符的定義:由字母數(shù)字和_組成。
數(shù)字不能當(dāng)頭。不能把標(biāo)志符定義得和C的保留字一樣。
區(qū)分大小寫(xiě)。4:一、邏輯運(yùn)算符:包括:1。
&&邏輯與2。||邏輯或3。
!邏輯非邏輯運(yùn)算符用于對(duì)包含關(guān)系運(yùn)算符的表達(dá)式進(jìn)行合并或取非對(duì)于使用邏輯運(yùn)算符的表達(dá)式,返回0表示“假”,返回1表示“真”。關(guān)于邏輯運(yùn)算符的解釋請(qǐng)注意:任何使用兩個(gè)字符做符號(hào)的運(yùn)算符,兩字符之間不應(yīng)有空格,即將==寫(xiě)成==是錯(cuò)誤的。
假設(shè)一個(gè)程序在同時(shí)滿足條件a=10))//s不大于等于10關(guān)系運(yùn)算符和邏輯運(yùn)算符的優(yōu)先級(jí)一般都低于算術(shù)運(yùn)算符。例如,5>4 3的計(jì)算與5>(4 3)運(yùn)算符是一樣的,即先計(jì)算4 3,再執(zhí)行關(guān)系運(yùn)算。
此表達(dá)示的結(jié)果為“假”,即,將返回0。下面的語(yǔ)句printf("%d",5>4 3);將輸出0可以總結(jié)為:&&的結(jié)果是真真為真。
||的結(jié)果是假假為假。二:關(guān)系運(yùn)算符關(guān)系運(yùn)算符是對(duì)兩個(gè)表達(dá)式進(jìn)行比較,返回一個(gè)真/假值。
符號(hào)功能>大于=大于等于==等于!=不等于這些運(yùn)算符大家都能明白,主要問(wèn)題就是等于==和賦值=的區(qū)別了。 一些剛開(kāi)始學(xué)習(xí)C語(yǔ)言的人總是對(duì)這兩個(gè)運(yùn)算符弄不明白,經(jīng)常在一些簡(jiǎn)單問(wèn)題上出錯(cuò),自己檢查時(shí)還找不出來(lái)。
看下面的代碼:if(Amount=123)……很多新人都理解為如果Amount等于123,就怎么樣。 其實(shí)這行代碼的意思是先賦值A(chǔ)mount=123,然后判斷這個(gè)表達(dá)式是不是真值,因?yàn)榻Y(jié)果為123,是真值,那么就做后面的。
如果想讓當(dāng)Amount等于123才運(yùn)行時(shí),應(yīng)該if(Amount==123)……5:1:while循環(huán)while循環(huán)和for循環(huán)類似,其格式為:while(條件語(yǔ)句){語(yǔ)句1;語(yǔ)句2;。 。
語(yǔ)句n;}執(zhí)行while時(shí),先測(cè)試“條件語(yǔ)句”,如果條件成立,則執(zhí)行語(yǔ)句1到語(yǔ)句n,直至條件不成立時(shí)調(diào)處循環(huán)。inti=0;while(i{i ;System。
out。println("Hey!。
getmeoutofhere!:);}2:do。
while循環(huán)do。
while循環(huán)語(yǔ)句的格式為:do{語(yǔ)句1;語(yǔ)句2;。 。
語(yǔ)句n;}while(條件語(yǔ)句);do。
while語(yǔ)句的功能是首先執(zhí)行語(yǔ)句1到語(yǔ)句n,然后進(jìn)行條件測(cè)試,如果條件成立,則繼續(xù)執(zhí)行語(yǔ)句1到語(yǔ)句n,否這跳出循環(huán)。
如:booleantest=false;do{。
}while(test);這種控制并不是很常用,但有時(shí)卻非常重要,使用時(shí)注意結(jié)尾處while語(yǔ)句后的分號(hào)。 6:break只能跳出一層循環(huán),要跳出多層,則需要在外面一層中再加入break;。
7:如果一個(gè)函數(shù)要使用參數(shù),它就必須定義接受參數(shù)值的變量。@@@形式參數(shù)與實(shí)際參數(shù)函數(shù)定義時(shí)填入的參數(shù)我們稱之為形式參數(shù),簡(jiǎn)稱形參,它們同函數(shù)內(nèi)部的局部變量作用相同。
形參的定義是在函數(shù)名之后和函數(shù)開(kāi)始的花括號(hào)之前。調(diào)用時(shí)填入的參數(shù),我們稱之為實(shí)際參數(shù),簡(jiǎn)稱實(shí)參。
必須確認(rèn)所定義的形參與調(diào)用函數(shù)的實(shí)際參數(shù)類型一致,同時(shí)還要保證在調(diào)用時(shí)形參與實(shí)參的個(gè)數(shù)出現(xiàn)的次序也要一一對(duì)應(yīng)。 如果不一致,將產(chǎn)生意料不到的結(jié)果。
與許多其它高級(jí)語(yǔ)言不同,(是健壯的,它總要做一些甚至你不希望的事情,幾乎沒(méi)有運(yùn)行時(shí)錯(cuò)誤檢查,完全沒(méi)有范圍檢測(cè)。作為程序員,必須小心行事以保證不發(fā)生錯(cuò)誤,安全運(yùn)行。
來(lái)源:@@@@賦值調(diào)用與引用調(diào)用一般說(shuō)來(lái),有兩種方法可以把參數(shù)傳遞給函數(shù)。第一種叫做“賦值調(diào)用”(callbyvalue),這種方法是把參數(shù)的值復(fù)制到函數(shù)的形式參數(shù)中。
這樣,函數(shù)中的形式參數(shù)的任何變化不會(huì)影響到調(diào)用時(shí)所使用的變量。 把參數(shù)傳遞給函數(shù)的第二種方法是“引用調(diào)用”(callbyreference)。
這種方法是把參數(shù)的地址復(fù)制給形式參數(shù),在函數(shù)中,這個(gè)地址用來(lái)訪問(wèn)調(diào)用中所使用的實(shí)際參數(shù)。這意味著,形式參數(shù)的變化會(huì)影響調(diào)用時(shí)所使用的那個(gè)變量8:基本數(shù)據(jù)類型是指不能再被分割為其他類型的數(shù)據(jù)類型,例如一個(gè)整數(shù)、一個(gè)字符等。
C語(yǔ)言中的基本數(shù)據(jù)類型有整型、字符型、浮點(diǎn)型、空類型4種。(1)整型整型是取值為整數(shù)的數(shù)據(jù)類型。
在C語(yǔ)言中根據(jù)取值范圍和符號(hào),整型數(shù)據(jù)又可以分成以下幾種子類型:int:帶符號(hào)的基本整型,也可寫(xiě)為signedint,使用兩個(gè)字節(jié)空間存儲(chǔ),取值范圍為-32768~ 32767之間。 unsignedint:不帶符號(hào)的基本整型,使用兩個(gè)字節(jié)空間存儲(chǔ),取值范圍為0~65535之間。
long:帶符號(hào)的長(zhǎng)整型,也可寫(xiě)為longint,使用四個(gè)字節(jié)空間存儲(chǔ),取值范圍為-2147483648~ 2147483647之間。 unsignedlong:不帶符號(hào)的長(zhǎng)整型,也可寫(xiě)為unsignedlongint,使用四個(gè)字節(jié)空間存儲(chǔ),取值范圍為0~4294967295之間。
shortint:同int。unsignedshortint:同。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥(niǎo). 頁(yè)面生成時(shí)間:2.643秒