![C語言教學(xué)之第3章數(shù)據(jù)類型表達(dá)式ppt課件_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/25/1efa2921-3df2-4234-8163-1cd278890633/1efa2921-3df2-4234-8163-1cd2788906331.gif)
![C語言教學(xué)之第3章數(shù)據(jù)類型表達(dá)式ppt課件_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/25/1efa2921-3df2-4234-8163-1cd278890633/1efa2921-3df2-4234-8163-1cd2788906332.gif)
![C語言教學(xué)之第3章數(shù)據(jù)類型表達(dá)式ppt課件_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/25/1efa2921-3df2-4234-8163-1cd278890633/1efa2921-3df2-4234-8163-1cd2788906333.gif)
![C語言教學(xué)之第3章數(shù)據(jù)類型表達(dá)式ppt課件_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/25/1efa2921-3df2-4234-8163-1cd278890633/1efa2921-3df2-4234-8163-1cd2788906334.gif)
![C語言教學(xué)之第3章數(shù)據(jù)類型表達(dá)式ppt課件_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/25/1efa2921-3df2-4234-8163-1cd278890633/1efa2921-3df2-4234-8163-1cd2788906335.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末沒有規(guī)矩,不成方圓。沒有規(guī)矩,不成方圓。3.1 C的數(shù)據(jù)類型的數(shù)據(jù)類型3.2 常量與變量常量與變量3.3 整型數(shù)據(jù)整型數(shù)據(jù)3.4 實型數(shù)據(jù)實型數(shù)據(jù)第3章 數(shù)據(jù)類型、運算符與表達(dá)式嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.5 字符型數(shù)據(jù)字符型數(shù)據(jù)3.6 變量賦初值變量賦初值3.7 各類數(shù)值型數(shù)據(jù)間的混合運算各類數(shù)值型數(shù)據(jù)間的混合運算3.8 算術(shù)運算符和算術(shù)表達(dá)式算術(shù)運算符和算術(shù)表達(dá)式3.9 賦值運算符和賦值表達(dá)式賦值運算符和賦值表達(dá)式3.10 逗號運算符和逗號表達(dá)式逗號運算符和逗號表達(dá)式嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010
2、年末年末本章大綱數(shù)據(jù)類型、運算符與表達(dá)式數(shù)據(jù)類型、運算符與表達(dá)式7 7學(xué)時)學(xué)時)教學(xué)內(nèi)容:教學(xué)內(nèi)容:C C的數(shù)據(jù)類型:基本數(shù)據(jù)類型;自定義的數(shù)據(jù)類型的數(shù)據(jù)類型:基本數(shù)據(jù)類型;自定義的數(shù)據(jù)類型常量和變量:符號常量與一般常量;變量的定義和賦值常量和變量:符號常量與一般常量;變量的定義和賦值各類型數(shù)據(jù)的混合運算各類型數(shù)據(jù)的混合運算運算符與表達(dá)式:算術(shù)運算符;關(guān)系運算符與邏輯運算符;表運算符與表達(dá)式:算術(shù)運算符;關(guān)系運算符與邏輯運算符;表達(dá)式的執(zhí)行順序達(dá)式的執(zhí)行順序嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末基本要求:基本要求:了解了解C C語言的數(shù)據(jù)類型;語言的數(shù)據(jù)類型;了解常量的概念、常
3、量的分類;了解常量的概念、常量的分類;了解整型、實型和字符型數(shù)據(jù)的存儲形式;了解整型、實型和字符型數(shù)據(jù)的存儲形式;掌握變量的概念、變量的分類及變量的初始化方法;掌握變量的概念、變量的分類及變量的初始化方法;掌握各類數(shù)值型數(shù)據(jù)間的混合運算規(guī)則;掌握各類數(shù)值型數(shù)據(jù)間的混合運算規(guī)則;掌握常見的各種運算符及表達(dá)式;掌握常見的各種運算符及表達(dá)式;理解運算符的優(yōu)先級與結(jié)合性。理解運算符的優(yōu)先級與結(jié)合性。重點:基本數(shù)據(jù)類型;變量定義和賦值;運算符與表重點:基本數(shù)據(jù)類型;變量定義和賦值;運算符與表達(dá)式達(dá)式難點:自定義的數(shù)據(jù)類型;運算符優(yōu)先級。難點:自定義的數(shù)據(jù)類型;運算符優(yōu)先級。嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅2
4、0102010年末年末 數(shù)據(jù)類型在數(shù)據(jù)結(jié)構(gòu)中的定義是一個值的集合以及定義在這個值集上的一組操作。 基本類型:整型,字符型,浮點型(單精度型,雙精度型),枚舉類型; 構(gòu)造類型:數(shù)組類型,結(jié)構(gòu)體類型,共用體類型,指針類型,空類型。數(shù)據(jù)類型決定:數(shù)據(jù)類型決定:1.1.數(shù)據(jù)占內(nèi)存字?jǐn)?shù)據(jù)占內(nèi)存字節(jié)數(shù)節(jié)數(shù)2.2.數(shù)據(jù)取值范圍數(shù)據(jù)取值范圍3.3.可對數(shù)據(jù)進(jìn)行可對數(shù)據(jù)進(jìn)行的操作的操作3.1 C的數(shù)據(jù)類型嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末 數(shù)據(jù)結(jié)構(gòu)是指同一數(shù)據(jù)元素類中各數(shù)據(jù)元素之間存在的關(guān)系。數(shù)據(jù)結(jié)構(gòu)分別為邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)物理結(jié)構(gòu)和數(shù)據(jù)的運算。數(shù)據(jù)的邏輯結(jié)構(gòu)是對數(shù)據(jù)之間關(guān)系的描述,有時就把邏
5、輯結(jié)構(gòu)簡稱為數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)在計算機中的表示映像稱為數(shù)據(jù)的物理存儲構(gòu)造。 數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計算機硬件和計算機軟件三者之間的一門核心課程。數(shù)據(jù)結(jié)構(gòu)不僅是一般程序設(shè)計的基礎(chǔ),而且是設(shè)計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基礎(chǔ)。 常用數(shù)據(jù)結(jié)常用數(shù)據(jù)結(jié)構(gòu)構(gòu) : :數(shù)組、數(shù)組、線性表、鏈線性表、鏈表、隊列、表、隊列、棧、樹、圖棧、樹、圖等的定義、等的定義、存儲和操作存儲和操作數(shù)據(jù)結(jié)構(gòu)補充了解補充了解嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末(1)(1)不同的計算機語不同的計算機語言所允許定義和使用言所允許定義和使用的數(shù)據(jù)結(jié)構(gòu)是不同的。的數(shù)據(jù)結(jié)構(gòu)是不同的。 (2)(2)
6、處理同一類問題,處理同一類問題,如果數(shù)據(jù)結(jié)構(gòu)不同,如果數(shù)據(jù)結(jié)構(gòu)不同,算法也會不同。算法也會不同。嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.2 常量與變量常量:常量:在程序運在程序運行過程中,行過程中,其值不能其值不能被改變的被改變的量稱為常量稱為常量。量。3.2.1 常量和符號常量字面常量或直接常量符號常量:以用一個標(biāo)識符代表一個常量例如例如 : 1212,0 0,-3-3為整為整型常量型常量; ; 4.64.6、-1.23-1.23為實為實型常量型常量; ; aa,dd為為字符常量。字符常量。#define PRICE 30#define PRICE 30嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院
7、楊久紅20102010年末年末例3.1符號常量的使用。#define PRICE 30main ( ) int num, total; num=10; total=num * PRICE; printf(total=%d,total); total=3001.習(xí)慣上,符號常量名用大寫2.程序中不能再次對符號常量賦值。#define PRICE 30main ( ) PRICE=40; 嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末這么麻煩給常量起了名字,有什么好處嗎?(1 1含義清楚。定義符號常量名時應(yīng)考慮含義清楚。定義符號常量名時應(yīng)考慮“見名知意見名知意”。(2 2) 在需要改變一個常
8、量時能做到在需要改變一個常量時能做到“一改全改一改全改”。#define PRICE 30#define PRICE 30一看就知道一看就知道PRICEPRICE表示價格,但千萬表示價格,但千萬不要在定義圓周率的時候也這樣寫,不要在定義圓周率的時候也這樣寫,雖然不錯,但達(dá)不到雖然不錯,但達(dá)不到“見名知意見名知意的的目的了。目的了。#define PRICE 3.1415926#define PRICE 3.1415926嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.2.2 變量變量是指在程序運行期間,其值可以改變的量。1.用來存放數(shù)據(jù)2.對應(yīng)內(nèi)存中的一個特定的存儲單元3.有名字,以便
9、被引用1.怎么對應(yīng)到特定的存儲單元呢?由編譯系統(tǒng)完成。(參閱b 合法的標(biāo)識符名:合法的標(biāo)識符名:whilewhile, _total_total,student_namestudent_name,lotus_1_2_3lotus_1_2_3,ClassClass,class class ,BASIC BASIC C C語言區(qū)分大小寫!語言區(qū)分大小寫!ClassClass和和CLASSCLASS,Class,cLassClass,cLass都不同!都不同!嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末(1)符合標(biāo)識符的2個命名規(guī)則;(2)不能和關(guān)鍵字32個重名。必須同時滿足以上兩個條件。變
10、量的名字要怎么起呢?合法的變量名:num,day,x1不合法的變量名:3num,day,while“先定義,先定義,后使用后使用”我是君子,我是君子,先說了才會先說了才會用啊!用??!強制類型定義強制類型定義嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.3 整型數(shù)據(jù)3.3.1 整型常量的表示方法整型常量即整常數(shù)。(1) 十進(jìn)制整數(shù)。(2) 八進(jìn)制整數(shù)。 (3) 十六進(jìn)制整數(shù)。如如123123表表示十進(jìn)示十進(jìn)制數(shù)制數(shù)123123以以0 0開頭的數(shù)是八進(jìn)開頭的數(shù)是八進(jìn)制數(shù)。如制數(shù)。如01230123表示八表示八進(jìn)制數(shù)進(jìn)制數(shù)123123, -011-011表表示八進(jìn)制數(shù)示八進(jìn)制數(shù)-11-11
11、以以0 x0 x開頭的數(shù)是十開頭的數(shù)是十六進(jìn)制數(shù)。如六進(jìn)制數(shù)。如0 x1230 x123,代表十六進(jìn)制數(shù)代表十六進(jìn)制數(shù)123 123 -0 x12-0 x12等于十進(jìn)制數(shù)等于十進(jìn)制數(shù)-18-18還記得進(jìn)制間如何轉(zhuǎn)換嗎?忘了的趕快找找啊!單片機單片機程序設(shè)程序設(shè)計中經(jīng)計中經(jīng)常用到常用到嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末1.整型數(shù)據(jù)在內(nèi)存中的存放形式數(shù)據(jù)在內(nèi)存中是以數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的。二進(jìn)制形式存放的。每一個整型數(shù)據(jù)每一個整型數(shù)據(jù)包含變量和常量包含變量和常量在內(nèi)存中占在內(nèi)存中占2 2個或個或4 4個字節(jié)。個字節(jié)。(a存放的示意圖 (b實際存放圖10=(1010)2例
12、子:3.3.2 整型變量嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末 在計算機系統(tǒng)中,數(shù)值一律用補碼來表示存儲)。 主要原因:使用補碼,可以將符號位和其它位統(tǒng)一處理;同時,減法也可按加法來處理。另外,兩個用補碼表示的數(shù)相加時,如果最高位符號位有進(jìn)位,則進(jìn)位被舍棄。 補碼補碼(complement) (complement) 一個正數(shù)一個正數(shù)的補碼和的補碼和其原碼的其原碼的形式相同。形式相同。負(fù)數(shù)補碼的求法:負(fù)數(shù)補碼的求法:(1 1寫出該數(shù)的絕對值的二寫出該數(shù)的絕對值的二進(jìn)制形式;進(jìn)制形式;(2 2按位取反;按位取反;(3 3再加再加1 1。原碼又是原碼又是什么呢?什么呢?掌握嘉應(yīng)學(xué)院楊
13、久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末原碼是一種計算機中對數(shù)字的二進(jìn)制定點表示方法。原碼表示法在數(shù)值前面增加了一位符號位即最高位為符號位),該位為0表示正數(shù),該位為1表示負(fù)數(shù),其余位表示數(shù)值的大小。 補充內(nèi)容:原碼補充內(nèi)容:原碼(true form)(true form)小數(shù)原碼的定義 X = X (0X1)=1X (1X0 )例如: X=+0.1011 , X原= 0.1011 X=0.1011 , X原= 1.1011 整數(shù)原碼的定義 X原=X (0X 2n) =2nX(-2nX0例如:+1011原=00001011 -1011原=10001011 理解嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20
14、102010年末年末2. 整型變量的分類 (1) 基本整型int)(2) 短整型short int)(3) 長整型(long int)修飾符:(1)有符號signed)(2)無符號unsigned)有符號基本整型有符號基本整型 signed int signed int 無符號基本整型無符號基本整型 unsigned intunsigned int有符號短整型有符號短整型 signed short intsigned short int無符號短整型無符號短整型 unsigned short intunsigned short int有符號長整型有符號長整型 signed long intsig
15、ned long int無符號長整型無符號長整型 unsigned long intunsigned long int 里的關(guān)鍵字可以省略!嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末如果內(nèi)存中有個數(shù)據(jù)是這如果內(nèi)存中有個數(shù)據(jù)是這樣存儲的,那么它是多少?樣存儲的,那么它是多少?如果是無符如果是無符號數(shù),它是號數(shù),它是6553565535如果是有符如果是有符號數(shù),它是號數(shù),它是-1-1例子例子嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3. 整型變量的定義 int a,b;unsigned short c,d;long e,f;C規(guī)定在程序中所有用到的變量都必須在程序中定義,即“強
16、制類型定義”對變量的定義,一般是放在一個函數(shù)的開頭部分的聲明部分(也可以放在函數(shù)中某一分程序內(nèi),但作用域只限它所在的分程序)。嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末例3.2整型變量的定義與使用。main()int a,b,c,d; /*指定a、b、c、d為整型變量*/ unsigned u; /*指定u為無符號整型變量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf(a+u=%d,b+u=%dn,c,d); 嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 (a=12) 0 0 0
17、0 0 0 0 0 0 0 0 0 1 0 1 0 (u=10) 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 (c=22)嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 ( b=24的補碼) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 (u=10) 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 (d的補碼) 1 1 1 1 1 1 1 1
18、 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 (d的絕對值14)求b=24的補碼a+u=22a+u=22,b+u=-14b+u=-14嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末4. 整型數(shù)據(jù)的溢出在Turbo c中一個int型變量的最大允許值為32767,如果再加1,會出現(xiàn)什么情況?main() int a,b; a=32767; b=a+1; printf(%d,%d,a,b);32767,-3276832767+132767+1不等于不等于3276832768嗎?嗎?嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末 0
19、1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (a=32767) 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (負(fù)數(shù))? 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (b的絕對值,即32768 ) 真值為 - 32768 既然是這樣,那要怎么改才能得到預(yù)期的結(jié)果32768呢?想一想啦!嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.3.3 整型常量的類型(1) 一個整數(shù),如果其值在-32768+32767范圍內(nèi),認(rèn)為它是int型,它可以賦值給int型和long
20、int型變量。(2) 一個整數(shù),如果其值超過了上述范圍,而在-2147483648+2147483647范圍內(nèi),則認(rèn)為它是長整型,可以將它賦值給一個long int型變量。(3)一個整常量后面加一個字母u,認(rèn)為是unsigned int型,如12345u,在內(nèi)存中按unsigned int規(guī)定的方式存放。如果寫成-12345u,則先將-12345轉(zhuǎn)換成其補碼53191,然后按無符號數(shù)存儲。(5) 在一個整常量后面加一個字母l或l,則認(rèn)為是long int型常量。例如123l、432l、0l等。嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.4 浮點型數(shù)據(jù)3.4.1 浮點型常量的表示方法
21、浮點數(shù)(floating-point number)即實數(shù)(real number)。十進(jìn)制小數(shù)形式。它由數(shù)字和小數(shù)點組成指數(shù)形式123e3,123E3.123.123,123.123., 123.0123.0, 0.00.0e3e32.1e3.52.1e3.5, e e注意:字母注意:字母e(e(或或E)E)之前必之前必須有數(shù)字,且須有數(shù)字,且e e后面的指數(shù)必后面的指數(shù)必須為整數(shù)須為整數(shù)嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末“規(guī)范化的指數(shù)形式”: 即在字母e(或E)之前的小數(shù)部分中,小數(shù)點左邊應(yīng)有一位(且只能有一位)非零的數(shù)字。一個實數(shù)在用指數(shù)形式輸出時,是按規(guī)范化的指數(shù)形式
22、輸出的。 知道了!123.456可以表示為123.456e0, 12.3456e1、 1.23456e2、 0.123456e3、 0.0123456e4、 0.00123456e5 無數(shù)種?無數(shù)種?原來原來1.23456e21.23456e2是規(guī)是規(guī)范化的指數(shù)形式。范化的指數(shù)形式。嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.4.2 浮點型變量圖3.7 實數(shù) 3.14159 在內(nèi)存中的存放形式示意1.浮點型數(shù)據(jù)在內(nèi)存中的存放形式一個浮點型數(shù)據(jù)在內(nèi)存中占4個或8個字節(jié)(32位或64位)按照指數(shù)形式存儲的純小數(shù)部分采用規(guī)范化的指數(shù)形式理解理解小數(shù)位數(shù)越多,小數(shù)位數(shù)越多,精度越高精度越高
23、指數(shù)位數(shù)越多,表指數(shù)位數(shù)越多,表示的數(shù)的范圍越大。示的數(shù)的范圍越大。嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末2.浮點型變量的分類C浮點型變量分為三類:單精度(float)雙精度(double)長雙精度型(long double)占占4 4個字節(jié)個字節(jié)3232位)位)占占8 8個字節(jié)個字節(jié)6464位)位)占占1616個字節(jié)個字節(jié)128128位)位)float x,y;double z;long double t;嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.浮點型數(shù)據(jù)的舍入誤差main()float a,b; a = 123456,789e5; b = a + 20 ; p
24、rintf(%f,b); 應(yīng)當(dāng)避免將一個很大的數(shù)和一個很小的數(shù)直接相加或相減,否則就會“喪失小的數(shù)。浮點型用有限的存儲單元存儲,所以提供的有效數(shù)字也就有限,故會產(chǎn)生舍入誤差。12345678848.00000012345678848.000000嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.4.3 浮點型常量的類型f = 2.45678 * 4523.65 雙精度雙精度雙精度雙精度單精度單精度* *取前取前7 7位位提高精度提高精度運算速度降低運算速度降低難道不能就按難道不能就按單精度計算嗎?單精度計算嗎?f = 2.45678 f* 4523.65F嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20
25、102010年末年末3.5 字符型數(shù)據(jù)3.5.1 字符常量1.用單引號(即撇號)括起來的一個字符。如如aa,xx,DD,?,$ $ 。2.以一個“”開頭的字符序列。是 “控制字符”,在屏幕上是不能顯示的如如n,t,b,r,, , , ddd, xhh和和AA相同相同嗎?嗎?不同!不同!嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末例3.5轉(zhuǎn)義字符的使用。ain() printf( ab ct derftgn); printf(htibbj k); fab c gdeh jikf gdef gdeh j kh j k打印打印機機屏幕屏幕白紙黑字白紙黑字空說無憑空說無憑嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院
26、楊久紅20102010年末年末3.5.2 字符變量1.1.字符型變字符型變量用來存放量用來存放字符常量字符常量2.2.只能放一只能放一個字符個字符3.3.一個字符一個字符變量在內(nèi)存變量在內(nèi)存中占一個字中占一個字節(jié)節(jié)字符變量的定義:charc1,c2;字符變量的賦值:c1=a;c2=b;字符變量的定義和賦值: char c1=a,c2=b;嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.5.3 字符數(shù)據(jù)在內(nèi)存中的存儲形式及其使用方法存存儲儲輸輸出出將該字符的相應(yīng)的ASCII代碼放到存儲單元中1.以字符形式輸出2.以以整數(shù)形式輸出示意圖示意圖實際存實際存儲情況儲情況嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊
27、久紅20102010年末年末main()main() char c1char c1,c2;c2; c1=97; c1=97; c2=98; c2=98; printf(%c %cn printf(%c %cn,c1c1,c2);/c2);/* *以字符形式輸出以字符形式輸出* */ / printf(%d %dn printf(%d %dn,c1c1,c2);/c2);/* *轉(zhuǎn)換為整數(shù)形式輸出轉(zhuǎn)換為整數(shù)形式輸出* */ / 例3.6 向字符變量賦以整數(shù)。%c%c表示以表示以字符形式字符形式輸出。輸出。%d%d表示以帶表示以帶符號的十進(jìn)符號的十進(jìn)制整數(shù)形式制整數(shù)形式輸出。輸出。a ba b97
28、 9897 98通用通用嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末例3.7 大小寫字母的轉(zhuǎn)換。main()char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(%c%c,c1,c2); A B掌握掌握嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.5.4 字符串常量a0字符串常量是一對雙引號括起來的字符序列。如如: “CHINA”, ”a”,“how do you do.”,”123.45”“a”“a”= = ? ? “a“a是字符串常是字符串常量量aaaa是字符是字符常量常量a嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年
29、末char c;char c;c=a;c=ac=a;c=“CHINc=“CHINA A 考考你考考你下面下面3 3個賦值語句中哪些是個賦值語句中哪些是對的?為什么?對的?為什么?1.在C語言中沒有專門的字符串變量2.必須使用字符數(shù)組,數(shù)組中每一個元素存放一個字符。 嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.6 變量賦初值1.允許在定義變量的同時使變量初始化2.部分賦初值3.同種類型的可以合并定義int a=3;float f=3.56;char c=a;int a,b,c=5;int a=3,b=3,c=3;int a=b=c=3;?嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年
30、末年末3.7 各類數(shù)值型數(shù)據(jù)間的混合運算圖圖3.103.10轉(zhuǎn)換規(guī)則轉(zhuǎn)換規(guī)則縱向的箭頭表示數(shù)據(jù)轉(zhuǎn)換的方向橫向向左的箭頭表示必定的轉(zhuǎn)換嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末10 + a + i * f - d / e假設(shè)假設(shè)i i是是intint變量,值為變量,值為3 3,f f是是floatfloat變量,值為變量,值為2.02.0,d d是是doubledouble變量,值為變量,值為4.04.0,e e為為longlong型,值為型,值為8 8* *優(yōu)先級高于優(yōu)先級高于+ +算算10+a10+a:把:把aa轉(zhuǎn)換成轉(zhuǎn)換成intint為為9797,再加,再加1010,等于,等于1
31、07107107 + i * f - d / e算算i i* *f:f:把把i i和和f f都轉(zhuǎn)換成都轉(zhuǎn)換成doubledouble,然后相乘得,然后相乘得6.06.0優(yōu)先級相同優(yōu)先級相同 107 + 6.0 - d / e+ +和和- -優(yōu)先級相同優(yōu)先級相同算算107+6.0:107+6.0:把把107107轉(zhuǎn)換成轉(zhuǎn)換成doubledouble,和為,和為113.0113.0/ /優(yōu)先級高于優(yōu)先級高于- -算算d/e:d/e:把把e e轉(zhuǎn)換成轉(zhuǎn)換成doubledouble,商為,商為0.50.5113.0 - d / e113.0 - 0.5把把113.0 113.0 轉(zhuǎn)換成轉(zhuǎn)換成doubl
32、edouble,差為,差為112.5112.5嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.8 算術(shù)運算符和算術(shù)表達(dá)式1 1算術(shù)運算符算術(shù)運算符 (+ - (+ - * * / %) / %)2 2關(guān)系運算符關(guān)系運算符 ( ( = = = = = !=)= = = !=)3 3邏輯運算符邏輯運算符 ( (! & |)& |)4 4位運算符位運算符 ( & |)( & |)5 5賦值運算符賦值運算符 (=(=及其擴展賦值運算符及其擴展賦值運算符) )6 6條件運算符條件運算符 (? (? :) )7 7逗號運算符逗號運算符 ( (,) )8 8指針運算符
33、指針運算符 ( (* *和和&)&)9 9求字節(jié)數(shù)運算符求字節(jié)數(shù)運算符 (s i z e o f)(s i z e o f)1010強制類型轉(zhuǎn)換運算符強制類型轉(zhuǎn)換運算符 ( ( (類型類型) ) )1111分量運算符分量運算符 ( ( -)-)1212下標(biāo)運算符下標(biāo)運算符 ()1313其他其他 ( (如函數(shù)調(diào)用運算符如函數(shù)調(diào)用運算符()()嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.8.2 算術(shù)運算符和算術(shù)表達(dá)式1. 基本的算術(shù)運算符+ +:加法運算符:加法運算符 或正值運算符或正值運算符- -:減法運算符:減法運算符 或負(fù)值運算符或負(fù)值運算符* *:乘法運算符:乘
34、法運算符/ /:除法運算符:除法運算符% %:模運算符:模運算符 或求余運算符或求余運算符如如3+5、+3如如5-2、-3如如3*5如如5/3=1,5/3的結(jié)果可能是的結(jié)果可能是-1,也可能是,也可能是-2大部分是大部分是“向零取向零取整整”如如7%4的值為的值為3% %兩側(cè)兩側(cè)均應(yīng)為均應(yīng)為整型數(shù)整型數(shù)據(jù)據(jù)* *不不能能寫寫成成嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末常量變量函數(shù)2.算術(shù)表達(dá)式和運算符的優(yōu)先級與結(jié)合性+-*/運算符運算符運算對象運算對象用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的、符合c語法規(guī)則的式子.例如:a*b/c-1.5+a優(yōu)先級:優(yōu)先級:1.1.先按
35、運算符的優(yōu)先先按運算符的優(yōu)先級別高低次序執(zhí)行級別高低次序執(zhí)行2.2.如果在一個運算對如果在一個運算對象兩側(cè)的運算符的優(yōu)象兩側(cè)的運算符的優(yōu)先級別相同,則按規(guī)先級別相同,則按規(guī)定的定的“結(jié)合方向結(jié)合方向處處置。置。 結(jié)合性:1.左結(jié)合性:即運算對象先與左面的運算符結(jié)合2.右結(jié)合性:有些運算符的結(jié)合方向為“自右至左”.算術(shù)表達(dá)式算術(shù)表達(dá)式嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末兩種類型轉(zhuǎn)換強制類型轉(zhuǎn)換自動類型轉(zhuǎn)換若x為float型,那么“x%3不合法,必須用:“(int)x%3”如3+6.53.強制類型轉(zhuǎn)換運算符嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末一般形式:(類型名)(表
36、達(dá)式)(int)(x+y)先將x與y相加,然后將他們的和轉(zhuǎn)換成整型表達(dá)式應(yīng)該用括號括起來(int)x+y只將x轉(zhuǎn)換成整型,然后與y相加原來原來是這是這樣!樣!嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末例3.8強制類型轉(zhuǎn)換。main()main() float xfloat x; int iint i; x=3.6x=3.6; i=(int)xi=(int)x; printf(x=%f,i=%d“,x,i);printf(x=%f,i=%d“,x,i); x=3.600000 x=3.600000, i=3i=3在強制類型轉(zhuǎn)換在強制類型轉(zhuǎn)換時,得到一個所時,得到一個所需類型的中間變需類
37、型的中間變量,原來變量的量,原來變量的類型未發(fā)生變化類型未發(fā)生變化嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末4.自增、自減運算符+i+i先使先使i i的值加的值加1 1,然后再使用然后再使用i ii+ i+ 先使用先使用i i,然后,然后再使再使i i的值加的值加1 1自增(減)運算符常用于:1.循環(huán)語句中,使循環(huán)變量自動加1或減1。2.指針變量,使指針指向下一個地址。自增運算自增運算符符+-i-i先使先使i i的值減的值減1 1,然后再使用然后再使用i ii- i- 先使用先使用i i,然后,然后再使再使i i的值減的值減1 1自減運算自減運算符符-嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20
38、102010年末年末i=3;printf(%d,+i);i=3;printf(%d, i +);i=3;j=+i; printf(%d,j);i=3;j= i+; printf(“%d”,j);4 43 33 34 4v自增運算符自增運算符(+)(+)和自減運算符和自減運算符(-(-) ),只能用于變量,只能用于變量,而不能用于常量而不能用于常量或表達(dá)式,或表達(dá)式,v+和和-的優(yōu)先級:的優(yōu)先級:第第2 2級。級。v+和和-的結(jié)合方的結(jié)合方向是向是“自右至自右至左左”。5+(a+b)+不合法不合法嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末3.9 賦值運算符和賦值表達(dá)式 1. 1.賦值運算符賦值運算符賦值運算符就是“=”作用是執(zhí)行一次賦值操作如如a=3a=3+c優(yōu)先級:第14級結(jié)合性:右結(jié)合性嘉應(yīng)學(xué)院楊久紅嘉應(yīng)學(xué)院楊久紅20102010年末年末整整 型型字字 符符 型型無符號無符號有符號有符號字符字符的的8 8位放位放到整到整型變型變量的量的低低8 8位位符符號號擴擴展展高高8 8位位補補零零將低將低8 8位位放到放到字符字符變量變
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 道德與法治七年級上冊8.1 《生命可以永恒嗎》聽課評課記錄
- 湘教版數(shù)學(xué)七年級上冊《3.2 等式的性質(zhì)》聽評課記錄
- 新北師大版數(shù)學(xué)一年級下冊《誰的紅果多》聽評課記錄
- 獨立住宅買賣協(xié)議書(2篇)
- 【2022年新課標(biāo)】部編版七年級上冊道德與法治7.3 讓家更美好 聽課評課記錄
- 魯教版地理六年級下冊8.3《撒哈拉以南非洲》聽課評課記錄1
- 湘教版數(shù)學(xué)七年級下冊《2.1.4多項式的乘法(2)》聽評課記錄2
- 湘教版數(shù)學(xué)八年級下冊《2.3中心對稱》聽評課記錄
- 商務(wù)星球版地理八年級下冊活動課《區(qū)際聯(lián)系對經(jīng)濟發(fā)展的影響》聽課評課記錄
- 蘇科版數(shù)學(xué)八年級下冊11.3《用反比例函數(shù)解決問題》聽評課記錄2
- 手術(shù)安全管理之手術(shù)部位標(biāo)識安全
- 2022年版煤礦安全規(guī)程
- 高質(zhì)量社區(qū)建設(shè)的路徑與探索
- 數(shù)字化時代的酒店員工培訓(xùn):技能升級
- 足球守門員撲救技巧:撲救結(jié)合守護(hù)球門安全
- 《學(xué)術(shù)規(guī)范和論文寫作》課件全套 第1-10章 知:認(rèn)識研究與論文寫作 - 引文規(guī)范
- 帶式輸送機滾筒出廠檢驗規(guī)范
- 起重機更換卷筒施工方案
- 《信息檢索基礎(chǔ)知識》課件
- 具有履行合同所必須的設(shè)備和專業(yè)技術(shù)能力的承諾函-設(shè)備和專業(yè)技術(shù)能力承諾
- 01智慧物流信息技術(shù)概述
評論
0/150
提交評論