




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言的基本知識本章學習的內容 程序的基本結構和書寫格式 基本數據類型和變量 運算符和表達式 運算符的優先級 C語言的基本知識第一個C程序 /* The first C Program*/ #include main() printf(“Hello,World!”); 輸出:Hello,World!注釋編譯預處理函數語句C語言的基本知識C C程序格式和結構特點/*求兩個正整數的最大公約數求兩個正整數的最大公約數*/#include main() int m, n, r; scanf(%d%d, &m, &n); r=mod(m, n); while (r!=0) m=n; n=r; r=mod
2、(m, n); printf(最大公約數為:最大公約數為:%dn, n); int mod(int x, int y) return (x%y);C語言的基本知識本章學習的內容 程序的基本結構和書寫格式 基本數據類型和變量 運算符和表達式 運算符的優先級 C語言的基本知識程序程序=數據結構數據結構+ +算法算法在程序中定義所要處理數據的類型和組織形式 對解題方法和解題步驟的描述 C語言的基本知識 C語言的數據類型語言的數據類型 數組數組共用體類型共用體類型結構體類型結構體類型構造類型構造類型基本類型基本類型指針類型:指針類型:枚舉類型枚舉類型 實型(浮點型)實型(浮點型) 字符型字符型(cha
3、r)整型整型 (int) 雙精度型雙精度型(double)單精度型單精度型( (float) )空類型:空類型:其值用來表示某個量在內存儲器中的地址其值用來表示某個量在內存儲器中的地址 函數調用后,不需要向調用者返回任何值,函數調用后,不需要向調用者返回任何值,則可將該函數定為空類型。則可將該函數定為空類型。 數據類型決定:1. 數據占內存字節數2. 數據取值范圍3. 其上可進行的操作C語言的基本知識基本數據類型TypeSize數值范圍數值范圍無值型無值型void0 byte無值域無值域布爾型布爾型bool 1 bytetrue false 有符號短整型有符號短整型short int /sig
4、ned short int2 byte-3276832767無符號短整型無符號短整型unsigned short int2 byte065535有符號整型有符號整型int /signed int4 byte-21474836482147483647無符號整型無符號整型unsigned int4 byte04294967295有符號長整型有符號長整型long int/signed long int4 byte-21474836482147483647無符號長整型無符號長整型unsigned long int4 byte04294967295long long8 byte0184467440有符號
5、字符型有符號字符型char/signed char1 byte-128127無符號字符型無符號字符型unsigned char1 byte0255寬字符型寬字符型wchar_t (unsigned short.)2 byte065535單精度浮點型單精度浮點型float4 byte-3.4E-383.4E+38雙精度浮點型雙精度浮點型double8 byte1.7E-3081.7E+308C語言的基本知識常量和變量:常量和變量:數據在程序中的書寫方式數據在程序中的書寫方式 在程序在程序運行運行過程中過程中值不變值不變的量的量-常量常量 在程序在程序運行運行過程中過程中值可發生改變值可發生改變的
6、量的量-變量變量 (一)、常量(一)、常量按類型分為:整型常量、實型常量、字符常量、按類型分為:整型常量、實型常量、字符常量、字符串常量、符號常量和枚舉常量字符串常量、符號常量和枚舉常量C語言的基本知識變量使用注意事項變量使用注意事項 變量必須先定義,后使用變量必須先定義,后使用 所有變量必須在第一條可執行語句前定義所有變量必須在第一條可執行語句前定義 一條聲明語句可聲明若干個同類型的變量一條聲明語句可聲明若干個同類型的變量 int a, b; 聲明變量時,最好初始化變量聲明變量時,最好初始化變量 int a=10; 變量名由標識符表示,只能由字母、數字和下劃線三變量名由標識符表示,只能由字母
7、、數字和下劃線三種字符組成,且第一個字符必須為字母或下劃線種字符組成,且第一個字符必須為字母或下劃線 int T.Jay, cbc, 3c, b-c, _cd, b6b;C語言的基本知識 聲明的順序無關緊要聲明的順序無關緊要 變量定義后,即占用內存,可向其存入各變量定義后,即占用內存,可向其存入各種數據,并可通過變量名使用數據種數據,并可通過變量名使用數據 選變量名時,要做到選變量名時,要做到“見名知意見名知意”,對變,對變量名的描述就是最佳的變量名量名的描述就是最佳的變量名 例如:例如:seatCount, numTeamMembers 變量名平均長度在變量名平均長度在1016個字符時,調試
8、個字符時,調試程序花費力氣最小。程序花費力氣最小。C語言的基本知識整型常量的幾種表示形式:整型常量的幾種表示形式: 十進制、八進制、十六進制十進制、八進制、十六進制整型常量的類型確定:整型常量的類型確定: 長整型常量:常量后跟長整型常量:常量后跟 L 或或 l 來表示來表示 無符號整型常量:常量后跟無符號整型常量:常量后跟 U 或或 u 來表示來表示 無符號長整型常量:常量后跟無符號長整型常量:常量后跟LU或或lu來表示來表示整型數據整型數據C語言的基本知識 十進制整數:以十進制整數:以非非0開頭,由數字開頭,由數字 09組成,可帶正負號組成,可帶正負號如:如:C語言的基本知識2. 八進制整數
9、:八進制整數:,C語言的基本知識3. 十六進制整數:十六進制整數:,由由組成,組成,可帶正負號可帶正負號如:如:十六進制長整型數十六進制長整型數 :0 x12,0 x3,0 x4十六進制長整型數:十六進制長整型數: 0X12DFL C語言的基本知識類型說明符數的范圍 分配字節數int -3276832767 short int -3276832767 signed int -3276832767 unsigned int 065535 long int -21474836482147483647 unsigned long 04294967295 C語言的基本知識0 0 0 0 0 0 0 0
10、 0 0 0 0 0 0 0 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0當當n=1時時當當n=-1時時16位:位: -327683276700000000000000010 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1-32768327671 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1C語言的基本知識實型數據實型數據一、實型常量一、實型常量實型常量也稱為實數或者浮點數實型常量也稱為實數或者浮點數 兩種表現形式:兩種表現形式:1、十進制數形式:、十進制數形式:由數字由數字09及及小數點小數點組成組成 如如 0.0,.25,5.789,0.13
11、2、指數形式、指數形式: 由十進制數,加階碼標志由十進制數,加階碼標志“e”或或“E”以以 及階碼(只能為整數,可以帶符號)組成及階碼(只能為整數,可以帶符號)組成 如:如:1.2E12 錯誤表示:錯誤表示:345 (無小數點無小數點),E7 (階碼標志階碼標志E之前無數之前無數 字字),-5 (無階碼標志無階碼標志),53.-E3 (負號位置不對負號位置不對),2.7E (無階碼無階碼)C語言的基本知識實型常量的類型確定:實型常量的類型確定: 實型常量隱含按雙精度處理實型常量隱含按雙精度處理 單精度實型常量:常量后跟單精度實型常量:常量后跟 F 或或 f 來表示來表示 長雙精度實型常量:常量
12、后跟長雙精度實型常量:常量后跟L或或l來表示來表示C語言的基本知識實型變量 實型變量分為兩類:單精度型和雙精度型 類型說明類型說明 分配字節數分配字節數 float double C語言的基本知識 一般系統中,一般系統中,單精度(單精度(float) )類型提供類型提供7 7位位有效數字,有效數字,雙精度雙精度( (double) )類型提供類型提供1616位位有效數字有效數字, ,尾數部分尾數部分四舍五入四舍五入如:如:float a; double b; a=66666.6666 /* 實際機器中實際機器中a=66666.67*/ b=66666.6666666666 /* 實際機器中實際
13、機器中b=66666.666666667*/C語言的基本知識浮點數據浮點數據的機內表示:jS階碼階碼階符階符階碼數值部分階碼數值部分尾數尾數數符數符尾數數值部分尾數數值部分 階碼是整數,階符和階碼的位數合起來反映浮點數的表示范階碼是整數,階符和階碼的位數合起來反映浮點數的表示范圍及小數點的實際位置;尾數是小數,其位數反映了浮點數的圍及小數點的實際位置;尾數是小數,其位數反映了浮點數的精度;尾數的符號代表浮點精度;尾數的符號代表浮點數的數的正負。正負。 C語言的基本知識浮點變量的說明符號位符號位階碼階碼尾數尾數總位數總位數有效位數有效位數單精度類單精度類型型1823327雙精度類雙精度類型型11
14、152641516C語言的基本知識字符型量 字符常量:字符常量是用單引號括起來的一個字符,如 a,-,? 1.字符常量只能用單引號括起來,不能用雙引號或其它括號2.字符常量只能是單個字符,不能是字符串3.字符可以是字符集中任意字符,但數字被定義為字符型之后就不能參與數值運算。如4和4 是不同的,4是字符常量,不能參與運算C語言的基本知識轉義字符 一種特殊形式的字符常量,以反斜線一種特殊形式的字符常量,以反斜線“”開開頭的字符序列,表示特定的控制功能頭的字符序列,表示特定的控制功能C語言的基本知識字符變量 字符變量的類型說明符是char,一個字符變量存放一個字符,一個字符變量占有1個字節 cha
15、r ABC; ABC=D; 字符值是以ASCII碼的形式存放在變量的內存單元之中的,存儲的不是字符,而是該字存儲的不是字符,而是該字符對應的符對應的ASCII碼值碼值,取值范圍(,取值范圍(128 ,127 )C語言的基本知識 char a=x; /a的值為x對應ASCII值120 char b=y; / b的值為y對應ASCII值121 char c=a+b; /c的值為241-256=-15 預防溢出(Overflow)C語言的基本知識字符串常量 由一對雙引號括起的字符序列 如”I am a string”, “湖南”C語言的基本知識字符常量字符常量 字符串常量字符串常量 單引號單引號 雙
16、引號雙引號 1個字符個字符 多個字符多個字符字符變量字符變量 字符數組字符數組一個字節一個字節 字符串中字節數字符串中字節數+1 (0結束標志)結束標志) 引用形式:引用形式:存放內容:存放內容:賦值對象:賦值對象:占用空間:占用空間:C語言的基本知識符號常量符號常量 可以用一個標識符來表示一個常量,稱之可以用一個標識符來表示一個常量,稱之為符號常量為符號常量 C語言的基本知識 C語言的基本知識枚舉(Enumeration)常量一個被遺忘的角色從程序來窺其一斑 enum weeks MON, TUE, WED, THU, FRI, SAT, SUN; enum weeks today; enu
17、m response no, yes, none; enum response answer; today = TUE; answer = yes; if (answer = yes) printf(Today is Tuesday.n); else printf(Today is NOT Tuesday.n);C語言的基本知識變量類型的轉換 自動轉換 發生在不同數據類型的變量混合運算時,由編譯系統自動完成 強制轉換 通過類型轉換運算來實現 (類型說明符) (表達式) (int) (a+b)C語言的基本知識自動轉換原則 1. 若參與運算量的類型不同,則先轉換成同一類型,然后進行運算。2.轉換按
18、數據長度增加的方向進行,以保證精度不降低。3.所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表達式,也要先轉換成double型,再作運算。4.char型和short型參與運算時,必須先轉換成int型5.在賦值運算中,賦值號兩邊量的數據類型不同時, 賦值號右邊量的類型將轉換為左邊量的類型。 如果右邊量的數據類型長度左邊長時,將丟失一部分數據,這樣會降低精度, 丟失的部分按四舍五入向前舍入 C語言的基本知識 無論是強制轉換或是自動轉換,都只是為了本次運算的需要而對變量的數據長度進行的臨時性轉換,而不改變數據說明時對該變量定義的類型 int b = 1 + x + 1.8;C語言
19、的基本知識本章學習的內容 程序的基本結構和書寫格式 基本數據類型和變量 運算符和表達式 運算符的優先級 C語言的基本知識 C C運算符及表達式運算符及表達式 算術運算符,自增、自減運算符算術運算符,自增、自減運算符 賦值運算符賦值運算符 ,逗號運算符,逗號運算符 位式運算符及特殊運算符、關系運算符位式運算符及特殊運算符、關系運算符 邏輯運算符,條件運算符等。邏輯運算符,條件運算符等。 使用時注意優先級別及結合性使用時注意優先級別及結合性C語言的基本知識結合性 在表達式中,在表達式中, 各運算量參與運算的先后順各運算量參與運算的先后順序不僅要遵守運算符優先級別的規定,還序不僅要遵守運算符優先級別
20、的規定,還要受運算符結合性的制約,要受運算符結合性的制約, 以便確定是自以便確定是自左向右進行運算還是自右向左進行運算左向右進行運算還是自右向左進行運算 算術運算符的結合性是自左至右,即先左算術運算符的結合性是自左至右,即先左后右后右:x-y+z 賦值運算符是右結合性運算符:賦值運算符是右結合性運算符:x=y=z;C語言的基本知識一、算術運算符 基本的算術運算符: + - * / % 說明:(1)在“”運算中,若操作數均為整數,則執行整除運算,舍去小數部分。例如:5/3= 1(2)“”要求兩側均為整數,“”運算不能用于float 和 double型數據 例如: 2 (3) 的優先級高于C語言的
21、基本知識二、自增、自減運算符(、- -) +i,- - i (先加/減1,然后取i的值) i+,i- - (先取i的值,然后加/減1) b=2 ,a=2b=2 ,a=3作用:使變量的值增或減,如:作用:使變量的值增或減,如:例如:例如:int a=1 , b; b=+a ; b=a+ ;先使用先使用i i的值,再執行的值,再執行i=i+1i=i+1先執行先執行i=i+1i=i+1,再使用,再使用i i的值的值+i+ii+i+C語言的基本知識例如:例如:1010,(,(x+y)+x+y)+,+a, b+ ,+a, b+ 中合法的為:中合法的為:例如:例如:a+b+b+(a+)C語言的基本知識如:
22、如:I+J (I+)+J 如:如:I=3 K=K=(I+)+(I+)+(I+)結果:結果:k k=9 , I=6如:如:I=3 I = =(I+)+(+ I )+(I+)結果:結果:I=14C語言的基本知識如:如:printf(“%d,%dn”, I, I+);輸出:輸出: 4,3 C語言的基本知識三、賦值運算符和賦值表達式 1.賦值運算符為 “=” 形式:變量名=常量或表達式 作用:將一個數據賦給一個變量 右結合性 例如:a=3; b=c+d ;C規定:任何表達式在末尾加上分號就構成語句。如:A=B+C 表達式 A=B+C; 語句C語言的基本知識“=”號兩端數據類型不同時進行轉換號兩端數據類
23、型不同時進行轉換 轉換是系統自動進行的,右邊轉換為左邊類轉換是系統自動進行的,右邊轉換為左邊類型。規則如下:型。規則如下: (1)整型)整型=實型實型 舍去小數部分舍去小數部分 (2)實型)實型=整型整型 值不變,以浮點形式存放值不變,以浮點形式存放 (3)整型)整型=字符型字符型 值放入低值放入低8位,高位,高8位為位為0 (4)字符型)字符型=整型整型 僅將整型低僅將整型低8位存入位存入C語言的基本知識 復合賦值運算符:在賦值符復合賦值運算符:在賦值符“=”=”之前加上其之前加上其它運算符它運算符 共有共有1010種復合賦值運算符種復合賦值運算符 += += ,= =, ,& &, = =
24、, |=|= 復合的賦值運算的作用:復合的賦值運算的作用: 簡化程序,提高編簡化程序,提高編譯效率。譯效率。 例如:例如: a+=6 x*=y+3C語言的基本知識四、逗號運算符和逗號表達式1.逗號運算符(順序求值運算符) :即“,”優先級:為所有運算符中級別最低的2.逗號表達式 形式:表達式1,表達式2表達式n 求解過程:順次求解表達式1,表達式2最后求解表達式n逗號表達式的值為: 表達式n的值C語言的基本知識例如:例如:a=3a=3* *5,a5,a* *4 4 (a=3a=3* *5,a5,a* *4 4 ),),a+5a+5x=(a=4%3 , a+1, a*10)表達式的值為:表達式的
25、值為:6060表達式的值為:表達式的值為:2020表達式的值為:表達式的值為:1010C語言的基本知識& 按位與按位與 (二元運算)(二元運算)| 按位或按位或 (二元運算)(二元運算) 按位異或按位異或 (二元運算)(二元運算) 右移右移 (二元運算)(二元運算) 按位取反按位取反 (一元運算)(一元運算)C語言的基本知識例:例:Main() int i; i=(31); /*左移左移1位位*/ printf(“%dn”,i);輸出為:輸出為:6C語言的基本知識 六、關系運算符和關系表達式語言中的關系運算符有種。(左結合性)語言中的關系運算符有種。(左結合性)2. 算術運算符算術運算符 (高
26、高) 關系運算符關系運算符 賦值運算符賦值運算符 (低低)優先次序:優先次序:1.前種同級,高于后種(后種同級)前種同級,高于后種(后種同級)例如例如: x != y、 s - db+c 、a= = bcC語言的基本知識C語言的基本知識 int a;a = 0;a = 1; int a;a = 0;a = 1; int a=0;if (0 = a)printf(OK); int a=0;if (0 = a)printf(OK);C語言的基本知識n關系表達式用關系運算符連接起來的式子 值為邏輯型。(1,0) 如:(ab)(bc) 、ay 、s+fd 語言沒有邏輯型數據,關系表達式的真、假是以 數
27、值“”代表“真”,以“”代表“假”。例:設例:設A=3,B=2,C=1 則:則:AB 值為值為1 (AB)=C 值為值為1D=AB 值為值為1 F=ABC 值為值為0C語言的基本知識 七、邏輯運算符和邏輯表達式七、邏輯運算符和邏輯表達式C C語言提供三種邏輯運算符:語言提供三種邏輯運算符: & (邏輯與邏輯與) | (邏輯或邏輯或) ! (邏輯非邏輯非) C語言的基本知識 優先級: ! 高于 & 高于 | 混合運算中: ! 高 算術運算 關系運算 &、| 低 賦值運算注:注:如何判斷一個邏輯表達式為如何判斷一個邏輯表達式為“真、假真、假”? 用用“非非”代表代表 “真真”,用,用“”代表代表“假假”。 如:如: b& 0 值為:值為:“ 0 ”C語言的基本知識邏輯表達式:邏輯表達式: 運算結果為邏輯值運算結果為邏輯值 編譯系統以非編譯系統以非0、0判定邏輯值真、假判定邏輯值真、假 邏輯表達式中作為參加邏輯運算的運算對邏輯表達式中作為參加邏輯運算的運算對象可以是象可以是0或非或非0數值。但要區分運算對象。數值。但要區分運算對象。 例:例:53&2|8y;C語言的基本知識條件運算:條件運算:根據條件確定某個表達式結果根據條件確定某個表達式結果 的值。(的值。(C語言中唯一語言中唯一 的一個的一個 三
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州亞歐交通職業學院《文化地理學》2023-2024學年第二學期期末試卷
- 浙江中醫藥大學濱江學院《應用文體翻譯》2023-2024學年第二學期期末試卷
- 2025至2031年中國擺動導纜架行業投資前景及策略咨詢研究報告
- 中南林業科技大學《閱讀教學中的文本解讀》2023-2024學年第二學期期末試卷
- 2025至2031年中國女裝棉拉架低腰內褲行業投資前景及策略咨詢研究報告
- 2025至2031年中國冷拉模具行業投資前景及策略咨詢研究報告
- 06【初中】【帶班育人方略】依托Z型發展模式育“三感”攀登者
- 2025至2030年中國鉤型拉緊把手數據監測研究報告
- 照明配電改造施工方案
- 2025至2030年中國紙機托輥數據監測研究報告
- 1000m3液化石油氣球罐設計課程設計
- GB/T 9061-2006金屬切削機床通用技術條件
- GB/T 7554-1987電報用五單位數字保護碼
- GB/T 32788.5-2016預浸料性能試驗方法第5部分:樹脂含量的測定
- GB/T 19447-2013熱交換器用銅及銅合金無縫翅片管
- 醫院患者壓力性損傷情況登記表
- GA/T 959-2011機動車區間測速技術規范
- 圓錐曲線中非對稱問題的處理課件
- 《中國少先隊歌》歌詞帶拼音
- 垃圾分類科普課件
- 精益六西格瑪綠帶課件
評論
0/150
提交評論