版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第三章 l 本章要點本章要點 l 主要內(nèi)容主要內(nèi)容 3.1 C3.1 C的數(shù)據(jù)類型的數(shù)據(jù)類型 3.2 3.2 常量與變量常量與變量 3.3 3.3 整型數(shù)據(jù)整型數(shù)據(jù) 3.4 3.4 浮點型數(shù)據(jù)浮點型數(shù)據(jù) 3.5 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù) 3. 3.變量賦初值變量賦初值 3.7 3.7 各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算 3.8 3.8 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 3.9 3.9 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 3.10 3.10 逗號運(yùn)算符和逗號表達(dá)式逗號運(yùn)算符和逗號表達(dá)式 3.1 C的數(shù)據(jù)類型的數(shù)據(jù)類型 數(shù)據(jù)?數(shù)據(jù)? 數(shù)據(jù)類型?數(shù)據(jù)類型?
2、 常量與變量?常量與變量? 字符型字符型-char 實實 型型 單精度型單精度型-float 雙精度型雙精度型-double 整型整型-int 數(shù)數(shù) 據(jù)據(jù) 類類 型型 數(shù)數(shù) 據(jù)據(jù) 常量常量 : Constants 變量變量: Variable 3.2 常量與變量常量與變量 3.2.1 常量和符號常量常量和符號常量 在程序運(yùn)行過程中在程序運(yùn)行過程中, ,其值不能被改變的量稱為常量其值不能被改變的量稱為常量 整型整型 100100,125125,-100-100,0 0 實型實型 3.14 3.14 , 0.1250.125,-3.789-3.789 字符型字符型 a, ba, b,22 字符串字
3、符串 a, aba, ab, 12321232 常量常量 例3.1 符號常量的使用 #include #include #define PRICE 30#define PRICE 30 void main ( )void main ( ) int num, total;int num, total; num = 10;num = 10; total = num total = num * * PRICE; PRICE; printf(total=%dn,totalprintf(total=%dn,total);); 用一個標(biāo)識符代表一個常量。符號常量的值在其作用 域內(nèi)不能改變,也不能再被賦值。
4、 運(yùn)行結(jié)果:運(yùn)行結(jié)果: total=300total=300 程序中用#define命令行定義PRICE代表常 量30,此后凡在本文件中出現(xiàn)的PRICE都代表30,可 以和常量一樣進(jìn)行運(yùn)算 如再用賦值語句給PRICE賦值是錯的 PRICE=40;/* 錯誤,不能給符號常量賦值 都是常量都是常量 3.2 常量與變量常量與變量 3.2.2變量變量 運(yùn)行中,其值允許改變。運(yùn)行中,其值允許改變。 用類型用類型標(biāo)識符標(biāo)識符定義的。定義的。 是臨時存放數(shù)據(jù)的是臨時存放數(shù)據(jù)的空間空間 。 分類:分類:整型、實型、字符型整型、實型、字符型 定義變量的方法:定義變量的方法: 數(shù)據(jù)類型數(shù)據(jù)類型 變量名列表變量名列
5、表; ; intint age; age; floatfloat radius, area; radius, area; double double distance, speed distance, speed,score;score; 數(shù)據(jù)類型關(guān)鍵字?jǐn)?shù)據(jù)類型關(guān)鍵字 變量名,用戶自定義標(biāo)識符變量名,用戶自定義標(biāo)識符 組成:組成: 下劃線下劃線 字母字母 數(shù)字?jǐn)?shù)字 _ a-z,A-Z 0-9 標(biāo)識符:標(biāo)識符:描寫變量描寫變量/常量名字符序列,即名字常量名字符序列,即名字 變量命名注意事項:變量命名注意事項: 不能用關(guān)鍵字;不能用關(guān)鍵字;intint forfor C C中大小寫敏感;中大小寫敏
6、感; 盡可能做到見文知義盡可能做到見文知義; ;age, scoreage, score Sum/sum/SUM-3Sum/sum/SUM-3個不同個不同 數(shù)字不能作首字符;數(shù)字不能作首字符; 2a2a非法非法 main( ) int a, b; a=5; b=6; int sum; sum=a+b; printf(“%dn” , sum); 下面程序是否正確?下面程序是否正確? 變 量 必 須 先 定 義 后 使 用 變量名要簡單明了、見名知意變量名要簡單明了、見名知意 定義變量定義變量 int a; 制造容器制造容器 a 不定值不定值 a=5; 5a=6; 6 printf(“a=%d”,
7、a); 輸出輸出 a=6 注意:注意:a代表存儲單元代表存儲單元 6是存儲單元中的內(nèi)容是存儲單元中的內(nèi)容 3.3 整型數(shù)據(jù)整型數(shù)據(jù) 3.3.1整型常量的表示方法整型常量的表示方法 整型常量即整常數(shù)。在語言中,整常數(shù)可用以下三種整型常量即整常數(shù)。在語言中,整常數(shù)可用以下三種 形式表示:形式表示: (1)(1)十進(jìn)制整數(shù)。十進(jìn)制整數(shù)。 如:如:123, -456.4123, -456.4。 (2)(2)八進(jìn)制整數(shù)。八進(jìn)制整數(shù)。以以0 0頭的數(shù)是八進(jìn)制數(shù)。頭的數(shù)是八進(jìn)制數(shù)。 如:如:01230123表示八進(jìn)制數(shù)表示八進(jìn)制數(shù)123123,等于十進(jìn)制數(shù),等于十進(jìn)制數(shù)83,-01183,-011表表 示八
8、進(jìn)制數(shù)示八進(jìn)制數(shù)-11,-11,即十進(jìn)制數(shù)即十進(jìn)制數(shù)-9-9。 (3)(3)十六進(jìn)制整數(shù)。十六進(jìn)制整數(shù)。以以0 x0 x開頭的數(shù)是開頭的數(shù)是1616進(jìn)制數(shù)。進(jìn)制數(shù)。 如:如:0 x1230 x123,代表,代表1616進(jìn)制數(shù)進(jìn)制數(shù)123,123,等于十進(jìn)制數(shù)等于十進(jìn)制數(shù) 291291。 - - 0 x120 x12等于十進(jìn)制數(shù)等于十進(jìn)制數(shù)1010。 整數(shù)類型的有關(guān)數(shù)據(jù): 3.3.2 整型變量整型變量-只能存放只能存放整型數(shù)據(jù)整型數(shù)據(jù) 以上為在以上為在Visual C+ 編譯環(huán)境中數(shù)據(jù)編譯環(huán)境中數(shù)據(jù) 所占的空間大小所占的空間大小 超出取值范圍會怎樣? 如果在Visual環(huán)境中,定義了一個int型
9、數(shù) 據(jù),但把一個大于2147483647的值賦給 它,會如何呢? 溢出(Overflow)造成的危害 3.4 浮點型數(shù)據(jù)浮點型數(shù)據(jù) 3.4.13.4.1浮點型常量的表示方法浮點型常量的表示方法 兩種表兩種表 示形式示形式 小數(shù)小數(shù) 指數(shù)指數(shù) 0.1230.123 3e-33e-3 注意注意: :字母字母e(e(或或E)E)之前必須有數(shù)字,且之前必須有數(shù)字,且e e后面的指數(shù)必須為整數(shù)后面的指數(shù)必須為整數(shù) 3.4 浮點型數(shù)據(jù)浮點型數(shù)據(jù) 3.4.2 浮點型變量浮點型變量 浮點型變量分為單精度(浮點型變量分為單精度(floatfloat型)、雙精度型)、雙精度 (doubledouble型)和長雙精
10、度型(型)和長雙精度型(long doublelong double)三類)三類 形式。形式。 #include main() float f; /double f; f = 123.456; if (f = 123.456) printf(f is equal to 123.456 indeed.); else printf(In fact, f is equal to %fn, f); 以下程序段的運(yùn)行結(jié)果如何?以下程序段的運(yùn)行結(jié)果如何? 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù) 3.5.1 字符常量字符常量 (1)用單引號包含的一個字符是字符型常量 (2)只能包含一個字符 a,Aa,A, 1, 1
11、abcabc、“a”a” 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù) 有些以有些以“”開頭的特殊字符稱為轉(zhuǎn)義字符開頭的特殊字符稱為轉(zhuǎn)義字符 字符形式字符形式含義含義ASCII碼 n換行換行10 t 水平制表(跳到下一個tab位-8位) 9 b退一格退一格8 r光標(biāo)移到本行首光標(biāo)移到本行首13 反斜杠字符反斜杠字符92 單撇號單撇號在單引號中再次出現(xiàn)時39 雙撇號雙撇號-在雙引號中再次出現(xiàn)時34 例3.5 轉(zhuǎn)義字符的使用 #include stdio.h#include void void ()() printfprintf (C:windowssystem (C:windowssysteminfninfn)
12、;); printfprintf (hello wordn); (hello wordn); printfprintf (char a = An); (char a = An); 顯示屏上的運(yùn)行結(jié)果:顯示屏上的運(yùn)行結(jié)果: C:windowssysteminf hello word char a = A 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù) 3.5.2 字符變量字符變量 字符型變量用來存放字符常量,且只能字符型變量用來存放字符常量,且只能 放一個字符放一個字符。 字符變量的定義形式如下:字符變量的定義形式如下:char c1,c2;char c1,c2; 在本函數(shù)中可以用下面語句對在本函數(shù)中可以用下面語
13、句對c1,c2c1,c2賦值:賦值: c1c1aa;c2c2 b b ; 一個字符變量在內(nèi)存中占一個字節(jié)。一個字符變量在內(nèi)存中占一個字節(jié)。 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù) 3.5.3 字符數(shù)據(jù)在內(nèi)存中的存儲形式及其使用方法字符數(shù)據(jù)在內(nèi)存中的存儲形式及其使用方法 一個字符常量存放到一個字符變量中,實際上并 不是把該字符的字型放到內(nèi)存中去,而是將該字 符的相應(yīng)的ASCII代碼放到存儲單元中。這樣使 字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。 注意: 一個字符數(shù) 據(jù)既可以以 字符形式輸 出,也可以 以整數(shù)形式 輸出。 例3.6 向字符變量賦以整數(shù)。 #include #include void main()v
14、oid main() char c1,c2; char c1,c2; c1=97; c1=97; c2=98; c2=98; printf(“%c %cn”,c1,c2); printf(“%c %cn”,c1,c2); printf(“%d printf(“%d %dn”,c1,c2); %dn”,c1,c2); 在第和第在第和第4 4行中,將整數(shù)行中,將整數(shù)9797和和9898分別賦給分別賦給c1c1和和c2c2, 它的作用相當(dāng)于以下兩個賦值語句:它的作用相當(dāng)于以下兩個賦值語句: c1c1;c2;c2; 因為因為aa和和bb的的ASCIIASCII碼為碼為9797和和9898 運(yùn)行結(jié)果:運(yùn)
15、行結(jié)果: 97 9897 98 例3.7 大小寫字母的轉(zhuǎn)換 #include stdio.h#include void main()void main() char c1,c2 char c1,c2; c1=a;c1=a; c2=b; c2=b; c1=c1-32; c1=c1-32; c2=c2-32; c2=c2-32; printf printf(“(“c c cc,c1,c2c1,c2);); 程序的作用是將兩個小寫字母程序的作用是將兩個小寫字母a a和和b b轉(zhuǎn)換成大轉(zhuǎn)換成大 寫字母寫字母A A和和B B。從代碼表中可以看到每一。從代碼表中可以看到每一 個小寫字母比它相應(yīng)的大寫字母的
16、個小寫字母比它相應(yīng)的大寫字母的ASCIIASCII碼大碼大3232。 語言允許字符數(shù)據(jù)與整數(shù)直接進(jìn)行算術(shù)運(yùn)算。語言允許字符數(shù)據(jù)與整數(shù)直接進(jìn)行算術(shù)運(yùn)算。 運(yùn)行結(jié)果:運(yùn)行結(jié)果: 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù) 3.5.4字符串常量字符串常量 字符串常量是一對字符串常量是一對雙撇號雙撇號括起來的字符序列括起來的字符序列. . 合法的字符串常量合法的字符串常量: : “How do you do.”, “CHINA”How do you do.”, “CHINA”, “ “a” a” , “$123.45”$123.45” 可以輸出一個字符串,如可以輸出一個字符串,如 printf(“Howprintf
17、(“How do you do.”) do you do.”); 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù) 是字符常量,是字符常量,”是字符串常量,二者不是字符串常量,二者不 同。同。 如:如:假設(shè)被指定為字符變量假設(shè)被指定為字符變量 :char cchar c c=a; ”a”;c”CHINA”; 結(jié)論:結(jié)論:不能把一個字符串常量賦給一個字符變量。不能把一個字符串常量賦給一個字符變量。 規(guī)定:在每一個字符串常量的結(jié)尾加一個規(guī)定:在每一個字符串常量的結(jié)尾加一個 “ “字符串結(jié)束字符串結(jié)束 標(biāo)標(biāo) 志志”,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。規(guī)定以字符,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。規(guī)定以字符 作為字符串結(jié)束標(biāo)
18、志。作為字符串結(jié)束標(biāo)志。 如:如:如果有一個字符串常量如果有一個字符串常量” ” ,實際上在內(nèi)存中是:,實際上在內(nèi)存中是: CHINA0 它占內(nèi)存單元不是個字節(jié),而是個字節(jié),最后一個它占內(nèi)存單元不是個字節(jié),而是個字節(jié),最后一個 字符為字符為。但在輸出時不輸出。但在輸出時不輸出。 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù) 3.6 變量賦初值變量賦初值 (1)(1)語言允許在定義變量的同時使變量初始化語言允許在定義變量的同時使變量初始化 如如: : intint a=3; / a=3; / 指定為整型變量,初值為指定為整型變量,初值為 float f=3.56; / float f=3.56; / 指定為浮點
19、型變量,初值為指定為浮點型變量,初值為.56 .56 char c=a; / char c=a; / 指定為字符變量,初值為指定為字符變量,初值為aa (2)(2)可以使被定義的變量的一部分賦初值??梢允贡欢x的變量的一部分賦初值。 如如: : int a,b,cint a,b,c=5=5; 表示指定、為整型變量,但表示指定、為整型變量,但 只對初始化,只對初始化,c c的初值為的初值為 3.6 變量賦初值變量賦初值 (3)(3)如果對幾個變量賦以同一個初值,如果對幾個變量賦以同一個初值, 應(yīng)寫成:應(yīng)寫成:intint a=3,b=3,c=3; a=3,b=3,c=3; 表示、表示、 的初值都
20、是。的初值都是。 不能寫成不能寫成 int int a=b=c=3; a=b=c=3; char *stu_name = “Mike”; int stu_age = 19; /學(xué)生年齡 int stu_score = 78; /成績?nèi)≈?100 工程中習(xí)慣的寫法:工程中習(xí)慣的寫法: int a = 3; int b = 3; int c = 3; 3.7 各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算 float long char 轉(zhuǎn)轉(zhuǎn) 換換 方方 向向 charfloat int double 3.8 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 注意:注意: %的分子分母必須都為整
21、型數(shù)據(jù)的分子分母必須都為整型數(shù)據(jù) 數(shù)學(xué)中的數(shù)學(xué)中的“ ”、“ ”用多層用多層“( )” 代代 替替 一般形式一般形式: :(類型名)(表達(dá)式)(類型名)(表達(dá)式) 例如:例如: (double)(double) 將轉(zhuǎn)換成將轉(zhuǎn)換成doubledouble類型類型 (int)(x+y(int)(x+y) ) 將將x+yx+y的值轉(zhuǎn)換成整型的值轉(zhuǎn)換成整型 (float)(float)(5%35%3) 將將5%35%3的值轉(zhuǎn)換成的值轉(zhuǎn)換成floatfloat型型 (3)(3)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 類型強(qiáng)轉(zhuǎn)類型強(qiáng)轉(zhuǎn)指針指針 作用是使變量的值增或減作用是使變量的值增或減 如如: (在使用之
22、前,先使的值加(在使用之前,先使的值加 (減)(減) 在使用之后,先使的值加在使用之后,先使的值加 (減)(減) (4) (4) 自增、自減運(yùn)算符自增、自減運(yùn)算符 例如:例如:i的原值等于的原值等于3 ; i的值先變成的值先變成4, 再賦給再賦給,j的值均為的值均為 ; 先將先將 i的值的值3賦給賦給,的值為,然后變?yōu)榈闹禐?,然后變?yōu)?自增(減)運(yùn)算符常用于自增(減)運(yùn)算符常用于循環(huán)語句循環(huán)語句中使循環(huán)變量中使循環(huán)變量 自動加,也用于自動加,也用于指針變量指針變量,使指針指向下一個地,使指針指向下一個地 址。址。 void main() int i =2; int j=1; +j; j = i
23、 + j; i +; printf (i=%d, j=%dn,i, j); void main() int i =2; int j=1; j = i+(+j); printf (i=%d,j=%dn,i,j); 輸出結(jié)果:輸出結(jié)果: i=3, j=4 這樣的寫這樣的寫 法你自己法你自己 還懂嗎?還懂嗎? 3.9 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 = += -= *= /= %= 簡單賦值運(yùn)算符簡單賦值運(yùn)算符 復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符 3.9 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 賦值表達(dá)式中的賦值表達(dá)式中的“表達(dá)式表達(dá)式”,又可以是一個賦值表,又可以是一個賦值表 達(dá)式。達(dá)式。 例如例如: : 1. 1. a=(b=5)a=(b=5) 2.2.(a=3(a=3* *5)=45)=4* *3 3 3.3. a+=a-=a a+=a-=a* *a a 正確,但非標(biāo)準(zhǔn)的寫法!正確,但非標(biāo)準(zhǔn)的寫法! 1. 1. b=5b=5 a=ba=b 2. 2. a=3 a=3* *5 5 a=4 a=4* *3 3 3. 3. a=a-a a=a-a* *a a a=a+a a=a+a 此為標(biāo)準(zhǔn)寫法!此為標(biāo)準(zhǔn)寫法! 盡量不要多個賦值符號盡量不要多個賦值符號 連用!連用! 請判斷以下程序段的輸出結(jié)果請
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025執(zhí)業(yè)藥師培訓(xùn)合同
- 課題申報書:高職院校國際合作與交流質(zhì)量評價體系研究
- 2022年六年級語文上冊專項九說明文閱讀
- 上海杉達(dá)學(xué)院《數(shù)字視音頻技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海紐約大學(xué)《智能設(shè)備應(yīng)用開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海閔行職業(yè)技術(shù)學(xué)院《歐洲飲食與文化》2023-2024學(xué)年第一學(xué)期期末試卷
- 校園防冰凍安全教育
- 上海立信會計金融學(xué)院《世界分區(qū)地理》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海科技大學(xué)《精神健康護(hù)理學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海交通職業(yè)技術(shù)學(xué)院《數(shù)據(jù)科學(xué)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 雍琦版-《法律邏輯學(xué)》課后習(xí)題答案(共78頁)
- 咸水沽污水廠生物池清淤施工組織方案
- 二甘醇二苯甲酸酯(DEDB)
- 數(shù)字化變電站的IEC61850建模
- 管道閉水試驗記錄表自動計算軟件
- 學(xué)校綜合督導(dǎo)匯報ppt課件
- 人流咨詢話術(shù)
- 鐵路建設(shè)征地拆遷補(bǔ)償標(biāo)準(zhǔn)(附表)
- 農(nóng)村祠堂上梁說辭
- GB31644-2018食品安全國家標(biāo)準(zhǔn)復(fù)合調(diào)味料
- 建筑施工現(xiàn)場安全檢查的程序及要點
評論
0/150
提交評論