c語(yǔ)言程序設(shè)計(jì)教程cj_02基本數(shù)據(jù)類型_潭浩強(qiáng)第3版_第1頁(yè)
c語(yǔ)言程序設(shè)計(jì)教程cj_02基本數(shù)據(jù)類型_潭浩強(qiáng)第3版_第2頁(yè)
c語(yǔ)言程序設(shè)計(jì)教程cj_02基本數(shù)據(jù)類型_潭浩強(qiáng)第3版_第3頁(yè)
c語(yǔ)言程序設(shè)計(jì)教程cj_02基本數(shù)據(jù)類型_潭浩強(qiáng)第3版_第4頁(yè)
c語(yǔ)言程序設(shè)計(jì)教程cj_02基本數(shù)據(jù)類型_潭浩強(qiáng)第3版_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、遼寧師范大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院 蔡靜,C 語(yǔ)言程序設(shè)計(jì),目錄,C語(yǔ)言概述 程序的靈魂算法 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式 C程序設(shè)計(jì) 數(shù)組 函數(shù) 預(yù)處理命令 指針 結(jié)構(gòu)體和共用體 位運(yùn)算 文件 測(cè)試及綜合應(yīng)用,數(shù)據(jù)類型、運(yùn)算符與表達(dá)式,1 C 數(shù)據(jù)的類型概述 2 常量與變量 3 C運(yùn)算符和表達(dá)式 4 數(shù)據(jù)的輸入輸出,遼寧師范大學(xué) 蔡靜,4,2.1 C 數(shù)據(jù)類型概述,數(shù)據(jù)類型:是對(duì)程序所處理的數(shù)據(jù)的一種抽象。通過(guò)類型名對(duì)數(shù)據(jù)賦予一些約束,以便進(jìn)行高效處理和詞法檢查。 約束: 取值范圍 存儲(chǔ)空間大小 運(yùn)算方式,遼寧師范大學(xué) 蔡靜,5,程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu) 軟件 = 程序 + 文擋,遼寧師范大

2、學(xué) 蔡靜,6,2.1.1 數(shù)值的定點(diǎn)表示與浮點(diǎn)表示,1、定點(diǎn)數(shù):將計(jì)算機(jī)中的小數(shù)點(diǎn)的位置視為是固定不變的。, 定點(diǎn)整數(shù), 定點(diǎn)小數(shù),遼寧師范大學(xué) 蔡靜,7,2、浮點(diǎn)數(shù),N = M RC | M | 1,例: -125.75 的浮點(diǎn)格式(32位)為:,(-125.75)10 =(-0.111110111)22111,階碼:7位,數(shù)符,尾數(shù):23位,階符,00000111,111110111000000000000000,遼寧師范大學(xué) 蔡靜,8,2.1.2 整數(shù)的有符號(hào)類型與無(wú)符號(hào)類型,有符號(hào)數(shù)的符號(hào)位: 最高位:0表示正,1表示負(fù)。 signed有符號(hào)整數(shù),unsigned無(wú)符號(hào)整數(shù) C語(yǔ)言中,

3、實(shí)數(shù)都是有符號(hào)的。,遼寧師范大學(xué) 蔡靜,9,2.1.3 類型寬度與取值范圍,以IBM PC機(jī)為例:,遼寧師范大學(xué) 蔡靜,10,2.1.3 類型寬度與取值范圍(續(xù)),sizeof()函數(shù) sizeof(類型標(biāo)志符或數(shù)據(jù)) 說(shuō)明:返回指定類型標(biāo)志符或數(shù)據(jù)所占存儲(chǔ)空間的長(zhǎng)度。,遼寧師范大學(xué) 蔡靜,11,2.2 常量和變量數(shù)據(jù),常量:程序執(zhí)行過(guò)程中其值不能變化的量。 變量:程序執(zhí)行過(guò)程中其值可以變化的量。,常量: 整型 實(shí)型 字符型 字符串型 符號(hào)常量,變量: 整型 實(shí)型 字符型,遼寧師范大學(xué) 蔡靜,12,2.2.1 常量2.2.1.1 整型常量,1、整型常量 三種表示形式 2、整型常量類型的確定:

4、(1)按常量所在范圍決定其類型 (2)按后綴字母識(shí)別 L或l:long類型整數(shù) LL或ll:long long類型整數(shù) U或u:unsigned類型整數(shù),十進(jìn)制: 127 八進(jìn)制:以數(shù)字0開(kāi)頭. 0127 079 十六進(jìn)制:以數(shù)字0和字母x(0 x)開(kāi)頭. 0 x127 0 x112e,遼寧師范大學(xué) 蔡靜,13,2.2.1.2 實(shí)型常量,實(shí)型常量 兩種表示形式,十進(jìn)制小數(shù)形式:12.6 12. 12 0.58 .58 由數(shù)字和小數(shù)點(diǎn)組成 ,小數(shù)點(diǎn)不可缺. 指數(shù)形式:12.9e-2 5.4e+3.5 e+6 1e+6 由數(shù)字、e或E、正整數(shù)三部分組成.,遼寧師范大學(xué) 蔡靜,14,1、字符常量 用

5、一對(duì)單撇號(hào)括起來(lái)的一個(gè)字符。包括可打印和不可打印字符。 h “h” deg “de” c 說(shuō)明:?jiǎn)纹蔡?hào)只是分隔符,不是字符常量的內(nèi)容。 單撇號(hào)內(nèi)的字符不能是反斜杠或單撇號(hào)。,2.2.1.3 字符類型及其常量,遼寧師范大學(xué) 蔡靜,15,2、轉(zhuǎn)義字符: 屬字符常量,特別的 反斜杠后跟一個(gè)字母代表一個(gè)控制字符。n t 反斜杠后跟一個(gè)反斜杠代表一個(gè)反斜杠。 反斜杠后跟一個(gè)單撇號(hào)代表一個(gè)單撇號(hào)。 反斜杠后跟13個(gè)八進(jìn)制數(shù)代表ASCII碼為該八進(jìn)制數(shù)的字符;反斜杠后跟x和12個(gè)十六進(jìn)制數(shù)代表ASCII碼為該十六進(jìn)制數(shù)的字符。,遼寧師范大學(xué) 蔡靜,16,表2.2.1 特殊的轉(zhuǎn)義字符 字符形式 功能 n 換行

6、 r 回車(不換行) t 橫向跳格到下一個(gè)輸出區(qū) v 豎項(xiàng)跳格 b 退一格 f 走紙換頁(yè) 反斜杠字符“ ” 單撇號(hào)字符“ ” ddd 13位 8 進(jìn)制數(shù)所代表的字符 xhh 12位16進(jìn)制數(shù)所代表的字符,遼寧師范大學(xué) 蔡靜,17,3、字符串常量,字符串:一對(duì)雙撇號(hào)括起來(lái)的0個(gè)或多個(gè)字符序列。,字符串長(zhǎng)度等于雙撇號(hào)中字符個(gè)數(shù)。 例: “b” “bc” “ ” a “It is a good book” “It is a good book” 在機(jī)器內(nèi)存儲(chǔ)時(shí),系統(tǒng)自動(dòng)在字符串末尾加一個(gè)字符串結(jié)束標(biāo)志-轉(zhuǎn)義字符“0”。 h o o l 0 實(shí)際上 104 111 111 108 0 區(qū)別字符B和字符

7、串“B”。 66 66 0 存儲(chǔ)字符串常量用字符數(shù)組。,遼寧師范大學(xué) 蔡靜,18,2.2.1.4 符號(hào)常量,直接常量/字面常量:整型、實(shí)型、字符型常量 符號(hào)常量:在程序中指定的用標(biāo)識(shí)符代表的常量,不能從字面上看出類型。 多用大寫。 預(yù)編譯命令 #define 例:,遼寧師范大學(xué) 蔡靜,19,2.2.2 變量2.2.2.1 標(biāo)識(shí)符,標(biāo)識(shí)符(identifer):由字母,下劃線,數(shù)字組成,且首字符必須是字母或下劃線。 例: A_12 hcb5.6 3ab _ah5 a-bd C語(yǔ)言區(qū)分大小寫字母; 標(biāo)識(shí)符的有效長(zhǎng)度視系統(tǒng)而定,一般是八位; 例: schoolstu001 與 schoolstr00

8、2 視為等同. C中已有32個(gè)關(guān)鍵字(如if,do,char)已有專門含義,用戶要定義的標(biāo)志符不得與其同名; 建議用戶采用的標(biāo)識(shí)符最好不要以下劃線開(kāi)頭 (因?yàn)橄到y(tǒng)內(nèi)部使用了一些下劃線開(kāi)頭的標(biāo)識(shí)符,如 _ fd, _cleft,); 標(biāo)識(shí)符最好能見(jiàn)名知義知類型,提高可讀性。,遼寧師范大學(xué) 蔡靜,20,2.2.2.2 對(duì)變量的賦值:,變量 賦值操作:從運(yùn)算器向變量所在的存貯單元傳送數(shù)據(jù)的操作稱為賦值操作。 格式: 變量名 = 表達(dá)式 ( ) 說(shuō)明: “=”是賦值符號(hào),“=”是等于符號(hào); 賦值運(yùn)算方向是從右向左:先算右邊表達(dá)式的值,再向左邊變量賦值。 例:price = 65; n1 = n2 =

9、num = 5;,變量名:地址 變量值:值,遼寧師范大學(xué) 蔡靜,21,2.2.2.3 變量的聲明,變量必須先聲明再使用 定義格式:類型說(shuō)明符 變量名表 例: int ibook,itable; char cname; 不同類型的數(shù)據(jù)在內(nèi)存中占不同長(zhǎng)度的存儲(chǔ)區(qū),且采用不同的表示方式; 一種數(shù)據(jù)類型對(duì)應(yīng)一個(gè)取值范圍; 一種數(shù)據(jù)類型對(duì)應(yīng)一組允許的操作。 也可以在定義的同時(shí)賦初值。 int 與 char 通用。 例:,遼寧師范大學(xué) 蔡靜,22,變量的聲明(續(xù)):,變量 (1) 整型變量,整型變量 實(shí)型變量 字符變量,有符號(hào)型 無(wú)符號(hào)型,短整型 short 整 型 int 長(zhǎng)整型 long,無(wú)符號(hào)短整型

10、 unsigned short 無(wú)符號(hào)整 型 unsigned int 無(wú)符號(hào)長(zhǎng)整型 unsigned long,!定義變量時(shí),要根據(jù)各自的范圍來(lái)定義, 切不可超越! 為何有符號(hào)型負(fù)數(shù)部分是-215,而正數(shù)部分是215-1 ?,遼寧師范大學(xué) 蔡靜,23,(2) 實(shí)型變量 (3) 字符變量 只能存放一個(gè)字符。,單精度 float 雙精度 double,遼寧師范大學(xué) 蔡靜,24,2.2.3 數(shù)據(jù)類型轉(zhuǎn)換2.2.3.1 幾個(gè)概念,數(shù)據(jù)類型的提升與降格 符號(hào)位變?yōu)閿?shù)據(jù)的最高位和最高位變?yōu)榉?hào)位 截去小數(shù)與四舍五入 丟失精度 結(jié)果不確定與截去高位,遼寧師范大學(xué) 蔡靜,25,1、賦值轉(zhuǎn)換 2、一般表達(dá)式轉(zhuǎn)

11、換 3、輸出轉(zhuǎn)換,2.2.3.2 不同類型數(shù)據(jù)的隱式轉(zhuǎn)換,遼寧師范大學(xué) 蔡靜,2、一般表達(dá)式轉(zhuǎn)換,轉(zhuǎn)換原則: float double 高 long unsigned char,short int 低 例:char ch; int i; floar f; double d, dResult; dResult = ch / i + f *d - ( f + i ); int double double double double double,遼寧師范大學(xué) 蔡靜,格式:(類型說(shuō)明符)(表達(dá)式) 功能:將表達(dá)式的類型轉(zhuǎn)換為指定的類型(但表達(dá)式本身的值并不變)。 例: (int)x + y (int

12、)(x +y),2.3.3.3 數(shù)據(jù)類型的顯式轉(zhuǎn)換,遼寧師范大學(xué) 蔡靜,28,2.3 C運(yùn)算符和表達(dá)式, C的運(yùn)算符(13種) 運(yùn)算符:功能不同; 要求運(yùn)算量的類型和個(gè)數(shù)不同; 優(yōu)先級(jí)不同; 結(jié)合方向不同; 結(jié)果值的類型不同。 運(yùn)算符和數(shù)據(jù)組成相應(yīng)表達(dá)式,遼寧師范大學(xué) 蔡靜,29,2.3.1 算術(shù)運(yùn)算符和表達(dá)式,基本/雙目/雙元運(yùn)算符 * / % 高 ( ) + - 低 ( ) 例: 3.5+4.6*2-13/2+13%2,1、基本算術(shù)運(yùn)算符,2、自反算術(shù)賦值運(yùn)算符 -,%: 模運(yùn)算符,求余運(yùn)算符。%兩側(cè)要求為整型數(shù)據(jù)。,遼寧師范大學(xué) 蔡靜,+ - 前綴形式: +i , -i 先加/減1,再使

13、用i 后綴形式: i+ , i- 先使用i,再加/減1 只能用于變量,不能用于常量和表達(dá)式。,3、自加、自減運(yùn)算符,4、正負(fù)號(hào)運(yùn)算符,避免歧義,準(zhǔn)確為先!,遼寧師范大學(xué) 蔡靜,(1)、賦值操作:從運(yùn)算器向變量所在的存貯單元傳送數(shù)據(jù)的操作稱為賦值操作。 格式: 變量名 = 表達(dá)式 ( ) 說(shuō)明: “=”是賦值符號(hào),“=”是等于符號(hào); 賦值運(yùn)算方向是從右向左:先算右邊表 達(dá)式的值,再向左邊變量賦值。 例:price = 65; n1 = n2 = num = 5; (2)、 賦值轉(zhuǎn)換 通過(guò)賦值使右邊表達(dá)式的類型自動(dòng)轉(zhuǎn)換為左邊變量的類型(有效位可能增多或減少)。,5、賦值運(yùn)算符,遼寧師范大學(xué) 蔡靜,算術(shù)運(yùn)算符與賦值運(yùn)算符的合成。 += -= *= /= %= ( ) 自反加/減/乘/除/模賦值 c=c+5; c+=5;,其他:復(fù)合的賦值運(yùn)算符, = = 高 ( ) = != 低 說(shuō)明: 關(guān)系表達(dá)式成立,值為“真”(非0值),否則為“假” (0值); 要表示x在區(qū)間(a, b),數(shù)學(xué)上axb,C語(yǔ)言中 ax 輸入時(shí)必須與格式控制中除格式說(shuō)明之外的字符相匹配,否則系統(tǒng)錯(cuò)誤; %c時(shí),空格,轉(zhuǎn)義字符皆為有效字符; 輸入數(shù)據(jù)時(shí),遇空格、回車、Tab鍵、域?qū)捊Y(jié)束以及非法輸入都認(rèn)為該數(shù)據(jù)結(jié)束; &:取地址符號(hào)。 例:,遼寧師范大學(xué) 蔡靜,輸入:getchar( ) 輸出:put

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論