![第3章C程序設基礎ppt課件_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/47713e20-e670-4dc8-8650-8e97570b47e6/47713e20-e670-4dc8-8650-8e97570b47e61.gif)
![第3章C程序設基礎ppt課件_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/47713e20-e670-4dc8-8650-8e97570b47e6/47713e20-e670-4dc8-8650-8e97570b47e62.gif)
![第3章C程序設基礎ppt課件_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/47713e20-e670-4dc8-8650-8e97570b47e6/47713e20-e670-4dc8-8650-8e97570b47e63.gif)
![第3章C程序設基礎ppt課件_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/47713e20-e670-4dc8-8650-8e97570b47e6/47713e20-e670-4dc8-8650-8e97570b47e64.gif)
![第3章C程序設基礎ppt課件_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/47713e20-e670-4dc8-8650-8e97570b47e6/47713e20-e670-4dc8-8650-8e97570b47e65.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第3章章 c程序設計基礎程序設計基礎 l 常量與變量常量與變量l 數據結構與數據類型數據結構與數據類型l 運算符的優(yōu)先級與結合性運算符的優(yōu)先級與結合性l 強制類型轉換運算強制類型轉換運算l 算術運算符與算術表達式算術運算符與算術表達式l 關系運算符與關系表達式關系運算符與關系表達式l 邏輯運算符與邏輯表達式邏輯運算符與邏輯表達式l 賦值運算符與賦值表達式賦值運算符與賦值表達式l 逗號運算符和逗號表達式逗號運算符和逗號表達式 常用數學函數常用數學函數 3.1 3.1 常量與變量常量與變量 常量和變量常量和變量都表現為某一數據類型。都表現為某一數據類型。 而在而在c語言中,常量不需要類型說明,語
2、言中,常量不需要類型說明,變量則需要類型說明變量則需要類型說明, 即使用變量時需要即使用變量時需要“先定義,再使用先定義,再使用”。 3.1 3.1 常量與變量常量與變量c語言提供了豐富的數據類型,這些數據類型歸語言提供了豐富的數據類型,這些數據類型歸納如下:納如下: 3.1.13.1.1常量常量1整型常量整型常量 如:如:7,45,6789,06789,0 x6789,6789l等。等。 2實型常量實型常量 如:如:2.34,2.34e-5等。等。 4字符串常量字符串常量 如:如:“m”,“abc”,“mmm”等。等。 5控制字符控制字符 用反斜扛用反斜扛“”和特定字符組合表示和特定字符組合
3、表示 3.1.13.1.1常量常量表表3-1 控制字符常量轉義字符表控制字符常量轉義字符表 3.1.13.1.1常量常量6.6.符號常量符號常量 符號常量的定義形式為:符號常量的定義形式為: #define #define 標識符常量標識符常量 其中其中#define#define也是一條預處理命令(預處理也是一條預處理命令(預處理命令都以命令都以#開頭),稱為宏定義命令(在后開頭),稱為宏定義命令(在后面預處理程序中將進一步介紹),其功能是把面預處理程序中將進一步介紹),其功能是把該標識符定義為其后的常量值該標識符定義為其后的常量值 3.1.23.1.2變量變量 1.1.變量說明變量說明 在
4、在c c程序設計中,使用變量時必須首先對它的數據程序設計中,使用變量時必須首先對它的數據類型進行說明,簡單的定義格式為:類型進行說明,簡單的定義格式為: 數據類型說明符數據類型說明符 變量名列表;變量名列表;或或 數據類型說明符數據類型說明符 變量名變量名11,變量名,變量名2 2, ; 3.1.23.1.2變量變量2.2.變量初始化變量初始化 初始化變量的簡單格式:初始化變量的簡單格式: 數據類型說明符數據類型說明符 變量名變量名1=1=常量或表達式常量或表達式 ,變量名變量名2=2=常量或表達式,常量或表達式, ; 或或 變量名變量名 = = 常量或表達式;常量或表達式; 3.1.23.1
5、.2變量變量3.3.變量與存儲器變量與存儲器 圖3-2 數據存儲格式 3.23.2整型數據類型整型數據類型 數據類型與數據的存儲有關,也與操作應用有關。數據類型與數據的存儲有關,也與操作應用有關。數據類型可以從不同的方面進行分類。按照數據數據類型可以從不同的方面進行分類。按照數據的運算性質,可以分為整型數據類型、實型數據的運算性質,可以分為整型數據類型、實型數據類型和字符型數據類型;類型和字符型數據類型; 數據類型從長度上分,有數據類型從長度上分,有8位、位、16位、位、32位和位和64位;位; 從數據的符號來分,有無符號數和有符號數等。從數據的符號來分,有無符號數和有符號數等。 3.2.1
6、3.2.1 整型變量的分類整型變量的分類在在c c語言中,整型變量的基本類型為語言中,整型變量的基本類型為intint,根據不,根據不同變量的取值范圍可以給它們加上不同的修飾同變量的取值范圍可以給它們加上不同的修飾符:符:1.1.基本型:類型說明符為基本型:類型說明符為intint,在內存中占,在內存中占2 2個字個字節(jié)。節(jié)。2.2.短整量:類型說明符為短整量:類型說明符為short intshort int或或shortshort。所。所占字節(jié)和取值范圍均與基本型相同。占字節(jié)和取值范圍均與基本型相同。3.3.長整型:類型說明符為長整型:類型說明符為long intlong int或或long
7、long,在內,在內存中占存中占4 4個字節(jié)。個字節(jié)。 3.2.1 3.2.1 整型變量的分類整型變量的分類 表3-2列出了c語言中各類整型數據所分配的內存字節(jié)數及數值的范圍。 例例3.43.4帶符號的整型數據運算帶符號的整型數據運算main()main() int a,b; int a,b; a=32767; a=32767; b=32767+1; b=32767+1; printf(”a=%dn”,a); printf(”a=%dn”,a); printf(”b=%dn”,b); printf(”b=%dn”,b); 程序運行結果:程序運行結果: a=32767a=32767 b=-327
8、68 b=-32768 例例3.43.4帶符號的整型數據運算帶符號的整型數據運算 圖3-4變量a 賦值32767后的存放情況圖3-3變量b賦值32767+1的存放情況 數據溢出,但系統(tǒng)不會報錯。如圖3-3所示。 3.2.2 3.2.2 整型變量的定義整型變量的定義 程序中用到的整型數據變量必須先定義,變程序中用到的整型數據變量必須先定義,變量定義的一般形式為:量定義的一般形式為: 整型類型說明符整型類型說明符 變量名變量名1,1,變量名變量名2,2,; 其中,整型類型說明符包括:其中,整型類型說明符包括:shortshort、longlong、intint和和unsigned shortuns
9、igned short、unsigned longunsigned long、unsigned intunsigned int等。等。 例例3.53.5整型變量的定義與使用。整型變量的定義與使用。 main()main() long x,y; long x,y; int a,b,c,d; int a,b,c,d; x=5; x=5; y=6; y=6; a=7; a=7; b=8; b=8; c=x+a; c=x+a; d=y+b; d=y+b; printf(c=x+a=%d,d=y+b=%dn,c,d); printf(c=x+a=%d,d=y+b=%dn,c,d); 程序運行結果:程序運
10、行結果: c=x+a=12,d=y+b=14c=x+a=12,d=y+b=14 3.2.3 3.2.3 整型常量的表示方法整型常量的表示方法 1.1.十進制整常數:十進制整常數沒有前綴。其數十進制整常數:十進制整常數沒有前綴。其數碼為碼為0 09 9。 2.2.八進制整常數:八進制整常數必須以八進制整常數:八進制整常數必須以0 0開頭,開頭,即以即以0 0作為八進制數的前綴。作為八進制數的前綴。 3.3.十六進制整常數:十六進制整常數的前綴為十六進制整常數:十六進制整常數的前綴為0x0x或或0 x0 x。 3.2.4 3.2.4 整型常量的分類整型常量的分類 一個一個intint型整數,其值在
11、型整數,其值在-3276832767-3276832767,一一個整型常量后加個整型常量后加u u或或u u后綴則被認為是后綴則被認為是unsignedunsigned類型,在內存中按類型,在內存中按unsignedunsigned規(guī)定的方式存放。規(guī)定的方式存放。例如:例如: 十進制長整常數:十進制長整常數:379l 379l ; 八進制長整常數:八進制長整常數:012l 012l ; 十六進制長整常數:十六進制長整常數:0x15l0x15l。 3.2.53.2.5整型數據的應用整型數據的應用 整型數據是常用的一種數據類型,廣泛應整型數據是常用的一種數據類型,廣泛應用在各種場合,有著各種實際用
12、途。簡單歸納用在各種場合,有著各種實際用途。簡單歸納起來,主要表現在如下幾個方面:起來,主要表現在如下幾個方面: 一般數值計算,主要是非浮點數或對精度一般數值計算,主要是非浮點數或對精度要求不高的一些數值計算。要求不高的一些數值計算。 表示計算機內部數據,如地址、指針等。表示計算機內部數據,如地址、指針等。 表示字符編碼,如表示字符編碼,如asciiascii碼、漢字內碼等。碼、漢字內碼等。 3.33.3實型數據類型實型數據類型 實型數據類型存儲長度比較長,實型數據類型存儲長度比較長,還可以帶小數點進行計算,所以主要還可以帶小數點進行計算,所以主要用于科學計算。實型數據類型還可以用于科學計算。
13、實型數據類型還可以分為單精度、雙精度和分為單精度、雙精度和和長雙精度和長雙精度,應用時根據需要定義和使用。應用時根據需要定義和使用。 3.3.13.3.1 實型常量的表示方法實型常量的表示方法 1.1.十進制數形式:由數碼十進制數形式:由數碼0 90 9和小數和小數點組成。點組成。2.2.指數形式:由十進制數,加階碼標指數形式:由十進制數,加階碼標志志“e”e”或或“e”e”以及階碼組成。以及階碼組成。一個實數可以有多種指數表示形式。一個實數可以有多種指數表示形式。 3.3.23.3.2 實型變量實型變量 1.1.實型數據在內存中的存放形式實型數據在內存中的存放形式 在計算機內部實型數據都以指
14、數形式存儲,一在計算機內部實型數據都以指數形式存儲,一般占般占4 4個字節(jié)(個字節(jié)(3232位)內存空間,其中三個字節(jié)存位)內存空間,其中三個字節(jié)存放數字部分,一個字節(jié)存放指數部分,內存存放形放數字部分,一個字節(jié)存放指數部分,內存存放形式:式: 3.3.23.3.2 實型變量實型變量2.2.實型變量的分類實型變量的分類 實型變量分為單精度(實型變量分為單精度(floatfloat型)、雙精度型)、雙精度(doubledouble型)和長雙精度(型)和長雙精度(long doublelong double型)型)三類。三類。 3.3.23.3.2 實型變量實型變量3.3.實型數據的舍入誤差實型數
15、據的舍入誤差 由于實型變量是由有限的存儲單元組成的,由于實型變量是由有限的存儲單元組成的,因此能提供的有效數字總是有限的。有效數字因此能提供的有效數字總是有限的。有效數字被舍去就會產生舍入誤差。被舍去就會產生舍入誤差。 例例2.8 2.8 實型變量舍入誤差的檢驗實型變量舍入誤差的檢驗 main() main() float a,b; float a,b; a=123456.789e5; a=123456.789e5; b=a+20; b=a+20; printf(%fn,a); printf(%fn,a); printf(%fn,b); printf(%fn,b); 程運行結果:程運行結果:
16、12345678848.00000012345678848.000000 12345678848.000000 12345678848.000000 3.3.33.3.3 實型數據的應用實型數據的應用 在使用實型數據時,選擇哪一種實型要根在使用實型數據時,選擇哪一種實型要根據所處理數據的取值范圍,計算要求的精度,據所處理數據的取值范圍,計算要求的精度,或表達式結果的范圍確定?;虮磉_式結果的范圍確定。 例例3.103.10各種數據的混合運算各種數據的混合運算 3.43.4字符型數據類型字符型數據類型 字符類型的數據以一個字節(jié)為單位存放。字符類型的數據以一個字節(jié)為單位存放。3.4.13.4.1字符
17、常量字符常量 字符常量是用單引號括起來的一個字符。例字符常量是用單引號括起來的一個字符。例如:如:aa、bb、=、+、?都是合法字符都是合法字符常量。注意單引號只是字符常量和其他部分的常量。注意單引號只是字符常量和其他部分的分隔符,不是字符常量的一部分。分隔符,不是字符常量的一部分。 3.43.4字符型數據類型字符型數據類型3.4.23.4.2字符變量字符變量 字符變量用來存儲字符常量,即單個字符。一個字符變量用來存儲字符常量,即單個字符。一個字符變量在內存中占一個字節(jié)。字符變量在內存中占一個字節(jié)。 3.4.33.4.3 字符數據的使用方法字符數據的使用方法每個字符變量被分配一個字節(jié)的內存空間
18、,字符每個字符變量被分配一個字節(jié)的內存空間,字符值是以值是以asciiascii碼的形式存放在變量的內存單元碼的形式存放在變量的內存單元之中的。之中的。 3.43.4字符型數據類型字符型數據類型 3.4.4 3.4.4 字符串常量字符串常量 字符串常量是由一對雙引號括起的字符序字符串常量是由一對雙引號括起的字符序列。例如:列。例如: “ “red” red” , “ “program” program” , “1234” 1234” 等都是合法的字符串常量。等都是合法的字符串常量。 字符常量占一個字節(jié)的內存空間。字符串常字符常量占一個字節(jié)的內存空間。字符串常量占的內存字節(jié)數等于字符串中字節(jié)數加
19、量占的內存字節(jié)數等于字符串中字節(jié)數加1 1。 3.4.53.4.5字符串函數字符串函數幾個常用函數幾個常用函數 :strcat(char strcat(char * *dest, const char dest, const char * *src);src);strchr(const char strchr(const char * *str, int c);str, int c);strcmp(const char strcmp(const char * *s1, const char s1, const char * *s2);s2);strcpy(char strcpy(char *
20、*dest, const char dest, const char * *src);src); strlen(const char strlen(const char * *s);s); 3.4.63.4.6字符數據的應用字符數據的應用例例3.14 3.14 大小寫字符轉換大小寫字符轉換 main()main() int a,b; int a,b; a=a; a=a; b=b; b=b; a=a-32; a=a-32; b=b-32; b=b-32; printf(%c,%cn%d,%dn,a,b,a,b); printf(%c,%cn%d,%dn,a,b,a,b); 程序運行結果:程序運行
21、結果: a,ba,b 65,66 65,66 3.5不同類型數據間的混合運算不同類型數據間的混合運算 不同類型的數據首先要轉換成同一類型,然不同類型的數據首先要轉換成同一類型,然后進行運算。因此,整型、實型、字符型數據后進行運算。因此,整型、實型、字符型數據間可以混合運算。間可以混合運算。例如:例如:10a1.58765.1234 * b 3.6運算符與表達式運算符與表達式 3.6.1 3.6.1 運算符簡介運算符簡介 3.6運算符與表達式運算符與表達式3.6.2 3.6.2 運算符的優(yōu)先級與結合性運算符的優(yōu)先級與結合性 3.6運算符與表達式運算符與表達式3.6.33.6.3強制類型轉換運算強
22、制類型轉換運算 強制類型轉換運算符是用類型轉換運算符將一個表強制類型轉換運算符是用類型轉換運算符將一個表達式轉換成所需類型。其一般形式為達式轉換成所需類型。其一般形式為 ( (類型名類型名) )表達式表達式注意,表達式應該用括號括起來。注意,表達式應該用括號括起來。例如:例如: (double)i (double)i 將將a a轉換成轉換成doubledouble類型;類型; (int)(a+b) (int)(a+b) 將將a+ba+b的值轉換成整型;的值轉換成整型; (float)(5(float)(53) 3) 將將5 53 3的值轉換成的值轉換成 floatfloat型;型; 3.7 3
23、.7 算術運算符與算術表達式算術運算符與算術表達式 1 1基本算術運算符基本算術運算符十:加法運算符,或正值運算符十:加法運算符,或正值運算符 例如,例如,3 3十十5 5、+3+3、sqrt(4.56)+widthsqrt(4.56)+width。:減法運算符,或負值運算符:減法運算符,或負值運算符 例如,例如, 5 52 2、3 3、max(v,x)-34max(v,x)-34。* *: 乘法運算符乘法運算符 例如,例如,x x* *x x、31.03231.032* *sqrt(r)sqrt(r)、1212* *9 9。:除法運算符:除法運算符 例如,例如,5/35/3、5./35./3
24、、sin(x)/2.0sin(x)/2.0、1.0/(x1.0/(x* *x x* *x)x)。:模運算符,或稱求余運算符,:模運算符,或稱求余運算符,% %兩側均應為整型數據兩側均應為整型數據 例如,例如,8 85 5結果結果3 3,1%21%2結果結果0 0。 3.7 3.7 算術運算符與算術表達式算術運算符與算術表達式2 2 自加與自減運算符自加與自減運算符 前綴運算:前綴運算: 變量變量 將變量的值加將變量的值加1 1。 變量變量 將變量的值減將變量的值減1 1。 例如,例如,i i,i i 使使i i的值加或減的值加或減1 1后綴運算:后綴運算: 變量變量 將變量的值加將變量的值加1
25、 1。 變量變量 將變量的值減將變量的值減1 1。 例例3.183.18自加運算。自加運算。 main() main() int i=3; int i=3; printf(%dn”,(i+)+(i+)+(i+); printf(%dn”,(i+)+(i+)+(i+); printf(“%dn”,i); printf(“%dn”,i); 程序的運行結果是多少呢?有的系統(tǒng)按照自左而程序的運行結果是多少呢?有的系統(tǒng)按照自左而右順序求解括弧內的運算,表達式的值相當于右順序求解括弧內的運算,表達式的值相當于3 34 45 5,即即1212,i i的值為的值為6 6。而另一些系統(tǒng)把。而另一些系統(tǒng)把3 3作
26、為表達式中所有作為表達式中所有i i的值,因此的值,因此3 3個個i i相加,得到表達式的值為相加,得到表達式的值為9 9。在求出。在求出整個表達式的值后再實現自加整個表達式的值后再實現自加3 3次,次,i i的值變?yōu)榈闹底優(yōu)? 6。 3.8 3.8 關系運算符與關系表達式關系運算符與關系表達式 1.1.關系運算符關系運算符 關系運算符的功能是判斷兩個運算對象值關系運算符的功能是判斷兩個運算對象值的大小,而得出判斷結果。關系運算符共有的大小,而得出判斷結果。關系運算符共有6種,見表種,見表3-4所示。所示。 3.8 3.8 關系運算符與關系表達式關系運算符與關系表達式2.關系運算表達式關系運算
27、表達式 用關系運算符將兩個表達式連接起來,就構用關系運算符將兩個表達式連接起來,就構成了關系表達式。成了關系表達式。一般格式為:一般格式為: 表達式表達式1 ?關系運算符關系運算符:表達式表達式2 3.93.9邏輯運算符與邏輯表達式邏輯運算符與邏輯表達式 邏輯運算符邏輯運算符 3.93.9邏輯運算符與邏輯表達式邏輯運算符與邏輯表達式2.邏輯表達式邏輯表達式 3.93.9邏輯運算符與邏輯表達式邏輯運算符與邏輯表達式(1)(1)邏輯與邏輯與a&b&ca&b&c表達式表達式 3.93.9邏輯運算符與邏輯表達式邏輯運算符與邏輯表達式(2) (2) 邏輯或邏輯或 a|b|
28、ca|b|c表達式表達式 3.10 3.10 賦值運算符與賦值表達式賦值運算符與賦值表達式 1 1賦值運算符賦值運算符 賦值運算符一般語法格式:賦值運算符一般語法格式: 變量變量 = = 表達式表達式 2 2不同數據類型的賦值處理如果賦值運算符兩側的類型不一致,但不同數據類型的賦值處理如果賦值運算符兩側的類型不一致,但都是數值型或字符型時,在賦值時系統(tǒng)會自動進行類型轉換。都是數值型或字符型時,在賦值時系統(tǒng)會自動進行類型轉換。 3.10 3.10 賦值運算符與賦值表達式賦值運算符與賦值表達式3復合的賦值運算符復合的賦值運算符 變量變量 表達式表達式 等價干等價干 變量變量 量量 表達式表達式變量
29、變量 表達式表達式 等價干等價干 變量變量 量量 表達式表達式變量變量 表達式表達式 等價干等價干 變量變量 量量 表達式表達式變量變量 表達式表達式 等價干等價干 變量變量 量量 表達式表達式 變量變量 表達式表達式 等價干等價干 變量變量 量量 表達式表達式 注意,如果賦值號右側是包含若干項的表達式,則相注意,如果賦值號右側是包含若干項的表達式,則相當于它有括號。如:當于它有括號。如: x x= y+3= y+3 x x = =(y+3y+3) x =x = x x(y+3y+3) (不要錯寫成(不要錯寫成x = xx = xy + 3y + 3) 4 4賦值表達式賦值表達式 一般形式為一
30、般形式為 變量變量 op op 表達式表達式 其中其中opop是賦值運算符,包括:是賦值運算符,包括: ,等。,等。 如:如: a = (b = 5)a = (b = 5) 3.11 3.11 逗號運算符和逗號表達式逗號運算符和逗號表達式 一般形式為:一般形式為: 表達式表達式1 1,表達式,表達式2 2, 逗號表達式的求解過程是:先求解表達式逗號表達式的求解過程是:先求解表達式1 1,再求解表達式,再求解表達式2 2。整個逗號表達式的值是表。整個逗號表達式的值是表達式達式2 2的值。例如,的值。例如,“3+53+5,6+8”6+8”的值為的值為1414。 3.123.12常用數學函數常用數學函數 使用數學函數必須使用數學函數必須includeinclude命令引入命令引入math.hmath.h文件,它通常文件,它通常放在程序的開始,即如下面的格式:放在程序的開始,即如下面的格式: #include #includ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)供應鏈物流外包項目協(xié)議
- 2025年債權讓與四方合同策劃范本
- 2025年倉庫管理員職責與待遇合同
- 2025年具有法律效力的個人投資對賭協(xié)議
- 2025年電子點火沼氣燈項目申請報告模范
- 2025年熱熔膠膠粉及膠粒項目規(guī)劃申請報告模范
- 2025年雙方教育合作框架協(xié)議
- 2025年冬季社會實踐活動協(xié)議范本
- 2025年教育實踐基地聯(lián)盟發(fā)展與協(xié)作策劃協(xié)議
- 2025年生育保險賠付條款示范性策劃協(xié)議
- 10000中國普通人名大全
- 導數常見函數圖像
- 許曉峰版電機拖動電子教案(全)課件
- 塑膠件噴油作業(yè)指導書
- 人員安全行為觀察管理制度
- Pt催化劑ECSA計算方法
- 汽車運行材料ppt課件(完整版)
- 我國油菜生產機械化技術(-119)
- 2022《化工裝置安全試車工作規(guī)范》精選ppt課件
- 吞咽障礙篩查表
- 汽車系統(tǒng)動力學-輪胎動力學
評論
0/150
提交評論