第三章-數(shù)據(jù)類型、運(yùn)算符與表達(dá)式課件_第1頁
第三章-數(shù)據(jù)類型、運(yùn)算符與表達(dá)式課件_第2頁
第三章-數(shù)據(jù)類型、運(yùn)算符與表達(dá)式課件_第3頁
第三章-數(shù)據(jù)類型、運(yùn)算符與表達(dá)式課件_第4頁
第三章-數(shù)據(jù)類型、運(yùn)算符與表達(dá)式課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void定義類型typedef字符類型char枚舉類型enum整 型實(shí)型單精度型float雙精度型double數(shù)組結(jié)構(gòu)體struct共用體union短整型short長整型long整型int數(shù)據(jù)類型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍3. 其上可進(jìn)行的操作本章所介紹的數(shù)據(jù)類型一、C語言數(shù)據(jù)類型C基本類型構(gòu)造類型指針類型空類型void定義類型typede標(biāo)識符標(biāo)識符定義:用來標(biāo)識變量、常量、函數(shù)等的字符序列組成:只能由字母、數(shù)字、下劃線組成,且第一個字母必須是字母或下劃線大小寫敏感不能

2、使用關(guān)鍵字長度:最長32個字符命名原則:見名知意不宜混淆 如l與I, o與0標(biāo)識符標(biāo)識符例:判斷下列標(biāo)識符號合法性sum Sum M.D.John day Date 3days student_name lotus_1_2_3 char ab _above $1233字符非法 .字符非法 char是關(guān)鍵字 字符非法 $不可作首字符例:判斷下列標(biāo)識符號合法性3字符非法 .字符非法 char編程小技巧下劃線和大小寫通常用來增強(qiáng)標(biāo)識符可讀性mynamemy_name, MY_NAMEMyName, myNamecMyName編程小技巧下劃線和大小寫通常用來增強(qiáng)標(biāo)識符可讀性二、常量定義: 程序運(yùn)行時其

3、值不能改變的量(即常數(shù))分類: 直接常量 符號常量二、常量定義:直接常量整型常量(整常數(shù))例: 100,125,-100,0實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))例: 3.14 ,0.125,-3.789字符常量用單引號括起來的單個字符例: a, b,2字符串常量用雙引號(“”)括起來的字符序列例:“a”, “ab”,“1232”直接常量整型常量(整常數(shù)) 符號常量符號常量:用標(biāo)識符代表常量定義格式: #define 符號常量 常量一般用大寫字母如 #define PRICE 30如再用賦值語句給PRICE賦值是錯的 PRICE=40;/* 錯誤,不能給符號常量賦值 符號常量符號常量:用標(biāo)識符代表常量如 #

4、defi例: 符號常量的使用#define PRICE 30#include void main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);運(yùn)行結(jié)果:total=300例: 符號常量的使用運(yùn)行結(jié)果:total=300三、變量定義:其值可以改變的量定義的一般格式:數(shù)據(jù)類型 變量1,變量2,變量n;變量初始化:定義時賦初值 例: int a,b,c; float data;例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y

5、=z=1;三、變量定義:其值可以改變的量例:例:編譯程序根據(jù)變量定義,為其分配指定字節(jié)的內(nèi)存單元地址int a=1, b=-3, c;abc2字節(jié)2字節(jié)2字節(jié)地址地址內(nèi)存.1-3隨機(jī)數(shù)編譯程序根據(jù)變量定義,為其地址int a=1, b=-3變量的使用:先定義,后使用變量定義位置:一般放在函數(shù)開頭 main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data);變量定義可執(zhí)行語句例 int student; stadent=19; /Undefined symbol statent in function ma

6、in 變量的使用:先定義,后使用main()變量定義可執(zhí)行語句例#include void main()int a,b=2; a=1; float data; data=(a+b)*1.2; printf(data=%fn,data);#include 四、 數(shù)據(jù)在計算機(jī)中的存儲數(shù)據(jù)在計算機(jī)中是以二進(jìn)制形式存儲的計算機(jī)內(nèi)部的信息都是用二進(jìn)制來表示的。二進(jìn)制數(shù)的特點(diǎn)是“逢二進(jìn)一”。每一位的值只有0和1兩種可能。例如:十進(jìn)制數(shù)10,用二進(jìn)制表示是1010。它的含義是: 每一個二進(jìn)位代表不同的冪,最右邊一位代表2的0次方,最右邊第二位代表2的1次方,以此類推。四、 數(shù)據(jù)在計算機(jī)中的存儲數(shù)據(jù)在計算機(jī)中

7、是以二進(jìn)制形式存儲的位,字節(jié)和地址位:又稱“比特”(bit)。是存儲信息的最小單位。它的值是“1”或“0”。字節(jié):又稱“拜特”(byte)。一般將8個“二進(jìn)制位”組織成一組,稱為“字節(jié)”。地址:計算機(jī)的存儲器包含許多存儲單元,操作系統(tǒng)把所有存儲單元以字節(jié)為單位編號 。位,字節(jié)和地址五、 整型數(shù)據(jù)的運(yùn)算與分析整型常量三種形式:十進(jìn)制整數(shù):由數(shù)字09和正負(fù)號表示.如 123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字07表示.如0123,011十六進(jìn)制整數(shù):由0 x開頭,后跟09,af,AF表示. 如0 x123,0Xff問題:0123 = ( 83 )100 x123 = ( 291 )10

8、0Xff = ( 255 )10五、 整型數(shù)據(jù)的運(yùn)算與分析整型常量問題:五、 整型數(shù)據(jù)的運(yùn)算與分析整型變量整型數(shù)據(jù)在內(nèi)存中的存放形式 數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的。 如: int i; /* 定義為整型變量 */ i=10; /* 給i賦以整數(shù)10 */0000000000001010五、 整型數(shù)據(jù)的運(yùn)算與分析整型變量0000000000001五、 整型數(shù)據(jù)的運(yùn)算與分析整型變量整型變量的分類基本整型 int 2個字節(jié)短整型 short int或short 2個字節(jié)長整型 long int或long 4個字節(jié)signed和unsigned:有符號和無符號,缺省為有符號signed int類型

9、變量的取值范圍: -215(215-1)unsigned int類型變量的取值范圍: 0(216-1)五、 整型數(shù)據(jù)的運(yùn)算與分析整型變量signed int類型變五、 整型數(shù)據(jù)的運(yùn)算與分析整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型如其值范圍值-215(215-1),認(rèn)為是int型如其值范圍值-231(231-1),認(rèn)為是long型在整常量后加字母l或L,認(rèn)為它是long int 型常量在整常量后加字母u或U,認(rèn)為它是unsigned int 型常量五、 整型數(shù)據(jù)的運(yùn)算與分析整型常量的類型 雞兔同籠: 在一個籠子里同時養(yǎng)著一些雞和兔子,你想了解有多少只雞和多少只兔,主人對你說:我只告訴你雞和兔

10、的總頭數(shù)是16,總腳數(shù)是40,你能不能自己計算有多少只雞和多少只兔?設(shè):x-雞數(shù)量 y-兔數(shù)量, h-總頭數(shù) f-總腳數(shù)有方程式:例題 解題思路x+y=h (1)2x+4y=f (2)求x和y的公式: (2)式-2x (1)式: 2y = f 2h y=五、 整型數(shù)據(jù)的運(yùn)算與分析 雞兔同籠: 在一個籠子里同時養(yǎng)著一些雞和兔子,你想了解#include void main() int h,f,x,y; h=16; f=40; y=(f-2* h)/2; x=h-y; printf(%d%dn,x,y); 編寫程序1、運(yùn)行時顯示:124 ?2、程序改進(jìn):printf(%d,%dn,x,y);3、再

11、改進(jìn):printf(cock=%d,rabbit=%dn,x,y); 五、整型數(shù)據(jù)的運(yùn)算與分析#include 編寫程序1、運(yùn)行時顯示:實(shí)型常量的表示形式十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn)) 如0.123, .123, 123.0, 0.0, 123.指數(shù)形式:(e或E前必須有數(shù)字;指數(shù)須為整數(shù))標(biāo)準(zhǔn)化的指數(shù)形式: 在字母e(或E)之前的小數(shù)部分中,小數(shù)點(diǎn)左邊應(yīng)有一位(且只能有一位)非零的數(shù)字. 例如: 123.456可以表示為: 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e 其中的1.23456e2稱為“規(guī)范化的指數(shù)形式”。1e3、1.8e-3、-

12、123e-6、-.1e-3e3、2.1e3.5、.e3、e 六、實(shí)型數(shù)據(jù)的運(yùn)算與分析實(shí)型常量的表示形式1e3、1.8e-3、-123e-6、-.六、實(shí)型數(shù)據(jù)的運(yùn)算與分析實(shí)型變量的分類單精度(float型)雙精度(double型)長雙精度型(long double)實(shí)型常量的類型默認(rèn)double型在實(shí)型常量后加字母f或F,認(rèn)為它是float 型六、實(shí)型數(shù)據(jù)的運(yùn)算與分析實(shí)型變量的分類六、實(shí)型數(shù)據(jù)的運(yùn)算與分析 類型 位數(shù) 數(shù)的范圍 有效數(shù)字float 32 10-37 1038 67 位double型 64 10-30710308 1516位long double 128 10-4931104932

13、 1819位六、實(shí)型數(shù)據(jù)的運(yùn)算與分析 類型 位數(shù) 六、實(shí)型數(shù)據(jù)的運(yùn)算與分析實(shí)型變量在內(nèi)存存儲形式一般在內(nèi)存中占4個字節(jié)(32位)。按照指數(shù)形式存儲的分成小數(shù)部分和指數(shù)部分,分別存放。指數(shù)部分采用規(guī)范化的指數(shù)形式。六、實(shí)型數(shù)據(jù)的運(yùn)算與分析實(shí)型變量在內(nèi)存存儲形式例:實(shí)型數(shù)據(jù)的舍入誤差#include void main() float a,b; a = 123456.789e5; b = a + 20 ; printf(“%fn”,b); 說明:一個實(shí)型變量只能保證的有效數(shù)字是7位有效數(shù)字,后面的數(shù)字是無意義的,并不準(zhǔn)確地表示該數(shù)。 應(yīng)當(dāng)避免將一個很大的數(shù)和一個很小的數(shù)直接相加或相減,否則就會“丟

14、失”小的數(shù)運(yùn)行結(jié)果: 12345678848.000000例:實(shí)型數(shù)據(jù)的舍入誤差#include stdio.h七、字符型數(shù)據(jù)的運(yùn)算字符常量用單引號括起來的單個普通字符或轉(zhuǎn)義字符字符常量的值:該字符的ASCII碼值轉(zhuǎn)義字符:反斜線后面跟一個字符或一個代碼值表示如 a A ? n 101如 A65, a97, 048 , n10七、字符型數(shù)據(jù)的運(yùn)算字符常量如 a A 轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義nvradddtbf“xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號3位8進(jìn)制數(shù)代表的字符水平制表退格換頁反斜線雙引號2位16進(jìn)制數(shù)代表的字符轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義nvraddd七、字符型數(shù)據(jù)的運(yùn)

15、算字符變量用來存放字符常量,注意只能放一個字符。定義和賦值: 例:char c1,c2; c1a;c2 b ;一個字符變量在內(nèi)存中占一個字節(jié),以ASCII代碼形式存儲。輸出形式:例:printf(“%c”,c1); printf(“%d”,c1);a97七、字符型數(shù)據(jù)的運(yùn)算字符變量a例:將字符變量賦以整數(shù)。 #include void main() char c1,c2; c1=97; c2=98; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); 第和第4行語句的作用相當(dāng)于以下兩個賦值語句:c1;c2; 因?yàn)閍和b的ASCII碼為97和98運(yùn)行結(jié)

16、果: 97 98七、 字符型數(shù)據(jù)的運(yùn)算例:將字符變量賦以整數(shù)。 #include stdio.例:大小寫字母的轉(zhuǎn)換 #include void main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(“c c,c1,c2); 程序的作用是將兩個小寫字母a和b轉(zhuǎn)換成大寫字母A和B。從ASCII代碼表中可以看到每一個小寫字母比它相應(yīng)的大寫字母的ASCII碼大32。語言允許字符數(shù)據(jù)與整數(shù)直接進(jìn)行算術(shù)運(yùn)算。 運(yùn)行結(jié)果: 七、字符型數(shù)據(jù)的運(yùn)算例:大小寫字母的轉(zhuǎn)換 #include stdio.h七、 字符型數(shù)據(jù)的運(yùn)算字符串常量:用雙引號(“”)

17、括起來的字符序列存儲:每個字符串尾自動加一個 0 作為字符串結(jié)束標(biāo)志h e l l o 0例 字符串“hello”在內(nèi)存中a a 0例 a“a”例 空串 “”0例: char ch; ch=“A”; 例: char ch; ch=A; 七、 字符型數(shù)據(jù)的運(yùn)算字符串常量:用雙引號(“”)括起來的字 逐個輸出英文字母C,H,I,N,A。然后按反序輸出,即A,N,I,H,C。 可以把5個字母分別放在5個變量中,第1次按正序輸出這5個字母,第2次按反序輸出這5個字母。C語言提供字符型變量,用來存放字符數(shù)據(jù)。 例題 解題思路2.4字符型數(shù)據(jù)的運(yùn)算 逐個輸出英文字母C,H,I,N,A。然后按反序輸出,即A,#include void

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論