C語言的數(shù)據(jù)和運算_第1頁
C語言的數(shù)據(jù)和運算_第2頁
C語言的數(shù)據(jù)和運算_第3頁
C語言的數(shù)據(jù)和運算_第4頁
C語言的數(shù)據(jù)和運算_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第章 C語言的數(shù)據(jù)和運算目的要求1. 了解C語言的數(shù)據(jù)類型;2. 掌握常量與變量的概念;3. 掌握整型、實型、字符型數(shù)據(jù)的常量和變量的引用方法;4. 掌握簡單的輸入和輸出;5. 掌握變量賦初值的方法;6. 掌握各類數(shù)據(jù)的混合運算;7. 掌握算術(shù)、關(guān)系、邏輯運算符和算術(shù)、關(guān)系、邏輯表達式;8. 掌握賦值運算符和賦值表達式、逗號運算符和逗號表達式?;緝?nèi)容1. C語言的數(shù)據(jù)類型;2. 常量與變量;3. 簡單的輸入(scanf()和輸出(printf();4. 運算符和表達式。重點難點1重點:數(shù)據(jù)類型、表達式。2難點:變量、表達式。課時安排 4學(xué)時。 2.1 程序設(shè)計概述 一個程序應(yīng)包括對數(shù)據(jù)的描述

2、和對數(shù)據(jù)處理的描述。 1對數(shù)據(jù)的描述,即數(shù)據(jù)結(jié)構(gòu)。2對數(shù)據(jù)處理的描述,即計算機算法。算法是為解決一個問題而采取的方法和步驟,是程序的靈魂。為此,著名計算機科學(xué)家沃思(Nikiklaus Wirth)提出一個公式: 數(shù)據(jù)結(jié)構(gòu) + 算法 = 程序 2.2 C語言的數(shù)據(jù)類型 C語言提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類型形式出現(xiàn)的。具體分類如下: 1. 基本類型 分為整型、實型(又稱浮點型)、字符型和枚舉型四種。 2. 構(gòu)造類型 分為數(shù)組類型、結(jié)構(gòu)類型和共用類型三種。 3. 指針類型。4. 空類型 C 語言中的數(shù)據(jù),有常量和變量之分,它們分別屬于上述這些類型。 本章將介紹基本類型中的整型、實型和字符型三種數(shù)據(jù)。

3、 2.3 常量和變量 2.3.1 常量 1. 常量的概念 在程序運行過程中,其值不能被改變的量稱為常量。 2. 常量的分類 (1)整型常量 (2)實型常量 (3)字符常量。 (4)符號常量。 2.3.2 變量 1. 變量的概念 在程序運行過程中,其值可以被改變的量稱為變量。 2. 變量的兩個要素 (1)變量名。每個變量都必須有一個名字變量名,變量命名遵循標(biāo)識符命名規(guī)則。 (2)變量值。在程序運行過程中,變量值存儲在內(nèi)存中。在程序中,通過變量名來引用變量的值。 3. 標(biāo)識符命名規(guī)則 (1)有效字符:只能由字母、數(shù)字和下劃線組成,且以字母或下劃線開頭。 (2)有效長度:隨系統(tǒng)而異,但至少前個字符有

4、效。如果超長,則超長部分被舍棄。 例如,由于 student_name 和 student_number 的前個字符相同,有的系統(tǒng)認為這兩個變量,是一回事而不加區(qū)別。 在TC V2.0 中,變量名(標(biāo)識符)的有效長度為132個字符,缺省值為32。 (3)C語言的關(guān)鍵字不能用作變量名。 標(biāo)識符命名的良好習(xí)慣見名知意 : 4. 變量的定義與初始化 在語言中,要求對所有用到的變量,必須先定義、后使用;且稱在定義變量的同時進行賦初值的操作為變量初始化。 (1)變量定義的一般格式 存儲類型 數(shù)據(jù)類型 變量名 , 變量名 2; 例如, float radius, length, area; (2)變量初始

5、化的一般格式 存儲類型 數(shù)據(jù)類型 變量名 = 初值 , 變量名 2= 初值 2; 例如, float radius=2.5, length, area; 2.4 整型數(shù)據(jù) 2.4.1 整型變量 1. 分類 根據(jù)占用內(nèi)存字節(jié)數(shù)的不同,整型變量又分為類: (1)基本整型(類型關(guān)鍵字為int)。 (2)短整型(類型關(guān)鍵字為shortint)。 (3)長整型(類型關(guān)鍵字為longint)。 (4)無符號整型。無符號型又分為無符號基本整型(unsigned int)、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來存儲無符號整數(shù)。 2. 占用內(nèi)存字節(jié)

6、數(shù)與值域 上述各類變量,且 long 型(字節(jié)) int 型(字節(jié)) short 型(字節(jié))。 顯然,不同類型的整型變量,其值域不同。占用內(nèi)存字節(jié)數(shù)為 n 的(有符號)整型變量,其值域為: -2n*8-1 (2n*8-1-1 );無符號整型變量的值域為: 0 ( 2n*8-1 )。 例如, PC 機中的一個 int 型變量,其值域為 215-( 215 -1 ),即 -3276832767 ;一個 unsigned 型變量的值域為: 0 (216 -1 ),即 065535 。 2.4.2 整型常量 1. 三種表示形式 整型常量即整常數(shù),在語言中可用三種形式表示: (1)十進制。例如 10、3

7、6 。 (2)八進制(以數(shù)字0開頭)。例如012。 (3)十六進制(以數(shù)字0 + 小寫字母 x 開頭)。例如0x36 。 2. 分類 (1)基本整型,以int表示。(2)短整型,以short int表示,或以short表示。(3)長整型(在數(shù)值后面加 “L (l) ”)。對超出基本整型值域的整型常量,可使用長整型常量表示,其取值范圍可達 - 31 - (- 31- )。例如, 123l 、 315等。 注:C標(biāo)準(zhǔn)沒有具體規(guī)定以上各類數(shù)據(jù)所占內(nèi)存字節(jié)數(shù),只要求long型數(shù)據(jù)長度不短于int型,short型不長于int型。具體如何實現(xiàn),有各計算機系統(tǒng)自行決定。3. 類型匹配規(guī)則 類型匹配規(guī)則為:一

8、個整型常量,可以賦給能容納下其值的整型變量。 例如,其值在 - 15- (15 - )的整型常量,可以賦給 int 型變量和 long int 型變量;其值在 - 31 - (31 - )的整型常量,就只能賦給 long int 型變量。 2.5 實型數(shù)據(jù) 2.5.1 實型變量 語言的實型變量,分為兩種: (1)單精度型。類型關(guān)鍵字為 float ,一般占字節(jié)(位)、提供位有效數(shù)字。 (2)雙精度型。類型關(guān)鍵字為 double ,一般占個字節(jié)、提供 1516 位有效數(shù)字。 2.5.2 實型常量 1.表示形式 實型常量即實數(shù),在語言中又稱浮點數(shù),其值有兩種表達形式: (1)十進制形式。例如 3.

9、14 、9.8 。 (2)指數(shù)形式: < 尾數(shù) >E (e)< 整型指數(shù) >。例如 3.0 +5 等。 .關(guān)于類型 實型常量不分float 型和double 型。一個實型常量,可以賦給一個實型變量(float 型、double型或long double型)。根據(jù)變量的類型截取實型常量中相應(yīng)的有效位數(shù)字。例如:float a;a=111111.111;由于float型變量只能接收7位有效數(shù)字,因此最后兩位小數(shù)不起作用。 2.6 字符型數(shù)據(jù) 2.6.1 字符常量 1.字符常量的定義 用一對單引號括起來的單個字符,稱為字符常量。 例如, A'、'、'等

10、。 2. 轉(zhuǎn)義字符 語言還允許使用一種特殊形式的字符常量,就是以反斜杠 “ ” 開頭的轉(zhuǎn)義字符。 2.6.2 字符變量 字符變量的類型關(guān)鍵字為 char ,一般占用 1 字節(jié)內(nèi)存單元。 1. 變量值的存儲 字符變量用來存儲字符常量。將一個字符常量存儲到一個字符變量中,實際上是將該字符的 ASCII 碼值(無符號整數(shù))存儲到內(nèi)存單元中。 2. 特性 字符數(shù)據(jù)在內(nèi)存中存儲的是字符的 ASCII 碼 一個無符號整數(shù),其形式與整數(shù)的存儲形式一樣,所以語言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。 (1)一個字符型數(shù)據(jù),既可以字符形式輸出,也可以整數(shù)形式輸出。 (2)允許對字符數(shù)據(jù)進行算術(shù)運算,此時就是對它們的

11、 ASCII 碼值進行算術(shù)運算。 2.6.3 字符串常量 1.字符串常量的概念和字符串長度 字符串常量是用一對雙引號括起來的若干字符序列。 字符串中字符的個數(shù)稱為字符串長度。長度為0的字符串(即一個字符都沒有的字符串)稱為空串,表示為 “”(一對緊連的雙引號)。  例如,“How do you do.”、“Good morning.”等,都是字符串常量,其長度分別為14和13(空格也是一個字符)。 2.字符串的存儲 C語言規(guī)定:在存儲字符串常量時,由系統(tǒng)在字符串的末尾自動加一個 0' 作為字符串的結(jié)束標(biāo)志。 字符常量 'A' 與字符串常量 "A&qu

12、ot; 是兩回事: (1)定界符不同:字符常量使用單引號,而字符串常量使用雙引號; (2)長度不同:字符常量的長度固定為 1 ,而字符串常量的長度,可以是 0 ,也可以是某個整數(shù); (3)存儲要求不同:字符常量存儲的是字符的 ASCII 碼值,而字符串常量,除了要存儲有效的字符外,還要存儲一個結(jié)束標(biāo)志 ' 0' 。 2.7 算術(shù)運算與算術(shù)表達式 在語言中,除控制語句和輸入輸出函數(shù)外,其它所有基本操作都作為運算符處理。 1. 五種基本算術(shù)運算符 + 、 - (減法 / 取負)、 * 、 / 、 % (求余數(shù)) (1)關(guān)于除法運算 / C 語言規(guī)定:兩個整數(shù)相除,其商為整數(shù),小數(shù)部

13、分被舍棄。例如,5/2=2。 (2)關(guān)于求余數(shù)運算 要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯。 2. 表達式和算術(shù)表達式 (1)表達式的概念 用運算符和括號將運算對象(常量、變量和函數(shù)等)連接起來的、符合語言語法規(guī)則的式子,稱為表達式。 (2)算術(shù)表達式的概念 表達式中的運算符都是算術(shù)運算符。例如,3+6*9、(x+y)/2-1等,都是算術(shù)表達式。 3. 運算符的優(yōu)先級與結(jié)合性 (1)語言規(guī)定了運算符的優(yōu)先級和結(jié)合性。 所謂結(jié)合性是指,當(dāng)一個操作數(shù)兩側(cè)的運算符具有相同的優(yōu)先級時,該操作數(shù)是先與左邊的運算符結(jié)合,還是先與右邊的運算符結(jié)合。 自左至右的結(jié)合方向,稱為左結(jié)合性。反之,稱為右結(jié)合性。 結(jié)

14、合性是語言的獨有概念。除單目運算符、賦值運算符和條件運算符是右結(jié)合性外,其它運算符都是左結(jié)合性。 (2)表達式求值 1 )按運算符的優(yōu)先級高低次序執(zhí)行。例如,先乘除后加減。 2 )如果在一個運算對象(或稱操作數(shù))兩側(cè)的運算符的優(yōu)先級相同,則按語言規(guī)定的結(jié)合方向(結(jié)合性)進行。 4. 數(shù)據(jù)類型轉(zhuǎn)換 (1)在語言中,整型、實型和字符型數(shù)據(jù)間可以混合運算。 如果一個運算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)按“先轉(zhuǎn)換、后運算”的原則,首先將數(shù)據(jù)自動轉(zhuǎn)換成同一類型,然后在同一類型數(shù)據(jù)間進行運算。(2)除自動轉(zhuǎn)換外,語言也允許強制轉(zhuǎn)換。 數(shù)據(jù)類型強制轉(zhuǎn)換的一般格式為: ( 要轉(zhuǎn)換成的數(shù)據(jù)類型 )( 被轉(zhuǎn)換

15、的表達式 ) 當(dāng)被轉(zhuǎn)換的表達式是一個簡單表達式時,外面的一對圓括號可以缺省。 例如, (double)a(等價于(double)(a)) /* 將變量a的值轉(zhuǎn)換成double型 */ (int)(x + y)/* 將x+y的結(jié)果轉(zhuǎn)換成int型 */ 2.8 賦值運算與賦值表達式 1. 賦值運算 賦值符號“=”就是賦值運算符,它的作用是將一個表達式的值賦給一個變量。 賦值運算符的一般形式為:變量=賦值表達式 例如, x=5 2. 復(fù)合賦值運算 復(fù)合賦值運算符是由賦值運算符之前再加一個雙目運算符構(gòu)成的。 復(fù)合賦值運算的一般格式為: 變量 雙目運算符 = 表達式 復(fù)合賦值運算符 它等價于:變量 =

16、變量 雙目運算符 ( 表達式 ) 。 當(dāng)表達式為簡單表達式時,表達式外的一對圓括號才可缺省,否則可能出錯。 例如,x += 3/* 等價于x=x+3*/ y*=x+6/*等價于y=y*(x+6),而不是y=y*x+6 */ 3. 賦值表達式 由賦值運算符或復(fù)合賦值運算符,將一個變量和一個表達式連接起來的表達式,稱為賦值表達式。 (1)一般格式 變量 (復(fù)合)賦值運算符 表達式 (2)賦值表達式的值 任何一個表達式都有一個值,賦值表達式也不例外。被賦值變量的值,就是賦值表達式的值。 例如,“a = 5”這個賦值表達式,變量a的值“”就是它的值。 2.9 C語言特有的運算和運算符 2.9.1 自增

17、(+)、自減(-)運算 1. 作用 自增運算使單個變量的值增,自減運算使單個變量的值減。 2. 用法與運算規(guī)則 自增、自減運算符都有兩種用法: (1)前置運算運算符放在變量之前:變量、變量 先使變量的值增(或減),然后再以變化后的值參與其它運算,即先增減、后運算。 (2)后置運算運算符放在變量之后:變量、變量 變量先參與其它運算,然后再使變量的值增(或減),即先運算、后增減。 案例2.4 自增、自減運算符的用法與運算規(guī)則示例。 /* 程序功能:自增、自減運算符的用法與運算規(guī)則示例 */ main() int x=6, y; printf("x=%dn",x); /* 輸出 x 的初值 */ y = +x; /* 前置運算 */ printf(&quo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論