教了多年《C程序設(shè)計》課程,大多學(xué)生覺的這門課程難學(xué)。
其實(shí),按照我們現(xiàn)在的教學(xué)大綱和教學(xué)要求,只要同學(xué)們掌握一些方法,克服心理上畏難、不輕言放棄,是完全可以學(xué)好的。 《C程序設(shè)計》的內(nèi)容很豐富,按照我們現(xiàn)在的教學(xué)大綱,教學(xué)的主要內(nèi)容是基礎(chǔ)知識、四種結(jié)構(gòu)的的程序設(shè)計、函數(shù)與數(shù)組的應(yīng)用和一些簡單的算法。
在學(xué)習(xí)時,同學(xué)們應(yīng)該把主要精力放在這些部分,通過實(shí)踐(練習(xí)和上機(jī)調(diào)試等熟練掌握。當(dāng)然,在初學(xué)C語言時,可能會遇到有些問題理解不透,或者表達(dá)方式與以往數(shù)學(xué)學(xué)習(xí)中不同(如運(yùn)算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進(jìn)行學(xué)習(xí),待學(xué)完后面的章節(jié)知識,前面的問題也就迎刃而解了,這一方面我感覺是我們同學(xué)最欠缺,大多學(xué)不好的就是因?yàn)橐婚_始遇到困難就放棄,曾經(jīng)和好多同學(xué)談他的問題,回答是聽不懂、不想聽、放棄這樣三個過程,我反問,這節(jié)課你聽過課嗎?回答又是沒有,根本就沒聽過課,怎么說自己聽不懂呢?相應(yīng)的根本就沒學(xué)習(xí),又談何學(xué)的好? 學(xué)習(xí)C語言始終要記住“曙光在前頭”和“千金難買回頭看”,“千金難買回頭看”是學(xué)習(xí)知識的重要方法,就是說,學(xué)習(xí)后面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學(xué)生最不易做到的,然而卻又是最重要的。
比如:在C語言中最典型的是關(guān)于結(jié)構(gòu)化程序設(shè)計構(gòu)思,不管是那種教材,一開始就強(qiáng)調(diào)這種方法,這時也許你不能充分體會,但是學(xué)到函數(shù)時,再回頭來仔細(xì)體會,溫故知新,理解它就沒有那么難了。學(xué)習(xí)C語言就是要經(jīng)過幾個反復(fù),才能前后貫穿,積累應(yīng)該掌握的C知識。
那么,我們?nèi)绾螌W(xué)好《C程序設(shè)計》呢? 一.學(xué)好C語言的運(yùn)算符和運(yùn)算順序 這是學(xué)好《C程序設(shè)計》的基礎(chǔ),C語言的運(yùn)算非常靈活,功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計語言。在表達(dá)式方面較其它程序語言更為簡潔,如自加、自減、逗號運(yùn)算和三目運(yùn)算使表達(dá)式更為簡單,但初學(xué)者往往會覺的這種表達(dá)式難讀,關(guān)鍵原因就是對運(yùn)算符和運(yùn)算順序理解不透不全。
當(dāng)多種不同運(yùn)算組成一個運(yùn)算表達(dá)式,即一個運(yùn)算式中出現(xiàn)多種運(yùn)算符時,運(yùn)算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。在學(xué)習(xí)中,只要我們對此合理進(jìn)行分類,找出它們與我們在數(shù)學(xué)中所學(xué)到運(yùn)算之間的不同點(diǎn)之后,記住這些運(yùn)算也就不困難了,有些運(yùn)算符在理解后更會牢記心中,將來用起來得心應(yīng)手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運(yùn)算符按優(yōu)先級不同分類,《C程序設(shè)計》運(yùn)算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結(jié)合外,其它都是從左至右結(jié)合,它決定同級運(yùn)算符的運(yùn)算順序。下面我們通過幾個例子來說明: (1) 5*8/4%10 這個表達(dá)式中出現(xiàn)3種運(yùn)算符,是同級運(yùn)算符,運(yùn)算順序按從左至右結(jié)合,因此先計算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; 對于c=++a*b來說,按表中所列順序,+ +先執(zhí)行,*后執(zhí)行,所以+ + a執(zhí)行后,a的值為4,由于+ +為前置運(yùn)算,所以a的值4參與運(yùn)算,C的值計算式為4*5=20而不是3*5=15了;而對于d=a++*b來說,由于a + +為后置運(yùn)算,所以a值為4參與運(yùn)算,使得d的值仍為20,而a參與運(yùn)算后其值加1,值為5。
這個例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗號結(jié)合運(yùn)算,上式稱為逗號表達(dá)式,自左向右結(jié)合,最后一個表達(dá)式的結(jié)果值就是逗號表達(dá)式的結(jié)果,所以上面的逗號表達(dá)式結(jié)果為40,a的值為3,b的值為8,c的值為40。 (4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一個三目運(yùn)算,它的功能是先做關(guān)系運(yùn)算a>b部分,若結(jié)果為真,則取問號后a的值,否則取冒號后b的值,因此c的值應(yīng)該為6,這個運(yùn)算可以用來代替if…else…語句的簡單應(yīng)用。
二.學(xué)好C語言的四種程序結(jié)構(gòu) (1)順序結(jié)構(gòu) 順序結(jié)構(gòu)的程序設(shè)計是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。 例如;a = 3,b = 5,現(xiàn)交換a,b的值,這個問題就好象交換兩個杯子水,這當(dāng)然要用到第三個杯子,假如第三個杯子是c,那么正確的程序?yàn)椋?c = a; a = b; b = c; 執(zhí)行結(jié)果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執(zhí)行結(jié)果就變成a = b = c = 5,不能達(dá)到預(yù)期的目的,初學(xué)者最容易犯這種錯誤。
順序結(jié)構(gòu)可以獨(dú)立使用構(gòu)成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結(jié)構(gòu),例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數(shù)情況下順序結(jié)構(gòu)都是作為程序的一部分,與其它結(jié)構(gòu)一起構(gòu)成一個復(fù)雜的程序,例如分支結(jié)構(gòu)中的復(fù)合語句、循環(huán)結(jié)構(gòu)中的循環(huán)體等。
(2) 分支結(jié)構(gòu) 順序結(jié)構(gòu)的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對于要先做判斷再選擇的問題就要使用分支結(jié)構(gòu)。
分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語句出現(xiàn)的物理順序。分支結(jié)構(gòu)的程序設(shè)計方法的關(guān)。
教了多年《C程序設(shè)計》課程,大多學(xué)生覺的這門課程難學(xué)。
其實(shí),按照我們現(xiàn)在的教學(xué)大綱和教學(xué)要求,只要同學(xué)們掌握一些方法,克服心理上畏難、不輕言放棄,是完全可以學(xué)好的。 《C程序設(shè)計》的內(nèi)容很豐富,按照我們現(xiàn)在的教學(xué)大綱,教學(xué)的主要內(nèi)容是基礎(chǔ)知識、四種結(jié)構(gòu)的的程序設(shè)計、函數(shù)與數(shù)組的應(yīng)用和一些簡單的算法。
在學(xué)習(xí)時,同學(xué)們應(yīng)該把主要精力放在這些部分,通過實(shí)踐(練習(xí)和上機(jī)調(diào)試等熟練掌握。當(dāng)然,在初學(xué)C語言時,可能會遇到有些問題理解不透,或者表達(dá)方式與以往數(shù)學(xué)學(xué)習(xí)中不同(如運(yùn)算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進(jìn)行學(xué)習(xí),待學(xué)完后面的章節(jié)知識,前面的問題也就迎刃而解了,這一方面我感覺是我們同學(xué)最欠缺,大多學(xué)不好的就是因?yàn)橐婚_始遇到困難就放棄,曾經(jīng)和好多同學(xué)談他的問題,回答是聽不懂、不想聽、放棄這樣三個過程,我反問,這節(jié)課你聽過課嗎?回答又是沒有,根本就沒聽過課,怎么說自己聽不懂呢?相應(yīng)的根本就沒學(xué)習(xí),又談何學(xué)的好? 學(xué)習(xí)C語言始終要記住“曙光在前頭”和“千金難買回頭看”,“千金難買回頭看”是學(xué)習(xí)知識的重要方法,就是說,學(xué)習(xí)后面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學(xué)生最不易做到的,然而卻又是最重要的。
比如:在C語言中最典型的是關(guān)于結(jié)構(gòu)化程序設(shè)計構(gòu)思,不管是那種教材,一開始就強(qiáng)調(diào)這種方法,這時也許你不能充分體會,但是學(xué)到函數(shù)時,再回頭來仔細(xì)體會,溫故知新,理解它就沒有那么難了。學(xué)習(xí)C語言就是要經(jīng)過幾個反復(fù),才能前后貫穿,積累應(yīng)該掌握的C知識。
那么,我們?nèi)绾螌W(xué)好《C程序設(shè)計》呢? 一.學(xué)好C語言的運(yùn)算符和運(yùn)算順序 這是學(xué)好《C程序設(shè)計》的基礎(chǔ),C語言的運(yùn)算非常靈活,功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計語言。在表達(dá)式方面較其它程序語言更為簡潔,如自加、自減、逗號運(yùn)算和三目運(yùn)算使表達(dá)式更為簡單,但初學(xué)者往往會覺的這種表達(dá)式難讀,關(guān)鍵原因就是對運(yùn)算符和運(yùn)算順序理解不透不全。
當(dāng)多種不同運(yùn)算組成一個運(yùn)算表達(dá)式,即一個運(yùn)算式中出現(xiàn)多種運(yùn)算符時,運(yùn)算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。在學(xué)習(xí)中,只要我們對此合理進(jìn)行分類,找出它們與我們在數(shù)學(xué)中所學(xué)到運(yùn)算之間的不同點(diǎn)之后,記住這些運(yùn)算也就不困難了,有些運(yùn)算符在理解后更會牢記心中,將來用起來得心應(yīng)手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運(yùn)算符按優(yōu)先級不同分類,《C程序設(shè)計》運(yùn)算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結(jié)合外,其它都是從左至右結(jié)合,它決定同級運(yùn)算符的運(yùn)算順序。下面我們通過幾個例子來說明: (1) 5*8/4%10 這個表達(dá)式中出現(xiàn)3種運(yùn)算符,是同級運(yùn)算符,運(yùn)算順序按從左至右結(jié)合,因此先計算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; 對于c=++a*b來說,按表中所列順序,+ +先執(zhí)行,*后執(zhí)行,所以+ + a執(zhí)行后,a的值為4,由于+ +為前置運(yùn)算,所以a的值4參與運(yùn)算,C的值計算式為4*5=20而不是3*5=15了;而對于d=a++*b來說,由于a + +為后置運(yùn)算,所以a值為4參與運(yùn)算,使得d的值仍為20,而a參與運(yùn)算后其值加1,值為5。
這個例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗號結(jié)合運(yùn)算,上式稱為逗號表達(dá)式,自左向右結(jié)合,最后一個表達(dá)式的結(jié)果值就是逗號表達(dá)式的結(jié)果,所以上面的逗號表達(dá)式結(jié)果為40,a的值為3,b的值為8,c的值為40。 (4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一個三目運(yùn)算,它的功能是先做關(guān)系運(yùn)算a>b部分,若結(jié)果為真,則取問號后a的值,否則取冒號后b的值,因此c的值應(yīng)該為6,這個運(yùn)算可以用來代替if…else…語句的簡單應(yīng)用。
二.學(xué)好C語言的四種程序結(jié)構(gòu) (1)順序結(jié)構(gòu) 順序結(jié)構(gòu)的程序設(shè)計是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。 例如;a = 3,b = 5,現(xiàn)交換a,b的值,這個問題就好象交換兩個杯子水,這當(dāng)然要用到第三個杯子,假如第三個杯子是c,那么正確的程序?yàn)椋?c = a; a = b; b = c; 執(zhí)行結(jié)果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執(zhí)行結(jié)果就變成a = b = c = 5,不能達(dá)到預(yù)期的目的,初學(xué)者最容易犯這種錯誤。
順序結(jié)構(gòu)可以獨(dú)立使用構(gòu)成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結(jié)構(gòu),例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數(shù)情況下順序結(jié)構(gòu)都是作為程序的一部分,與其它結(jié)構(gòu)一起構(gòu)成一個復(fù)雜的程序,例如分支結(jié)構(gòu)中的復(fù)合語句、循環(huán)結(jié)構(gòu)中的循環(huán)體等。
(2) 分支結(jié)構(gòu) 順序結(jié)構(gòu)的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對于要先做判斷再選擇的問題就要使用分支結(jié)構(gòu)。
分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語句出現(xiàn)的物理順序。分支結(jié)構(gòu)的程。
(第六版) Bradley L. Jones, Peler Aitken 著. 信達(dá)工作室 譯. 人民郵電出版社 這本書對初學(xué)者很好, 如果有點(diǎn)基礎(chǔ)那就更好了. 建議選擇譚浩強(qiáng)譚老師的書,簡單易學(xué),理論與實(shí)踐結(jié)合的很好,而且如果能認(rèn)真學(xué)的話,你會發(fā)現(xiàn)你的C語言基礎(chǔ)非常的實(shí)。
也不是說其他的書不好,但是有些書只是為了讓讀者入門,沒有前途呀。 先讀譚浩強(qiáng)的《C語言程序設(shè)計》,這是公認(rèn)的中文入門級教材。
但是書中的代碼風(fēng)格不敢恭維。看完這本,推薦《21天學(xué)通C語言》,這本書比較好,個人感覺。
看完這兩本,你就可以進(jìn)階C++了。 C語言只要把基礎(chǔ)打好就好,你要是想精通的話,最好是精通C++,這樣比較有前途。
但不要操之過急。
,-1,0,1,2,。),分為有符號整型(sign int)、無符號整型(unsign int)(即數(shù)學(xué)意義上的正數(shù))、短整型( short int )以及長整型(long int),而我們通常定義的int系統(tǒng)默認(rèn)為sign int;
而上述四種類型int的主要區(qū)別是數(shù)值范圍不同,其中sign int 的范圍是
-32767到32767;unsign int 的范圍是 0到65534;而 long int 范圍最大,short int 范圍最小,你可以去查書。也就是說你所輸入的數(shù)據(jù)不能超過它的范圍。
(2)float(單精度)、double(雙精度)以及l(fā)ong double(長雙精度),即數(shù)學(xué)意義上的實(shí)數(shù)(包括整數(shù)和所有小數(shù));
而上述三種主要區(qū)別也是數(shù)值范圍不同,long double 的范圍最大,其次是double ,最小是 float。
選取數(shù)據(jù)類型主要是看你所用數(shù)據(jù)是整數(shù)還是實(shí)數(shù),是正數(shù)還是負(fù)數(shù),以及所用數(shù)據(jù)的范圍而選用不同的數(shù)據(jù)類型。
方法一:(調(diào)用系統(tǒng)函數(shù)庫)
#include "stdio.h"
#include "math.h" //調(diào)用系統(tǒng)函數(shù)庫
main()
{
float p,r,n;
printf("請輸入r和n的值\n");
scanf("%f,%f",&r,&n);
p=pow((1+r),n); //這就是所調(diào)用的函數(shù)
printf("%f\n",p);
}
方法二:(使用循環(huán)求值)
#include "stdio.h"
main()
{
float p,r,n,i;
printf("請輸入r和n的值\n");
scanf("%f,%f",&r,&n);
for(p=1,i=1;i<=n;i++) //使用循環(huán)求值
p=p*(1+r);
printf("%f\n",p);
}
另外,站長團(tuán)上有產(chǎn)品團(tuán)購,便宜有保證
1,C語言的運(yùn)算符和優(yōu)先級
2,分支結(jié)構(gòu)程序設(shè)計
3,循環(huán)結(jié)構(gòu)程序
4,數(shù)組
5,函數(shù)
6,指針
7,字符類型和字符串
8,字符串與指針
9,指針數(shù)組、二級指針、指向一維數(shù)組的指針、指向函數(shù)的指針
10,返回指針的函數(shù)、數(shù)組名做函數(shù)參數(shù)
11,結(jié)構(gòu)體、共用體、枚舉、自定義類型、變量存儲類別、工程文件
12,文件、宏、主函數(shù)帶形參
13,鏈表、位運(yùn)算、考試環(huán)境
14,排序、強(qiáng)制類型轉(zhuǎn)換
我是在今學(xué)期才開始看C和C ,現(xiàn)在C學(xué)的基礎(chǔ)還好,C 算是大概體系了解,不過對你這個問題還是挺有感觸,就以一個初學(xué)者態(tài)度跟你講講我的感受吧!希望讓有興趣發(fā)展編程的你能快速進(jìn)入這個領(lǐng)域。
首先,我不茍同上面哪位仁兄的說法,其實(shí),C和C 都可以說是面向過程的語言,但C 更提供了面向?qū)ο蟮姆椒?,需要說明一點(diǎn),C 是倡導(dǎo)面向?qū)ο缶幊谭椒ǖ?,?yīng)為這是適用現(xiàn)代技術(shù)發(fā)展的要求,簡單理解,面向?qū)ο蟮木幊谭椒ň褪穷A(yù)先設(shè)置好一些常用的,實(shí)用的類庫,當(dāng)編程時要用到時,引用就可以了(通過對類進(jìn)行實(shí)例化),就好像是預(yù)先生產(chǎn)出一部洗衣機(jī),要洗衣服時候直接把衣服放進(jìn)去,打開洗衣機(jī)的啟動按鈕就可以了,在面向?qū)ο缶幊讨?,假如我們已?jīng)有了要引用的類庫(這些類也可以自己編),我們只要做“啟動洗衣機(jī)按鈕”這個動作就可以了,這就是面向?qū)ο缶幊?。面向過程的編程,簡單理解,就是除了一些基本的類似輸入輸出,數(shù)學(xué)函數(shù)之外,基本都是要全部一條龍的自己設(shè)計。
C和C 都是MS公司出的,它還有的C#就是完全面向?qū)ο蟮母呒壵Z言,功能非常強(qiáng)大,與。net平臺一起構(gòu)成了MS的戰(zhàn)略。
不好意思,還是說回你感興趣的東西吧!其實(shí)學(xué)C和c 不用太多的數(shù)學(xué)知識,它要求你無非兩樣?xùn)|西:1.邏輯性2.興趣,循環(huán)控制如“for,while語句”,指針,函數(shù)調(diào)用是學(xué)習(xí)C和C 的核心和重點(diǎn),也是精華所在,尤其是C語言。個人建議:假如你不是要做一個C程員的話,在c學(xué)到一定基礎(chǔ)很程度時候可以轉(zhuǎn)向JAVA或C#等面向?qū)ο蟾呒壵Z言,他們聯(lián)系A(chǔ)SP,ASPX和JSP等web系統(tǒng)開發(fā),快速開發(fā)軟件和web系統(tǒng)方面實(shí)用性非常強(qiáng)。
也建議可以先從C學(xué)起,清華大學(xué)出版社的譚浩強(qiáng)的《C程序設(shè)計》是一本非常好的適合沒編程基礎(chǔ),介紹也很徹底詳細(xì)的名書(我就是靠那本書的,呵呵),學(xué)習(xí)C時,不要冒進(jìn),認(rèn)認(rèn)真真打好基礎(chǔ),對你以后發(fā)展其他語言甚至領(lǐng)域有非常大的幫助。
總體上必須清楚的:- 1)程序結(jié)構(gòu)是三種: 順序結(jié)構(gòu) , 循環(huán)結(jié)構(gòu)(三個循環(huán)結(jié)構(gòu)), 選擇結(jié)構(gòu)(if 和 switch)- 2)讀程序都要從main()入口, 然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。
- 3)計算機(jī)的數(shù)據(jù)在電腦中保存是以 二進(jìn)制的形式. 數(shù)據(jù)存放的位置就是他的地址.- 4)bit是位 是指為0 或者1。 byte 是指字節(jié), 一個字節(jié) = 八個位.- 5)一定要記住 二進(jìn)制 如何劃成 十進(jìn)制。
- 概念??嫉降模? 1、編譯預(yù)處理不是C語言的一部分,不再運(yùn)行時間。C語言編譯的程序稱為源程序,它以ASCII數(shù)值存放在文本文件中。
- 2、每個C語言程序中main函數(shù)是有且只有一個。- 3、在函數(shù)中不可以再定義函數(shù)。
- 4、算法的是一定要有輸出的,他可以沒有輸入。- 5、break可用于循環(huán)結(jié)構(gòu)和switch語句。
- 6、逗號運(yùn)算符的級別最低。- 第一章- 1)合法的用戶標(biāo)識符考查:- 合法的要求是由字母,數(shù)字,下劃線組成。
有其它元素就錯了。- 并且第一個必須為字母或則是下劃線。
第一個為數(shù)字就錯了。- 關(guān)鍵字不可以作為用戶標(biāo)識符號。
main define scanf printf 都不是關(guān)鍵字。迷惑你的地方If是可以做為用戶標(biāo)識符。
因?yàn)镮f中的第一個字母大寫了,所以不是關(guān)鍵字。- 2)實(shí)型數(shù)據(jù)的合法形式:- 2.333e-1 就是合法的,且數(shù)據(jù)是2.333*10-1。
- 考試口訣:e前e后必有數(shù),e后必為整數(shù)。.- 3)字符數(shù)據(jù)的合法形式::- '1' 是字符占一個字節(jié),"1"是字符串占兩個字節(jié)(含有一個結(jié)束符號)。
- '0' 的ASCII數(shù)值表示為48,'a' 的ASCII數(shù)值是97,'A'的ASCII數(shù)值是65。- 4) 整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4個字節(jié):- 考試時候一般會說,在16位編譯系統(tǒng),或者是32位系統(tǒng)。
碰到這種情況,不要去管,一樣做題。掌握整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4個字節(jié)就可以了。
- 5)轉(zhuǎn)義字符的考查:- 在程序中 int a = 0x6d,是把一個十六進(jìn)制的數(shù)給變量a 注意這里的0x必須存在。- 在程序中 int a = 06d, 是一個八進(jìn)制的形式。
- 在轉(zhuǎn)義字符中,'\x6d' 才是合法的,0不能寫,并且x是小寫。- '\141' 是合法的, 0是不能寫的。
- '\108'是非法的,因?yàn)椴豢梢猿霈F(xiàn)8。- 6)算術(shù)運(yùn)算符號的優(yōu)先級別:- 同級別的有的是從左到右,有的是從右到左。
- 7)強(qiáng)制類型轉(zhuǎn)換:- 一定是 (int)a 不是 int(a),注意類型上一定有括號的。- 注意(int)(a+b)和(int)a+b 的區(qū)別。
前是把a(bǔ)+b轉(zhuǎn)型,后是把a(bǔ)轉(zhuǎn)型再加b。- 8)表達(dá)式的考查:- 是表達(dá)式就一定有數(shù)值。
- 賦值表達(dá)式:表達(dá)式數(shù)值是最左邊的數(shù)值,a=b=5;該表達(dá)式為5,常量不可以賦值。- 自加、自減表達(dá)式:假設(shè)a=5,++a(是為6), a++(為5);- 運(yùn)行的機(jī)理:++a 是先把變量的數(shù)值加上1,然后把得到的數(shù)值放到變量a中,然后再用這- 個++a表達(dá)式的數(shù)值為6,而a++是先用該表達(dá)式的數(shù)值為5,然后再把a(bǔ)的數(shù)值加上1為6,- 再放到變量a中。
進(jìn)行了++a和a++后在下面的程序中再用到a的話都是變量a中的6了。- 考試口訣:++在前先加后用,++在后先用后加。
- 逗號表達(dá)式:優(yōu)先級別最低 ;表達(dá)式的數(shù)值逗號最右邊的那個表達(dá)式的數(shù)值。- (2,3,4)的表達(dá)式的數(shù)值就是4。
- 9)位運(yùn)算的考查:- 會有一到二題考試題目。- 總的處理方法:幾乎所有的位運(yùn)算的題目都要按這個流程來處理(先把十進(jìn)制變成二進(jìn)制再變成十進(jìn)制)。
- 例1: char a = 6, b;- b = a<<2; 這種題目的計算是先要把a(bǔ)的十進(jìn)制6化成二進(jìn)制,再做位運(yùn)算。- 例2: 一定要記住,- 例3: 在沒有舍去數(shù)據(jù)的時候,<>右移一位表示除以2。
- 10)018的數(shù)值是非法的,八進(jìn)制是沒有8的,逢8進(jìn)1。 - 11)%符號兩邊要求是整數(shù)。
不是整數(shù)就錯了。- 12) 三種取整丟小數(shù)的情況:- 1、int a =1.6;- 2、(int)a; - 3、- - 第二章- 1)printf函數(shù)的格式考查:- %d對應(yīng)整型;%c對應(yīng)字符;%f對應(yīng)單精度等等。
寬度的,左對齊等修飾。- %ld對應(yīng) long int;%lf 對應(yīng)double。
- 2)scanf函數(shù)的格式考察:- 注意該函數(shù)的第二個部分是&a 這樣的地址,不是a; - Scanf(“%d%d%*d%d”,&a,&b,&c); 跳過輸入的第三個數(shù)據(jù)。- 3)putchar ,getchar 函數(shù)的考查:- char a = getchar() 是沒有參數(shù)的,從鍵盤得到你輸入的一個字符給變量a。
- putchar('y')把字符y輸出到屏幕中。- 4)如何實(shí)現(xiàn)兩個變量x ,y中數(shù)值的互換(要求背下來)- 不可以把 x=y ,y=x; 要用中間變量 t=x;x=y;y=t。
- 5)如何實(shí)現(xiàn)保留三位小數(shù),第四位四舍五入的程序,(要求背下來)- 這個有推廣的意義,注意 x = (int)x 這樣是把小數(shù)部分去掉。- - 第三章- 特別要注意:c語言中是用非0表示邏輯真的,用0表示邏輯假的。
- 1)關(guān)系表達(dá)式:- 表達(dá)式的數(shù)值只能為1(表示為真),或0(表示假)- 當(dāng)關(guān)系的表達(dá)是為真的時候得到1。如 9>8這個是真的,所以表達(dá)式的數(shù)值就是1;- 2)邏輯表達(dá)式:- 只能為1(表示為真),或0(表示假)- a) 共有&& || ! 三種邏輯運(yùn)算符號。
- b) !>&&>|| 優(yōu)先的級別。- c) 注意短路現(xiàn)象。
考試比較喜歡考到。- d) 要表示 x 是比0大,。
double a,b;
char c;
scanf("%lf%c%lf",&a,&c,&b);
switch(c)
{case '+':printf("%g+%g=%g\n",a,b,a+b);break;
case '-':printf("%g-%g=%g\n",a,b,a-b);break;
case '*':printf("%g*%g=%g\n",a,b,a*b);break;
case '/':printf(b?"%g/%g=%g":"error\n",a,b,a/b);break;
default:printf("error\n");break;
}
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請?jiān)谝粋€月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:2.673秒