C3_常量、變量、表達式(初步)_第1頁
C3_常量、變量、表達式(初步)_第2頁
C3_常量、變量、表達式(初步)_第3頁
C3_常量、變量、表達式(初步)_第4頁
C3_常量、變量、表達式(初步)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、常量、變量、表達式常量、變量、表達式(初步初步)21 1、普通十進制寫法、普通十進制寫法35 35 ,-78 -78 ,24649 24649 等等2 2、十六進制寫法、十六進制寫法( (通常不用負數(shù)通常不用負數(shù)) )0 x8A 0 x8A ,0X35 , 0 xABC 0X35 , 0 xABC ,-0XAA -0XAA 等等3 3、八進制寫法、八進制寫法( (通常不用負數(shù)通常不用負數(shù)) )025 025 ,0123 0123 ,077 077 ,-033 -033 等等C語言程序中的整數(shù)寫法3內(nèi)存中把兩字節(jié)聯(lián)合使用存放整數(shù)內(nèi)存中把兩字節(jié)聯(lián)合使用存放整數(shù)1 1、存放非負整數(shù)、存放非負整數(shù)0

2、0 65535655352 2、存放帶符號數(shù)、存放帶符號數(shù)用最高位作符號位用最高位作符號位-32768 -32768 3276732767補碼補碼內(nèi)存存放整數(shù)01101101 10110011260034定義:常量定義:常量-程序中所寫的數(shù)據(jù)程序中所寫的數(shù)據(jù) 變量變量-數(shù)據(jù)的存儲單元數(shù)據(jù)的存儲單元Q1: :能不能用能不能用1 1個字節(jié)個字節(jié)( (或者或者3 3個字節(jié)、個字節(jié)、4 4個字節(jié)個字節(jié)) )存放整數(shù)?存放整數(shù)?Q2: :變量有什么作用?變量有什么作用?Q3: :如何命令計算機準備一個變量?如何命令計算機準備一個變量?Q4: :如何對變量進行操作?如何對變量進行操作?(見后)(見后)常量

3、與變量5Q3: :如何命令計算機準備一個變量?如何命令計算機準備一個變量?稱為稱為“變量定義變量定義”、“變量聲明變量聲明”變量定義格式變量定義格式A:數(shù)據(jù)類型數(shù)據(jù)類型 變量名;變量名;例:例:int vxint vx; ;含義含義/ /功能:告訴計算機準備一個名為功能:告訴計算機準備一個名為vxvx的變量,的變量,其中可以存放一個其中可以存放一個帶符號帶符號整數(shù)。整數(shù)。變量(variable)61 1、可以用作變量名的符號:字母、數(shù)字、下劃、可以用作變量名的符號:字母、數(shù)字、下劃線線“_”_”;2 2、數(shù)字不能開頭;、數(shù)字不能開頭;3 3、長度有一定限制(根據(jù)不同的系統(tǒng)而定);、長度有一定限

4、制(根據(jù)不同的系統(tǒng)而定);4 4、大寫字母和小寫字母是不同的符號,、大寫字母和小寫字母是不同的符號,“A12”A12”和和“a12”a12”是不同的兩個名字;是不同的兩個名字;5 5、“保留字保留字( (見下頁見下頁) )”不能用作變量名。不能用作變量名。簡化后的規(guī)定:簡化后的規(guī)定:“字母開頭的字母數(shù)字串字母開頭的字母數(shù)字串”。變量名取名規(guī)定71 1、變量是存放數(shù)據(jù)的、變量是存放數(shù)據(jù)的“容器容器”,該,該“容器容器”的大小的大?。ㄕ紦?jù)字節(jié)數(shù))和其中如何存放數(shù)據(jù)由定義變量時(占據(jù)字節(jié)數(shù))和其中如何存放數(shù)據(jù)由定義變量時的的“數(shù)據(jù)類型數(shù)據(jù)類型”部分說明;部分說明;2 2、用格式、用格式A A定義變量

5、僅僅是通知計算機準備定義變量僅僅是通知計算機準備“容器容器”,而沒有說明而沒有說明“容器容器”中是否存放內(nèi)容,對此計算機中是否存放內(nèi)容,對此計算機按兩種情況處理,情況之一是保持該按兩種情況處理,情況之一是保持該“容器容器”中原中原有的內(nèi)容不變,情況之二是在其中填有的內(nèi)容不變,情況之二是在其中填0 0;3 3、格式、格式A A中的中的“intint”表示表示“整數(shù)類型整數(shù)類型”,說明變量中,說明變量中可以存放整數(shù)??梢源娣耪麛?shù)?!癷ntint”是是C C語言中有特定含義的符語言中有特定含義的符號,稱為號,稱為“保留字保留字”?!癷ntint”是是“signed intsigned int”的簡寫

6、。的簡寫。關(guān)于變量定義的說明8數(shù)據(jù)類型數(shù)據(jù)類型-某個數(shù)據(jù)集合中各元素的共有特征。某個數(shù)據(jù)集合中各元素的共有特征。例如:例如:TC2.0/TC3.0對于對于 int有如下規(guī)定:有如下規(guī)定:1、-32768+32767之間的整數(shù);之間的整數(shù);2、在計算機中用連續(xù)兩個字節(jié)存放;、在計算機中用連續(xù)兩個字節(jié)存放;3、能夠進行加、減、乘、除、比較等運算。、能夠進行加、減、乘、除、比較等運算。因此,對因此,對“Q1: :能不能用能不能用1 1個字節(jié)個字節(jié)( (或者或者3 3個字節(jié)、個字節(jié)、4 4個字個字節(jié)節(jié)) )存放整數(shù)?存放整數(shù)?”,結(jié)論是由各語言環(huán)境對,結(jié)論是由各語言環(huán)境對intint類類型的規(guī)定而決定

7、。型的規(guī)定而決定。Q5:TC:TC中還有哪些數(shù)據(jù)類型?(以后逐個說明中還有哪些數(shù)據(jù)類型?(以后逐個說明)什么是數(shù)據(jù)類型9如果某類問題中不涉及負數(shù),可以考慮把一個如果某類問題中不涉及負數(shù),可以考慮把一個1616位二進位二進制制“容器容器”的最高位也用于表示數(shù)值,即無符號整的最高位也用于表示數(shù)值,即無符號整數(shù)。數(shù)。C C語言對應的保留字是語言對應的保留字是“unsigned intunsigned int”。例如:例如: unsigned int va; ;如果某類問題中需要使用比較大的整數(shù),超過了如果某類問題中需要使用比較大的整數(shù),超過了“intint”類型的表示范圍,則可以考慮使用類型的表示范

8、圍,則可以考慮使用“更大的容器更大的容器”,即長整數(shù),即長整數(shù),C C語言對應的保留字是語言對應的保留字是“l(fā)ong intlong int”。在。在TCTC環(huán)境下,計算機用連續(xù)環(huán)境下,計算機用連續(xù)4 4個字節(jié)存放這種數(shù)據(jù)。個字節(jié)存放這種數(shù)據(jù)。long intlong int數(shù)據(jù)的范圍是:數(shù)據(jù)的范圍是:-2147483648 -2147483648 21474836472147483647例如:例如: long int vb; ;無符號整數(shù)和長整數(shù)10用于存放實數(shù)的容器是實型變量。用于存放實數(shù)的容器是實型變量。C C語言中表示語言中表示“實數(shù)實數(shù)類型類型”的保留字是的保留字是“floatflo

9、at”。例如,定義一個實型。例如,定義一個實型變量變量vzvz寫作:寫作:float vz ;計算機用連續(xù)計算機用連續(xù)4 4個字節(jié)存放個字節(jié)存放“floatfloat”類型的數(shù)據(jù),能夠類型的數(shù)據(jù),能夠存放約存放約-10-10383810103838的數(shù)據(jù),支持的數(shù)據(jù),支持6 67 7個有效數(shù)字。個有效數(shù)字。C C語言還提供了一種能夠存放更大范圍、更多有效數(shù)字語言還提供了一種能夠存放更大范圍、更多有效數(shù)字的實數(shù)類型的實數(shù)類型-“-“doubledouble”,計算機用連續(xù),計算機用連續(xù)8 8個字節(jié)個字節(jié)存放存放“doubledouble”類型的數(shù)據(jù),支持類型的數(shù)據(jù),支持14141515個有效數(shù)個

10、有效數(shù)字。字。實 數(shù)11實型數(shù)據(jù)除了用日常的小數(shù)形式表示之外,還有一種指實型數(shù)據(jù)除了用日常的小數(shù)形式表示之外,還有一種指數(shù)形式。比如數(shù)形式。比如1 1光年大約是光年大約是9.469.4610101515米,一個氫原米,一個氫原子的質(zhì)量是子的質(zhì)量是1.6731.6731010-24-24克,其中的數(shù)據(jù)在克,其中的數(shù)據(jù)在C C語言中語言中分別寫作:分別寫作:9.46e159.46e15和和1.673E-241.673E-24即即a a1010b b在在C C語言中寫作語言中寫作aEbaEb。1 1、“E”E”可以大寫也可以小寫;可以大寫也可以小寫;2 2、a a可以是正數(shù)也可以是負數(shù),可以是小數(shù)形

11、式;可以是正數(shù)也可以是負數(shù),可以是小數(shù)形式;3 3、b b可以是正數(shù)也可以是負數(shù),但必須是整數(shù)??梢允钦龜?shù)也可以是負數(shù),但必須是整數(shù)。實數(shù)的指數(shù)形式12定義多個變量在程序中需要使用多個變量時可以多次使用格式在程序中需要使用多個變量時可以多次使用格式A A,例如:,例如: double vadouble va; double vbdouble vb; ; double vc double vc; ;如果定義多個同類型的變量,可以使用如果定義多個同類型的變量,可以使用 變量定義格式變量定義格式B B:數(shù)據(jù)類型數(shù)據(jù)類型 變量名變量名1 1,變量名,變量名2 2,變量名,變量名n n;例如上面定義三個

12、變量的寫法可以寫作例如上面定義三個變量的寫法可以寫作:double va,vb,vcdouble va,vb,vc; ;13變量的初值定義變量就是準備定義變量就是準備“容器容器”。在準備。在準備“容器容器”的同時可以命的同時可以命令計算機把一個數(shù)據(jù)存放在令計算機把一個數(shù)據(jù)存放在“容器容器”當中作為變量的初值。當中作為變量的初值。這時需要使用這時需要使用變量定義格式變量定義格式C C:數(shù)據(jù)類型數(shù)據(jù)類型 變量名變量名 = = 初值初值;例如例如:double pi=3.14159;double pi=3.14159;定義變量的三種格式還可以混合使用,例如定義變量的三種格式還可以混合使用,例如:do

13、uble vx,pi=3.14159,vy,e=2.71828;double vx,pi=3.14159,vy,e=2.71828;14關(guān)于變量初值的規(guī)定在在TC2.0/TC3.0中,定義變量的初值必須是中,定義變量的初值必須是常量常量或常量構(gòu)成的計算式或常量構(gòu)成的計算式。例如例如 :int va=1 ; double vb=3.14*4 ; 以下是錯誤的寫法:以下是錯誤的寫法:double va=1.9 , vb=va*3.14;(注意:在高版本的注意:在高版本的C語言系統(tǒng),如語言系統(tǒng),如VC,已經(jīng)取,已經(jīng)取消了消了“初值必須是常量初值必須是常量”的限制。的限制。)15變量定義與內(nèi)存分配對于

14、變量定義,計算機相應地會安排一個或幾個字節(jié)的內(nèi)存對于變量定義,計算機相應地會安排一個或幾個字節(jié)的內(nèi)存分配給該變量使用。分配給該變量使用。例如例如 :int va=1 , vb ; float vx=3.14 ;1、每個程序在運行時有相應的內(nèi)存、每個程序在運行時有相應的內(nèi)存區(qū)域;區(qū)域;2、初始狀態(tài)下內(nèi)存區(qū)域的數(shù)據(jù)區(qū)中、初始狀態(tài)下內(nèi)存區(qū)域的數(shù)據(jù)區(qū)中并沒有安排變量,這時數(shù)據(jù)區(qū)各個并沒有安排變量,這時數(shù)據(jù)區(qū)各個字節(jié)中的數(shù)據(jù)是計算機隨意安排的;字節(jié)中的數(shù)據(jù)是計算機隨意安排的;3、對于每個變量定義,計算機在數(shù)、對于每個變量定義,計算機在數(shù)據(jù)區(qū)中依次分配對應的內(nèi)存單元。據(jù)區(qū)中依次分配對應的內(nèi)存單元。程序可用

15、的的內(nèi)存區(qū)域程序可用的的內(nèi)存區(qū)域 va1vbvx3.1416對于問題對于問題“Q2: :變量有什么作用?變量有什么作用?”和和“Q4: :如何對如何對變量進行操作?變量進行操作?”:Q2:真正實用的程序需要使用和處理的數(shù)據(jù)很:真正實用的程序需要使用和處理的數(shù)據(jù)很多。因而需要定義一些變量,用于多。因而需要定義一些變量,用于臨時臨時存儲存儲數(shù)據(jù),以供在需要的時候取出使用。數(shù)據(jù),以供在需要的時候取出使用。Q4: 賦值賦值-把數(shù)據(jù)送入變量中保存把數(shù)據(jù)送入變量中保存取值取值-從變量中取出數(shù)據(jù)從變量中取出數(shù)據(jù)使用變量17對變量賦值是對變量賦值是C C語言最基本的命令之一。語言最基本的命令之一。賦值語句格式

16、:賦值語句格式:變量名變量名 = = 表達式表達式 ;含義含義/ /功能:功能:把表達式(即計算式,把表達式(即計算式,一定有計算結(jié)果一定有計算結(jié)果)的)的計算結(jié)果送到變量所對應的內(nèi)存中(簡述計算結(jié)果送到變量所對應的內(nèi)存中(簡述“送到變量送到變量中中”)。)。例如:例如:int va;va = 27*4-56 ;賦 值181 1、語句、語句-C-C語言中一條完整的命令稱為一條語句;語言中一條完整的命令稱為一條語句;2 2、賦值語句是、賦值語句是C C語言中最常用的語句;語言中最常用的語句;3 3、賦值號、賦值號“=”=”具有方向性,把右邊的數(shù)據(jù)送到具有方向性,把右邊的數(shù)據(jù)送到左邊指定的存儲單元

17、,因此左右不可交換位置;左邊指定的存儲單元,因此左右不可交換位置;4 4、不是方程。方程中的、不是方程。方程中的“=”=”表示左右相等,不表示左右相等,不具有方向性,因此方程左右兩邊可以交換位置。具有方向性,因此方程左右兩邊可以交換位置。5 5、賦值語句中所使用的變量必須是已經(jīng)定義的變、賦值語句中所使用的變量必須是已經(jīng)定義的變量,即量,即“先定義后使用先定義后使用”;6 6、對變量再次賦值時,、對變量再次賦值時,“以新代舊以新代舊”原則。原則。賦值語句19程序中任何需要使用數(shù)據(jù)的地方如果不直接寫數(shù)據(jù),程序中任何需要使用數(shù)據(jù)的地方如果不直接寫數(shù)據(jù),而是寫變量名,則是從指定變量中取出數(shù)據(jù)。而是寫變

18、量名,則是從指定變量中取出數(shù)據(jù)。對變量的任何使用都必須遵守對變量的任何使用都必須遵守“先定義后使用先定義后使用”的的基本原則?;驹瓌t。例如,有如下一組操作:例如,有如下一組操作:int a = 12 , b = 7 , t ;double x , y ;t = a + b 2 ;x = a + 1 ;y = x / 4.0 ;內(nèi)存圖、操作過程。內(nèi)存圖、操作過程。從變量中取值20關(guān)于整數(shù)的運算符及運算規(guī)則:關(guān)于整數(shù)的運算符及運算規(guī)則:+-*/%關(guān)于實數(shù)的運算符:關(guān)于實數(shù)的運算符:+-*/運算符運算符優(yōu)先級優(yōu)先級-通俗地說,通俗地說,“先乘除后加減先乘除后加減”改變運算次序的方法改變運算次序的方

19、法- - ( )數(shù)據(jù)的基本運算示例:示例:int a = 6 , b = 4 , c , d ;c = a + b / 3 ;d = ( a + b ) / 3 ;d = d + 2 ;執(zhí)行了三條賦值語句之后,變量執(zhí)行了三條賦值語句之后,變量c c、d d的值各是多少?的值各是多少?同類型數(shù)據(jù)運算同類型數(shù)據(jù)運算21u 運算符兩邊的數(shù)據(jù)類型不同時,運算符兩邊的數(shù)據(jù)類型不同時,“以短就長以短就長”;u 賦值號左邊的變量類型對應字節(jié)數(shù)多,而右邊賦值號左邊的變量類型對應字節(jié)數(shù)多,而右邊表達式計算結(jié)果對應字節(jié)數(shù)少,則把計算結(jié)果表達式計算結(jié)果對應字節(jié)數(shù)少,則把計算結(jié)果進行等值轉(zhuǎn)換后再送到變量中;進行等值轉(zhuǎn)

20、換后再送到變量中;u 賦值號左邊的變量類型對應字節(jié)數(shù)少,而右邊賦值號左邊的變量類型對應字節(jié)數(shù)少,而右邊表達式計算結(jié)果對應字節(jié)數(shù)多,采取表達式計算結(jié)果對應字節(jié)數(shù)多,采取“截斷截斷”處理方式。處理方式。計算和賦值時的自動類型轉(zhuǎn)換示例:示例:int a = 8 , b = 4 , t , k ;double x ;x = a / 5.0 ;t = x * 7 / 5 + b % 3 ;k = 7 / 5 * x + b % 3 ;22u 格式格式: :( (類型類型) ) 數(shù)據(jù)數(shù)據(jù)u 功能功能: :把數(shù)據(jù)轉(zhuǎn)換成指定的類型把數(shù)據(jù)轉(zhuǎn)換成指定的類型u 說明說明: : 兩種轉(zhuǎn)換情況兩種轉(zhuǎn)換情況: : 長長短

21、短 、 短短長長 強制轉(zhuǎn)換是運算符強制轉(zhuǎn)換是運算符, , 在第在第2 2優(yōu)先級優(yōu)先級強制類型轉(zhuǎn)換示例:示例:int a = 8 , b ;double x , y ;x = (double) a / 5 ;y = (double) (a / 5) ;b = (int) x + y ;23對于一些固定的計算模式,如開方、求絕對值等,對于一些固定的計算模式,如開方、求絕對值等,C C語言語言系統(tǒng)中提供了一系列工具。常用的有:系統(tǒng)中提供了一系列工具。常用的有:數(shù)學函數(shù)-數(shù)學計算類工具示例:示例:x = fabs(sqrt(a) exp(2.8) ) + pow(4.53 , 1.8 ) ;數(shù)學函數(shù)數(shù)學函數(shù)功 能功 能int abs(int x)求x的絕對值求x的絕對值double fabs(double x)求x的絕對值求x的絕對值double

溫馨提示

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

評論

0/150

提交評論