基本數(shù)據(jù)類型操作符和表達式_第1頁
基本數(shù)據(jù)類型操作符和表達式_第2頁
基本數(shù)據(jù)類型操作符和表達式_第3頁
基本數(shù)據(jù)類型操作符和表達式_第4頁
基本數(shù)據(jù)類型操作符和表達式_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基本數(shù)據(jù)類型操作符和表達式第1頁,課件共85頁,創(chuàng)作于2023年2月

計算機處理的基本對象是數(shù)據(jù)。變量和常量則是程序的最基本的數(shù)據(jù)形式,將它們用操作符(也稱為運算符)連接起來,便構(gòu)成了表達式。本章介紹C語言中關(guān)于變量、常量、操作符和表達式的語法規(guī)則。這些語法規(guī)則是C語言的基本要素。第2頁,課件共85頁,創(chuàng)作于2023年2月

數(shù)據(jù)類型2.1整型數(shù)據(jù)2.2實型數(shù)據(jù)2.3字符型數(shù)據(jù)與字符串2.4第3頁,課件共85頁,創(chuàng)作于2023年2月

變量說明與初始化2.5運算符和表達式2.6小結(jié)2.7第4頁,課件共85頁,創(chuàng)作于2023年2月2.1數(shù)據(jù)類型

在C語言中,數(shù)據(jù)的類型分為基本數(shù)據(jù)類型、構(gòu)造類型、指針類型和空值類型。對于每一種數(shù)據(jù)類型的數(shù)據(jù),又可分成幾種不同類型,如圖2-1所示。第5頁,課件共85頁,創(chuàng)作于2023年2月

圖2-1C語言的數(shù)據(jù)類型第6頁,課件共85頁,創(chuàng)作于2023年2月

通常將整型和實型統(tǒng)稱為數(shù)值型。構(gòu)造類型是由若干數(shù)據(jù)類型組合在一起構(gòu)造成的復(fù)雜數(shù)據(jù)類型。指針類型可以表示數(shù)據(jù)的存儲地址??罩殿愋捅硎緵]有數(shù)據(jù)值。第7頁,課件共85頁,創(chuàng)作于2023年2月

各種類型數(shù)據(jù)又可分為常量和變量。常量是程序運行中其值不能改變的數(shù)據(jù)。每個變量有自己的名字,叫變量名,變量用來存儲在程序運行中其值可以發(fā)生變化的數(shù)據(jù),一般用于存儲原始數(shù)據(jù)、中間計算結(jié)果和最終計算結(jié)果等。第8頁,課件共85頁,創(chuàng)作于2023年2月2.2整型數(shù)據(jù)

2.2.1整型常量在C語言中使用以下3種不同進位制的整型常量。第9頁,課件共85頁,創(chuàng)作于2023年2月

(1)十進制數(shù):例如,13,?15,0等。(2)

八進制數(shù):八進制數(shù)的書寫方法是在數(shù)字前加一個數(shù)字0,例如,015,?013,017,00等。(3)十六進制數(shù):十六進制數(shù)的書寫方法是在數(shù)字前加一個0x,例如,0x0,?0x15,0xaf等。第10頁,課件共85頁,創(chuàng)作于2023年2月

為了擴大整型數(shù)據(jù)的取值范圍,C語言還提供了一種長整型常量。長整型常量在計算機中占用4個字節(jié),相應(yīng)的取值范圍擴大到?2147483648~+2147483647。第11頁,課件共85頁,創(chuàng)作于2023年2月

2.2.2整型變量整型變量在計算機內(nèi)存中占兩個字節(jié)(即16bit),取值范圍為從?32768~+32767(?215~215?1)。用以說明整型變量的關(guān)鍵字(也稱為數(shù)據(jù)類型符)為int。第12頁,課件共85頁,創(chuàng)作于2023年2月

定義變量數(shù)據(jù)類型語句的一般格式為:數(shù)據(jù)類型符變量名1,變量名2,…C語言規(guī)定,每個變量在使用前,都必須先定義。第13頁,課件共85頁,創(chuàng)作于2023年2月

在關(guān)鍵字int前加上修飾符,可改變整型變量在內(nèi)存所占位數(shù)和取值范圍。第14頁,課件共85頁,創(chuàng)作于2023年2月

下列4種修飾符可以用來修飾整型變量:(1)signed 帶符號的整型變量;(2)unsigned 無符號的整型變量;(3)long 長型整型變量;(4)short 短型整型變量。第15頁,課件共85頁,創(chuàng)作于2023年2月

在表2-1中列出了用這些修飾符修飾整型變量后,整型變量在計算機內(nèi)存中所占位數(shù)和取值范圍。第16頁,課件共85頁,創(chuàng)作于2023年2月

第17頁,課件共85頁,創(chuàng)作于2023年2月2.3實型數(shù)據(jù)

實型數(shù)據(jù)也稱做浮點數(shù),是一種帶小數(shù)點的數(shù)。第18頁,課件共85頁,創(chuàng)作于2023年2月

2.3.1實型常量實型常量就是帶小數(shù)點的10進制常數(shù)。在C語言中實型數(shù)據(jù)有兩種表達(書寫)方式:一種是用數(shù)字和小數(shù)點表示的,另一種是用指數(shù)方式表示的。第19頁,課件共85頁,創(chuàng)作于2023年2月

實型常量在計算機內(nèi)存中一般占用4個字節(jié),其數(shù)值取值范圍是10?38~1038。有效數(shù)字是7位。第20頁,課件共85頁,創(chuàng)作于2023年2月

當(dāng)一個實型常量的數(shù)值超過了它能表達的精度時,C語言可以自動將其精度擴大到15~16位(雙精度)的有效數(shù)字。第21頁,課件共85頁,創(chuàng)作于2023年2月

2.3.2實型變量實型變量用來存儲實型數(shù)據(jù)。實型變量分為如下兩種。第22頁,課件共85頁,創(chuàng)作于2023年2月

(1)單精度實型變量或簡稱實型變量或浮點型變量,其類型標(biāo)識符為float。(2)雙精度實型變量或稱雙精度浮點型變量,其類型標(biāo)識符為double。在表2-2中列出了以上兩種實型變量在計算機內(nèi)存中的所占位數(shù)和取值范圍。第23頁,課件共85頁,創(chuàng)作于2023年2月

第24頁,課件共85頁,創(chuàng)作于2023年2月2.4字符型數(shù)據(jù)與字符串

2.4.1字符型常量

C語言的字符型常量是用單引號括起來的單個字符,如‘a(chǎn)’,‘B’,‘*’等都是字符型常量。第25頁,課件共85頁,創(chuàng)作于2023年2月

字符型常量在計算機內(nèi)存中是用相應(yīng)字符的ASCII存儲的,占用一個字節(jié)的空間。第26頁,課件共85頁,創(chuàng)作于2023年2月

在C語言中字母是區(qū)分大小寫的,所以,‘a(chǎn)’和‘A’是不同的字符型常量,由ASCII代碼表可以知道,字符型常量‘a(chǎn)’存儲的是十進制數(shù)97,而字符型常量‘A’存儲的十進制數(shù)65。第27頁,課件共85頁,創(chuàng)作于2023年2月

因為在整型數(shù)與字符常量存在著這種對應(yīng)關(guān)系,在C語言中字符型常量可以作為整型數(shù)來使用,整型數(shù)據(jù)(如果在ASCII范圍內(nèi)的話)也可以作為字符型數(shù)據(jù)來使用。第28頁,課件共85頁,創(chuàng)作于2023年2月

在C語言中支持一類特殊字符,它們以反斜杠“\”開頭,稱為反斜杠字符常量,或稱轉(zhuǎn)義字符。轉(zhuǎn)義字符是將斜杠后面字符的含義轉(zhuǎn)變?yōu)榱硪环N意義了。第29頁,課件共85頁,創(chuàng)作于2023年2月

2.4.2字符型變量字符型變量是C語言的一種數(shù)據(jù)類型,用關(guān)鍵字(類型符)char說明,用于存儲字符常量或數(shù)值。第30頁,課件共85頁,創(chuàng)作于2023年2月

字符型變量可以用變量修飾符signed和unsigned來修飾。表2-3列出了字符型變量在計算機內(nèi)存中所占的位數(shù)和取值范圍。類型符char和signedchar在意義上是沒有區(qū)別的。第31頁,課件共85頁,創(chuàng)作于2023年2月

第32頁,課件共85頁,創(chuàng)作于2023年2月

一個字符型變量只能存儲1個字符,它是以該字符的ASCII值存儲的,并占一個字節(jié)的寬度。字符型變量和整型數(shù)變量之間可以相互通用。第33頁,課件共85頁,創(chuàng)作于2023年2月

2.4.3字符串常量字符串常量簡稱字符串。字符串不是一種數(shù)據(jù)類型,它是用雙引號擴起來的一串字符。第34頁,課件共85頁,創(chuàng)作于2023年2月

字符串中的字母是區(qū)分大小寫的。組成字符串的字符個數(shù),叫做字符串長度。如果字符串中含有轉(zhuǎn)義字符,則每個轉(zhuǎn)義字符當(dāng)作一個字符看待。第35頁,課件共85頁,創(chuàng)作于2023年2月

每個字符在內(nèi)存占一個字節(jié)的空間。但每個字符串在內(nèi)存中占用的實際字節(jié)數(shù)等于字符串的長度加1。第36頁,課件共85頁,創(chuàng)作于2023年2月

字符串常量與字符常量在書寫格式上的區(qū)別就在于,字符常量是用單引號括起來的,而字符串常量是用是雙引號括起來的。第37頁,課件共85頁,創(chuàng)作于2023年2月2.5變量說明與初始化

2.5.1變量說明(定義)在C語言中,變量是用變量名來表示的,變量名為一合法的C標(biāo)識符。第38頁,課件共85頁,創(chuàng)作于2023年2月

在C程序中,變量在引用前,必須先進行說明,說明變量的屬性,包括變量的名字和數(shù)據(jù)類型。變量說明也稱為變量定義。第39頁,課件共85頁,創(chuàng)作于2023年2月

C語言的編譯系統(tǒng)將根據(jù)變量說明,給變量分配相應(yīng)的存儲空間。變量說明語句的一般格式是:數(shù)據(jù)類型變量名列表;第40頁,課件共85頁,創(chuàng)作于2023年2月

其中,“數(shù)據(jù)類型”為前面介紹的C語言數(shù)據(jù)類型符(見表2-1、表2-2和表2-3),也可以是以后介紹的其他數(shù)據(jù)類型符?!白兞棵斜怼笔撬f明的一些同類型的變量名,變量名之間要用逗號分開。說明語句以分號結(jié)束。第41頁,課件共85頁,創(chuàng)作于2023年2月

2.5.2變量的初始化在對變量進行定義的同時給變量賦值稱為變量的初始化。變量初始化的一般格式如下:變量類型變量名1=常量1,變量名2=常量2,…第42頁,課件共85頁,創(chuàng)作于2023年2月

變量的初始化是在程序運行到該變量所在的函數(shù)時進行的。如果定義變量時沒有初始化,可以在以后用賦值語句給變量賦值。第43頁,課件共85頁,創(chuàng)作于2023年2月

一般情況下,如果變量在程序中沒有初始化,則在賦值之前,它的值是不確定的,因此,程序中在引用某變量之前,該變量應(yīng)該初始化或賦值。以后還會介紹在某些情況下,沒有初始化的變量的初始值可以是確定的。第44頁,課件共85頁,創(chuàng)作于2023年2月2.6運算符和表達式

2.6.1運算符運算符也稱操作符,是一種表示對數(shù)據(jù)進行何種運算處理的符號。編譯器通過識別這些運算符,完成各種算術(shù)運算和邏輯運算。第45頁,課件共85頁,創(chuàng)作于2023年2月

運算的對象(數(shù)據(jù))稱為操作數(shù)。每個運算符代表某種運算功能,每種運算功能有自己的運算規(guī)則,如運算的優(yōu)先級、結(jié)合性、運算對象類型和個數(shù),以及運算結(jié)果的數(shù)據(jù)類型都有明確的規(guī)定。第46頁,課件共85頁,創(chuàng)作于2023年2月

C語言的基本運算符有以下幾大類:算術(shù)運算符;邏輯運算符;關(guān)系運算符;位運算符;第47頁,課件共85頁,創(chuàng)作于2023年2月

賦值運算符;條件運算符;逗號運算符;數(shù)據(jù)長度運算符。第48頁,課件共85頁,創(chuàng)作于2023年2月

除了這些基本運算符外,還有一些專門用途的運算符,如:指針運算符;改變優(yōu)先級運算符;成員運算符;下標(biāo)運算符;其他。第49頁,課件共85頁,創(chuàng)作于2023年2月

2.6.2表達式用運算符把運算對象連接起來所組成的運算式,在C語言中叫做表達式。按照規(guī)定的運算規(guī)則,對表達式進行運算所得到的結(jié)果,稱為表達式的值。第50頁,課件共85頁,創(chuàng)作于2023年2月

在C語言中,就是用圓括號來提高運算順序的。在C語言中,括號也看作是運算符(提高運算符運算優(yōu)先級),而且它的優(yōu)先級別最高。第51頁,課件共85頁,創(chuàng)作于2023年2月

對優(yōu)先級相同的運算符,C語言還規(guī)定了結(jié)合性。若是按自左向右的順序進行運算,則結(jié)合性稱為自左向右的;若是按自右向左的順序進行運算,則結(jié)合性稱為自右向左的。第52頁,課件共85頁,創(chuàng)作于2023年2月

表2-4列出了C語言的各種運算符、名稱、優(yōu)先級和結(jié)合性。第53頁,課件共85頁,創(chuàng)作于2023年2月

表達式描述數(shù)據(jù)的加工過程。在書寫表達式時,不僅要正確理解所使用的每個運算符的功能,還要正確掌握運算符的優(yōu)先級和結(jié)合性。第54頁,課件共85頁,創(chuàng)作于2023年2月

利用圓括號,可以像一般數(shù)學(xué)計算那樣,可以任意地改變表達式的運算順序。第55頁,課件共85頁,創(chuàng)作于2023年2月

表達式值的數(shù)據(jù)類型,因運算對象的不同而不同。歸納起來可分為整型、實型和邏輯型。第56頁,課件共85頁,創(chuàng)作于2023年2月

邏輯型數(shù)據(jù)是只有兩個可能值的數(shù)據(jù),這兩個值是:真和假。在C語言中,“真”用數(shù)字1表示,“假”用數(shù)字0表示。因此,邏輯值也可以按整型數(shù)看待。第57頁,課件共85頁,創(chuàng)作于2023年2月

第58頁,課件共85頁,創(chuàng)作于2023年2月

第59頁,課件共85頁,創(chuàng)作于2023年2月

第60頁,課件共85頁,創(chuàng)作于2023年2月

第61頁,課件共85頁,創(chuàng)作于2023年2月

從構(gòu)成表達式的運算符來看,可以把表達式分成以下幾種。(1)算術(shù)表達式:由算術(shù)運算符連接數(shù)值型運算對象構(gòu)成的表達式為算術(shù)表達式,計算的結(jié)果仍為數(shù)值型。第62頁,課件共85頁,創(chuàng)作于2023年2月

(2)關(guān)系表達式:由關(guān)系運算符連接表達式構(gòu)成的表達式關(guān)系表達式,關(guān)系表達式的運算的結(jié)果為邏輯值。關(guān)系表達式的一般形式為:表達式1關(guān)系運算符表達式2第63頁,課件共85頁,創(chuàng)作于2023年2月

(3)邏輯表達式:由邏輯運算符連接表達式構(gòu)成的表達式為邏輯表達式,邏輯表達式的運算結(jié)果為邏輯值。邏輯表達式的一般形式為:表達式1邏輯運算符表達式2

邏輯運算符表達式第64頁,課件共85頁,創(chuàng)作于2023年2月

(4)條件表達式:由條件運算符連接表達式構(gòu)成的表達式,其一般形式為:表達式1?表達式2:表達式3第65頁,課件共85頁,創(chuàng)作于2023年2月

(5)賦值表達式:由賦值運算符或自反賦值運算符號“=”連接表達式構(gòu)成的表達式稱為賦值表達式。其一般形式為:變量賦值運算符表達式變量自反賦值運算符表達式第66頁,課件共85頁,創(chuàng)作于2023年2月

賦值表達式的運算功能是將賦值運算符右邊表達式的值賦給賦值運算符左邊的變量。第67頁,課件共85頁,創(chuàng)作于2023年2月

(6)逗號表達式:由逗號運算符連接表達式構(gòu)成的表達式稱為逗號表達式,其一般形式為:表達式1,表達式2,表達式3,…第68頁,課件共85頁,創(chuàng)作于2023年2月

2.6.3表達式中數(shù)據(jù)類型的轉(zhuǎn)換

C語言規(guī)定了如下的數(shù)據(jù)類型的轉(zhuǎn)換原則。第69頁,課件共85頁,創(chuàng)作于2023年2月

(1)數(shù)據(jù)類型自動轉(zhuǎn)換原則表達式中參加運算的各個運算對象,先轉(zhuǎn)換成其中數(shù)據(jù)長度最長的數(shù)據(jù)類型,然后再計算。計算結(jié)果的數(shù)據(jù)類型就是其中數(shù)據(jù)長度最長的那個數(shù)據(jù)的數(shù)據(jù)類型。第70頁,課件共85頁,創(chuàng)作于2023年2月

字符型數(shù)據(jù)參加運算時,要轉(zhuǎn)換為整型(int)或長度更大的其他數(shù)據(jù)類型,這取決于與字符型數(shù)據(jù)一起參加的運算對象的數(shù)據(jù)類型。第71頁,課件共85頁,創(chuàng)作于2023年2月

圖2-3所示的例子說明了上述的類型轉(zhuǎn)換原則。其中有:charch;inti;floatf;doubled;第72頁,課件共85頁,創(chuàng)作于2023年2月

圖2-3數(shù)據(jù)類型轉(zhuǎn)換第73頁,課件共85頁,創(chuàng)作于2023年2月

(2)強制性數(shù)據(jù)類型轉(zhuǎn)換在表達式中,可以根據(jù)需要,把其中任意一個數(shù)據(jù)的類型轉(zhuǎn)換為另一個數(shù)據(jù)類型,稱為數(shù)據(jù)類型的強制轉(zhuǎn)換。強制數(shù)據(jù)類型轉(zhuǎn)換的一般格式是:(數(shù)據(jù)類型)表達式第74頁,課件共85頁,創(chuàng)作于2023年2月

(3)運算結(jié)果存入變量時的數(shù)據(jù)類型自動轉(zhuǎn)換如果表達式的運算結(jié)果的數(shù)據(jù)類型與要存入的變量類型不一致,則將運算結(jié)果的數(shù)據(jù)自動轉(zhuǎn)換成要賦予的變量的數(shù)據(jù)類型。第75頁,課件共85頁,創(chuàng)作于2023年2月

關(guān)于數(shù)據(jù)類型轉(zhuǎn)換有一點要注意,表達式計算過程中,數(shù)據(jù)類型的轉(zhuǎn)換是暫時的,只是為了用于當(dāng)前計算,原來類型的值并未改變或丟失。第76頁,課件共85頁,創(chuàng)作于2023年2月小結(jié)

本章討論了C語言的基本數(shù)據(jù)類型,常量、變量及變量初始化,操作符和表達式等基本語法問題。通過本章的學(xué)習(xí),要掌握以下問題。第77頁,課件共85頁,創(chuàng)作于2023年2月

1.基本數(shù)據(jù)類型

C語言有4種基本數(shù)據(jù)類型,它們是:整型 integer;

字符型

溫馨提示

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

評論

0/150

提交評論