天天看點

c語言程式設計課件第二章,c語言程式設計課件張元國 ISBN9787566300386 PPT第二章資料類型 運算符與表達式...

1、第2章 資料類型、運算符與表達式,語言的資料類型 常量與變量 運算符與表達式 不同類型資料間的轉換,2.1語言的資料類型,資料是計算機程式處理的所有資訊的總稱,數值、字元、文本等都是資料,在各種程式設計中幾乎都要使用和處理資料,程式設計的過程就是對資料加工的過程。 程式中的資料,編譯程式都會為其配置設定一塊記憶體空間存放,資料的改變其實就是存儲空間中内容的改變。但配置設定多大的記憶體空間來容納這個資料,可由資料的類型決定;另外對于資料的變化範圍也可由資料類型來展現。資料的類型決定了一個資料所占的記憶體數、資料的取值範圍及可對資料進行的操作。 為了對資料進行存儲和處理,C語言根據資料的取值範圍、運算屬性及存儲。

2、方式等,将資料分成不同的資料類型,在程式中用到的所有資料都必須指定其資料類型。 C語言中的資料類型十分豐富,可分為:基本類型,構造類型,指針類型,空類型四大類,其分類表示如下:,2.1語言的資料類型,2.1 語言的資料類型,說明如下: 基本類型:由系統事先定義好的不可再分割的類型,可以直接利用這些類型定義資料。其中的數值類型的資料主要用于科學計算,而字元類型主要用于處理文本資料。 構造類型:是利用已定義的一個或多個資料類型構造的更為複雜的類型,一個構造類型可以分解成若幹個“成員”或“元素”,每個“成員”或“元素”都是一個基本資料類型或又是一個構造類型。在C語言中,構造類型有數組類型、結構體類型。

3、和共用體類型3種。 指針類型:是一種特殊的、同時又是具有重要作用的資料類型,其值用來表示某個變量在記憶體中的位址。 空類型:主要用于特殊指針變量和無傳回值函數的說明。,傳回,2.2 常量與變量,一、常量 常量是指在程式運作過程中其值不能被改變的量,如程式中的具體數字、字元等。根據表示形式的不同,分為直接常量和符号常量。 直接常量就是具體的資料,又稱為字面常量,有整型常量、浮點型常量、字元常量和字元串常量等類型,單從字面形式上即可判斷出資料屬于哪一種資料類型。例如:很容易判斷出456是整型常量,4.6是實型常量,b是字元型常量等等,本章後面幾個小節中還會詳細講解。 符号常量是指用辨別符來代表一個常。

4、量,即直接常量的符号表示,從字面上看不出其類型和值。符号常量必須在程式中特别指定。例如: #define PI 3.14 該指令定義了一個符号常量PI,它表示常數3.14。符号常量的使用方法将在第9章詳細介紹。,2.2 常量與變量,一、常量 1整型常量 整型常量即整數,按不同的進制區分,整型常量有三種表示形式。 十進制數:以非0開始的數,如:20、-50、+39等,其每個數字位可以是09。 八進制數:以0開始的數,如:06、0102、0607,與之對應的十進制數分别為6、66、391。是以,在C語言程式中,不能在一個十進制數前任意添加數字“0”。在用八進制數表示的整型常量中,其每個數字位可以是。

5、07。 十六進制數:以0X或0x開始的數,如:0X0D、0XFF、0x4e、0x123,與之對應的十進制數分别為13、255、78、291。在用十六進制數表示的整型常量中,其每個數字位可以是09和AF(或af)。,2.2 常量與變量,一、常量 2實型常量 實型常量即實數,又稱浮點數,它隻有十進制一種數制,但有兩種不同的表示形式。 一般形式:由數字、小數點以及正負号組成,如:2.56、-56.3、0.056、.056、0.0,小數點不能省略。 指數形式:采用科學計數法表示的形式,由尾數、字母e(或E)和指數組成,将形如a10b的數值表示成如下形式: aEb 或 aeb 如:2.96E3、-0.7。

6、8e6、.92e-6等。其中,a、e(或E)、b任何一部分都不允許省略,e(或E)後的指數部分必須為整數。 下面都不是合法的實型常量的表示形式: 3e3.0 e3 .e3,2.2 常量與變量,一、常量 3字元常量 字元常量是用單引号括起來的單個字元。例如:a、A、=、+、9等。在語言中,使用字元常量時要注意以下幾點: 單引号隻作為字元常量的定界符,它本身并不是字元常量的一部分。 字元常量在記憶體中占用一個位元組,可以是ASCII字元集中任意字元,包括空格符(此處用“”來代表一個空格,不能寫成兩個連續單引号的形式)。 C語言規定,所有字元常量都作為整型量來處理,其值就是該字元對應的ASCII值,是以。

7、字元常量a的值為97,A的值為65,數字字元0的值為48,則A+3的值就是A的ASCII值65與整數3相加,結果為68。,2.2 常量與變量,一、常量 3字元常量-轉義字元 C語言還允許使用一種以“”開頭的特殊形式的字元常量。這種字元常量稱為轉義字元,以反斜線“”開頭,後跟一個或幾個字元。轉義字元具有特定的含義,主要用于表示ASCII字元集中用一般字元不便于表示的控制字元或某些其他功能字元。常用的轉義字元如下所示。,2.2 常量與變量,一、常量 4字元串常量 字元串常量是用雙引号括起來的字元序列,常用來表示程式中的文本資料,如“I like C program.“、“a“、“等。 注意:雙引号。

8、隻作為字元串常量的定界符,它本身并不是字元串常量的内容,當計算字元串的長度時,雙引号不計算在内。 在C語言中,系統在每個字元串的後面自動加入一個字元0作為字元串的結束标志,以便程式确認字元串在何處結束。 請注意字元常量和字元串常量的差別: 字元常量由單引号括起來,字元串常量由雙引号括起來。 字元常量占一個位元組的記憶體空間;字元串常量占的記憶體位元組數等于字元串中的字元數加1,增加的一個位元組存放字元串結束标志0(ASCII碼為0)。例如,101、a是字元常量,在記憶體中隻占一個位元組;而“I like C program.”,“a”是字元串常量,前者占十八個位元組的存儲空間,後者占兩個位元組的存儲空間。而“”。

9、(兩個連續的雙引号)稱為空串,但要占用一個位元組的存儲空間來存放0。,2.2 常量與變量,二、變量 在計算機内部,資料是以二進制的形式存儲和運算的。資料的最小機關是二進制的1位(bit,簡稱b),每8個存儲位組成一個位元組(Byte,簡稱B),為了區分記憶體中的各單元,需要對其進行編号,編号是以位元組為機關進行。 變量是指在程式的運作過程中其值可以改變的量。變量實質上代表記憶體中的某段存儲空間。在程式中,變量用變量名辨別,每個變量具有特定的資料類型,計算機按照一定的規則為變量配置設定存儲空間,變量的值存儲在變量所在的存儲空間中。,2.2 常量與變量,二、變量 1整型變量 整型變量分為基本型、短整型和長整型三。

10、種,分别用int、short int和long int作為類型說明符,不同類型的整型變量在記憶體中占用的存儲空間的長度不同。 按存儲時最高位的性質,整型變量又分為有符号整型變量和無符号整型變量兩類,分别用signed和unsigned說明。有符号整數存儲時,其存儲空間的最高位為符号位,其他位為數值位;無符号整數存儲時所有位都表示數值。整數在記憶體中以補碼的形式存儲,一個正數的補碼是其本身。 不同類型的整型變量所占用的位元組數和取值範圍如下所示。,2.2 常量與變量,二、變量 2實型變量 按照存儲資料的精度,實型變量可分為單精度(float)、雙精度(double)兩種。 在記憶體中單精度型資料占4個字。

11、節(32位)的存儲空間,其數值範圍約在-1.0E381.0E38之間,隻能提供七位有效數字,絕對值小于1.0E-38的數被處理成零值。雙精度型資料占8個位元組(64位)的記憶體空間,其數值範圍約在-1.0E3081.0E308之間,可提供1516位有效數字,絕對值小于1.0E-308的數被處理成零值。 C編譯系統将實型常量作為雙精度來處理。可以在實數的後面加字母f或F(如0.65f,64.89F),來表示單精度實數。,2.2 常量與變量,二、變量 3字元變量 字元型變量用來存放一個字元常量,用關鍵字char定義。 字元型資料在記憶體中占1個位元組(即8位二進制位)的存儲空間,其取值範圍為-27+27-。

12、1,即十進制的-128+127。字元型資料也分為有符号型和無符号型。對于無符号字元型資料,相應的取值範圍為0255。,2.2 常量與變量,三、變量的定義、初始化與指派 1變量的定義 變量用來存儲資料,每個變量必須屬于某種資料類型。是以,C語言中的每個變量在使用之前必須首先進行變量定義,為變量指定資料類型和變量名。 變量定義的一般格式為: 資料類型 變量名表; 當“變量名表”有多個變量時,各變量之間用“,”分割。例如: int m,n; char ch1; float x,y; ,2.2 常量與變量,。

13、三、變量的定義、初始化與指派 2變量的初始化 在定義變量的同時為變量賦一個初值,稱為變量的初始化。 變量初始化的格式為: 資料類型 變量名1=初值1,變量名2=初值2,; 例如: int m=1; 也可以隻為被定義變量的一部分賦初值,如: int m,n=2; 如果對幾個變量賦以相同的值,隻能一個一個指派,不能連賦。如: int m=2,n=2; 不能寫為: int m=n=2; ,2.2 常量與變量,三、變量的定義、初始化與指派 3。

14、變量的指派 變量的指派是指把一個資料儲存到系統給變量配置設定的存儲單元中。在定義變量時,系統根據變量類型為其配置設定了相應的存儲空間,如果變量在定義時沒有初始化,其值可能是一個無法預料、沒有意義的值。C語言中的指派操作由指派運算符“=”來完成,一般形式為: 變量=表達式; 說明: “=”在C語言中是指派符号,不是等号,C語言中的等号用雙等号“=”表示。 程式中可多次給同一個變量指派。多次指派後,變量中存放的是最後一次所賦的值。 指派運算符的左側隻能是變量名,不能是常量或表達式。 指派運算是把“=”号右邊表達式的值賦給“=”号左邊的變量,是以,象m=m+1這樣的在數學中認為是不成立的表達式,在C語言中卻。

15、是認可的,它表示将m原來的值加上1之後再賦給m。 允許輾轉指派。即允許一個表達式中包含多個“=”号。例如: int m,n,k; m=n=k=1;,2.3 運算符與表達式,記述各種不同運算的符号,稱為運算符。而參與運算的資料稱操作數或運算量。C語言提供了豐富的運算符,包括算術運算符、關系運算符、邏輯運算符、位運算符、指派運算符、條件運算符、逗号運算符、指針運算符、強制類型轉換運算符等。 在學習運算符時應注意: 運算的優先級。如果一個操作數的兩側有不同的運算符,應先執行優先級别高的運算。 結合性。如果在一個操作數的兩側有兩個相同優先級别的運算符,則按運算符的結合性所規定的結合方向處理。運算符的結。

16、合性分為兩種,自左向右的結合,稱為左結合;而自右向左結合的,稱為右結合。 要求操作數的個數。 要求操作數的類型。 結果的類型。 表達式是用運算符将操作數連接配接起來的式子,操作數可以是常量、變量和函數。表達式均有值,表達式的值是指表達式中的操作數按照一定的運算規則和順序,在各種運算符的作用下,得到的運算結果。,2.3 運算符與表達式,一、算術運算符與算術表達式 1算術運算符 C語言提供了5個雙目算術運算:*、/、%、+、-,它們在進行運算時需要兩個操作數,是以稱雙目運算符。其功能如下: +:加法運算符。如:4+1。 -:減法運算符。如:6-9。 *:乘法運算符。如:4*9。 /:除法運算符。如:7/3。 %:模運算符,也稱求餘運算符。運算時要求%的兩側必須為整型資料,其左側的運算數為被除數,右側的運算數為除數,運算結果是兩數相除後的餘數。

《c語言程式設計課件張元國 ISBN9787566300386 PPT第二章資料類型 運算符與表達式》由會員w****i分享,可線上閱讀,更多相關《c語言程式設計課件張元國 ISBN9787566300386 PPT第二章資料類型 運算符與表達式》請在金鋤頭文庫上搜尋。