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