版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基本數據類型操作符和表達式第1頁,課件共85頁,創(chuàng)作于2023年2月
計算機處理的基本對象是數據。變量和常量則是程序的最基本的數據形式,將它們用操作符(也稱為運算符)連接起來,便構成了表達式。本章介紹C語言中關于變量、常量、操作符和表達式的語法規(guī)則。這些語法規(guī)則是C語言的基本要素。第2頁,課件共85頁,創(chuàng)作于2023年2月
數據類型2.1整型數據2.2實型數據2.3字符型數據與字符串2.4第3頁,課件共85頁,創(chuàng)作于2023年2月
變量說明與初始化2.5運算符和表達式2.6小結2.7第4頁,課件共85頁,創(chuàng)作于2023年2月2.1數據類型
在C語言中,數據的類型分為基本數據類型、構造類型、指針類型和空值類型。對于每一種數據類型的數據,又可分成幾種不同類型,如圖2-1所示。第5頁,課件共85頁,創(chuàng)作于2023年2月
圖2-1C語言的數據類型第6頁,課件共85頁,創(chuàng)作于2023年2月
通常將整型和實型統(tǒng)稱為數值型。構造類型是由若干數據類型組合在一起構造成的復雜數據類型。指針類型可以表示數據的存儲地址??罩殿愋捅硎緵]有數據值。第7頁,課件共85頁,創(chuàng)作于2023年2月
各種類型數據又可分為常量和變量。常量是程序運行中其值不能改變的數據。每個變量有自己的名字,叫變量名,變量用來存儲在程序運行中其值可以發(fā)生變化的數據,一般用于存儲原始數據、中間計算結果和最終計算結果等。第8頁,課件共85頁,創(chuàng)作于2023年2月2.2整型數據
2.2.1整型常量在C語言中使用以下3種不同進位制的整型常量。第9頁,課件共85頁,創(chuàng)作于2023年2月
(1)十進制數:例如,13,?15,0等。(2)
八進制數:八進制數的書寫方法是在數字前加一個數字0,例如,015,?013,017,00等。(3)十六進制數:十六進制數的書寫方法是在數字前加一個0x,例如,0x0,?0x15,0xaf等。第10頁,課件共85頁,創(chuàng)作于2023年2月
為了擴大整型數據的取值范圍,C語言還提供了一種長整型常量。長整型常量在計算機中占用4個字節(jié),相應的取值范圍擴大到?2147483648~+2147483647。第11頁,課件共85頁,創(chuàng)作于2023年2月
2.2.2整型變量整型變量在計算機內存中占兩個字節(jié)(即16bit),取值范圍為從?32768~+32767(?215~215?1)。用以說明整型變量的關鍵字(也稱為數據類型符)為int。第12頁,課件共85頁,創(chuàng)作于2023年2月
定義變量數據類型語句的一般格式為:數據類型符變量名1,變量名2,…C語言規(guī)定,每個變量在使用前,都必須先定義。第13頁,課件共85頁,創(chuàng)作于2023年2月
在關鍵字int前加上修飾符,可改變整型變量在內存所占位數和取值范圍。第14頁,課件共85頁,創(chuàng)作于2023年2月
下列4種修飾符可以用來修飾整型變量:(1)signed 帶符號的整型變量;(2)unsigned 無符號的整型變量;(3)long 長型整型變量;(4)short 短型整型變量。第15頁,課件共85頁,創(chuàng)作于2023年2月
在表2-1中列出了用這些修飾符修飾整型變量后,整型變量在計算機內存中所占位數和取值范圍。第16頁,課件共85頁,創(chuàng)作于2023年2月
第17頁,課件共85頁,創(chuàng)作于2023年2月2.3實型數據
實型數據也稱做浮點數,是一種帶小數點的數。第18頁,課件共85頁,創(chuàng)作于2023年2月
2.3.1實型常量實型常量就是帶小數點的10進制常數。在C語言中實型數據有兩種表達(書寫)方式:一種是用數字和小數點表示的,另一種是用指數方式表示的。第19頁,課件共85頁,創(chuàng)作于2023年2月
實型常量在計算機內存中一般占用4個字節(jié),其數值取值范圍是10?38~1038。有效數字是7位。第20頁,課件共85頁,創(chuàng)作于2023年2月
當一個實型常量的數值超過了它能表達的精度時,C語言可以自動將其精度擴大到15~16位(雙精度)的有效數字。第21頁,課件共85頁,創(chuàng)作于2023年2月
2.3.2實型變量實型變量用來存儲實型數據。實型變量分為如下兩種。第22頁,課件共85頁,創(chuàng)作于2023年2月
(1)單精度實型變量或簡稱實型變量或浮點型變量,其類型標識符為float。(2)雙精度實型變量或稱雙精度浮點型變量,其類型標識符為double。在表2-2中列出了以上兩種實型變量在計算機內存中的所占位數和取值范圍。第23頁,課件共85頁,創(chuàng)作于2023年2月
第24頁,課件共85頁,創(chuàng)作于2023年2月2.4字符型數據與字符串
2.4.1字符型常量
C語言的字符型常量是用單引號括起來的單個字符,如‘a’,‘B’,‘*’等都是字符型常量。第25頁,課件共85頁,創(chuàng)作于2023年2月
字符型常量在計算機內存中是用相應字符的ASCII存儲的,占用一個字節(jié)的空間。第26頁,課件共85頁,創(chuàng)作于2023年2月
在C語言中字母是區(qū)分大小寫的,所以,‘a’和‘A’是不同的字符型常量,由ASCII代碼表可以知道,字符型常量‘a’存儲的是十進制數97,而字符型常量‘A’存儲的十進制數65。第27頁,課件共85頁,創(chuàng)作于2023年2月
因為在整型數與字符常量存在著這種對應關系,在C語言中字符型常量可以作為整型數來使用,整型數據(如果在ASCII范圍內的話)也可以作為字符型數據來使用。第28頁,課件共85頁,創(chuàng)作于2023年2月
在C語言中支持一類特殊字符,它們以反斜杠“\”開頭,稱為反斜杠字符常量,或稱轉義字符。轉義字符是將斜杠后面字符的含義轉變?yōu)榱硪环N意義了。第29頁,課件共85頁,創(chuàng)作于2023年2月
2.4.2字符型變量字符型變量是C語言的一種數據類型,用關鍵字(類型符)char說明,用于存儲字符常量或數值。第30頁,課件共85頁,創(chuàng)作于2023年2月
字符型變量可以用變量修飾符signed和unsigned來修飾。表2-3列出了字符型變量在計算機內存中所占的位數和取值范圍。類型符char和signedchar在意義上是沒有區(qū)別的。第31頁,課件共85頁,創(chuàng)作于2023年2月
第32頁,課件共85頁,創(chuàng)作于2023年2月
一個字符型變量只能存儲1個字符,它是以該字符的ASCII值存儲的,并占一個字節(jié)的寬度。字符型變量和整型數變量之間可以相互通用。第33頁,課件共85頁,創(chuàng)作于2023年2月
2.4.3字符串常量字符串常量簡稱字符串。字符串不是一種數據類型,它是用雙引號擴起來的一串字符。第34頁,課件共85頁,創(chuàng)作于2023年2月
字符串中的字母是區(qū)分大小寫的。組成字符串的字符個數,叫做字符串長度。如果字符串中含有轉義字符,則每個轉義字符當作一個字符看待。第35頁,課件共85頁,創(chuàng)作于2023年2月
每個字符在內存占一個字節(jié)的空間。但每個字符串在內存中占用的實際字節(jié)數等于字符串的長度加1。第36頁,課件共85頁,創(chuàng)作于2023年2月
字符串常量與字符常量在書寫格式上的區(qū)別就在于,字符常量是用單引號括起來的,而字符串常量是用是雙引號括起來的。第37頁,課件共85頁,創(chuàng)作于2023年2月2.5變量說明與初始化
2.5.1變量說明(定義)在C語言中,變量是用變量名來表示的,變量名為一合法的C標識符。第38頁,課件共85頁,創(chuàng)作于2023年2月
在C程序中,變量在引用前,必須先進行說明,說明變量的屬性,包括變量的名字和數據類型。變量說明也稱為變量定義。第39頁,課件共85頁,創(chuàng)作于2023年2月
C語言的編譯系統(tǒng)將根據變量說明,給變量分配相應的存儲空間。變量說明語句的一般格式是:數據類型變量名列表;第40頁,課件共85頁,創(chuàng)作于2023年2月
其中,“數據類型”為前面介紹的C語言數據類型符(見表2-1、表2-2和表2-3),也可以是以后介紹的其他數據類型符。“變量名列表”是所要說明的一些同類型的變量名,變量名之間要用逗號分開。說明語句以分號結束。第41頁,課件共85頁,創(chuàng)作于2023年2月
2.5.2變量的初始化在對變量進行定義的同時給變量賦值稱為變量的初始化。變量初始化的一般格式如下:變量類型變量名1=常量1,變量名2=常量2,…第42頁,課件共85頁,創(chuàng)作于2023年2月
變量的初始化是在程序運行到該變量所在的函數時進行的。如果定義變量時沒有初始化,可以在以后用賦值語句給變量賦值。第43頁,課件共85頁,創(chuàng)作于2023年2月
一般情況下,如果變量在程序中沒有初始化,則在賦值之前,它的值是不確定的,因此,程序中在引用某變量之前,該變量應該初始化或賦值。以后還會介紹在某些情況下,沒有初始化的變量的初始值可以是確定的。第44頁,課件共85頁,創(chuàng)作于2023年2月2.6運算符和表達式
2.6.1運算符運算符也稱操作符,是一種表示對數據進行何種運算處理的符號。編譯器通過識別這些運算符,完成各種算術運算和邏輯運算。第45頁,課件共85頁,創(chuàng)作于2023年2月
運算的對象(數據)稱為操作數。每個運算符代表某種運算功能,每種運算功能有自己的運算規(guī)則,如運算的優(yōu)先級、結合性、運算對象類型和個數,以及運算結果的數據類型都有明確的規(guī)定。第46頁,課件共85頁,創(chuàng)作于2023年2月
C語言的基本運算符有以下幾大類:算術運算符;邏輯運算符;關系運算符;位運算符;第47頁,課件共85頁,創(chuàng)作于2023年2月
賦值運算符;條件運算符;逗號運算符;數據長度運算符。第48頁,課件共85頁,創(chuàng)作于2023年2月
除了這些基本運算符外,還有一些專門用途的運算符,如:指針運算符;改變優(yōu)先級運算符;成員運算符;下標運算符;其他。第49頁,課件共85頁,創(chuàng)作于2023年2月
2.6.2表達式用運算符把運算對象連接起來所組成的運算式,在C語言中叫做表達式。按照規(guī)定的運算規(guī)則,對表達式進行運算所得到的結果,稱為表達式的值。第50頁,課件共85頁,創(chuàng)作于2023年2月
在C語言中,就是用圓括號來提高運算順序的。在C語言中,括號也看作是運算符(提高運算符運算優(yōu)先級),而且它的優(yōu)先級別最高。第51頁,課件共85頁,創(chuàng)作于2023年2月
對優(yōu)先級相同的運算符,C語言還規(guī)定了結合性。若是按自左向右的順序進行運算,則結合性稱為自左向右的;若是按自右向左的順序進行運算,則結合性稱為自右向左的。第52頁,課件共85頁,創(chuàng)作于2023年2月
表2-4列出了C語言的各種運算符、名稱、優(yōu)先級和結合性。第53頁,課件共85頁,創(chuàng)作于2023年2月
表達式描述數據的加工過程。在書寫表達式時,不僅要正確理解所使用的每個運算符的功能,還要正確掌握運算符的優(yōu)先級和結合性。第54頁,課件共85頁,創(chuàng)作于2023年2月
利用圓括號,可以像一般數學計算那樣,可以任意地改變表達式的運算順序。第55頁,課件共85頁,創(chuàng)作于2023年2月
表達式值的數據類型,因運算對象的不同而不同。歸納起來可分為整型、實型和邏輯型。第56頁,課件共85頁,創(chuàng)作于2023年2月
邏輯型數據是只有兩個可能值的數據,這兩個值是:真和假。在C語言中,“真”用數字1表示,“假”用數字0表示。因此,邏輯值也可以按整型數看待。第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月
從構成表達式的運算符來看,可以把表達式分成以下幾種。(1)算術表達式:由算術運算符連接數值型運算對象構成的表達式為算術表達式,計算的結果仍為數值型。第62頁,課件共85頁,創(chuàng)作于2023年2月
(2)關系表達式:由關系運算符連接表達式構成的表達式關系表達式,關系表達式的運算的結果為邏輯值。關系表達式的一般形式為:表達式1關系運算符表達式2第63頁,課件共85頁,創(chuàng)作于2023年2月
(3)邏輯表達式:由邏輯運算符連接表達式構成的表達式為邏輯表達式,邏輯表達式的運算結果為邏輯值。邏輯表達式的一般形式為:表達式1邏輯運算符表達式2
邏輯運算符表達式第64頁,課件共85頁,創(chuàng)作于2023年2月
(4)條件表達式:由條件運算符連接表達式構成的表達式,其一般形式為:表達式1?表達式2:表達式3第65頁,課件共85頁,創(chuàng)作于2023年2月
(5)賦值表達式:由賦值運算符或自反賦值運算符號“=”連接表達式構成的表達式稱為賦值表達式。其一般形式為:變量賦值運算符表達式變量自反賦值運算符表達式第66頁,課件共85頁,創(chuàng)作于2023年2月
賦值表達式的運算功能是將賦值運算符右邊表達式的值賦給賦值運算符左邊的變量。第67頁,課件共85頁,創(chuàng)作于2023年2月
(6)逗號表達式:由逗號運算符連接表達式構成的表達式稱為逗號表達式,其一般形式為:表達式1,表達式2,表達式3,…第68頁,課件共85頁,創(chuàng)作于2023年2月
2.6.3表達式中數據類型的轉換
C語言規(guī)定了如下的數據類型的轉換原則。第69頁,課件共85頁,創(chuàng)作于2023年2月
(1)數據類型自動轉換原則表達式中參加運算的各個運算對象,先轉換成其中數據長度最長的數據類型,然后再計算。計算結果的數據類型就是其中數據長度最長的那個數據的數據類型。第70頁,課件共85頁,創(chuàng)作于2023年2月
字符型數據參加運算時,要轉換為整型(int)或長度更大的其他數據類型,這取決于與字符型數據一起參加的運算對象的數據類型。第71頁,課件共85頁,創(chuàng)作于2023年2月
圖2-3所示的例子說明了上述的類型轉換原則。其中有:charch;inti;floatf;doubled;第72頁,課件共85頁,創(chuàng)作于2023年2月
圖2-3數據類型轉換第73頁,課件共85頁,創(chuàng)作于2023年2月
(2)強制性數據類型轉換在表達式中,可以根據需要,把其中任意一個數據的類型轉換為另一個數據類型,稱為數據類型的強制轉換。強制數據類型轉換的一般格式是:(數據類型)表達式第74頁,課件共85頁,創(chuàng)作于2023年2月
(3)運算結果存入變量時的數據類型自動轉換如果表達式的運算結果的數據類型與要存入的變量類型不一致,則將運算結果的數據自動轉換成要賦予的變量的數據類型。第75頁,課件共85頁,創(chuàng)作于2023年2月
關于數據類型轉換有一點要注意,表達式計算過程中,數據類型的轉換是暫時的,只是為了用于當前計算,原來類型的值并未改變或丟失。第76頁,課件共85頁,創(chuàng)作于2023年2月小結
本章討論了C語言的基本數據類型,常量、變量及變量初始化,操作符和表達式等基本語法問題。通過本章的學習,要掌握以下問題。第77頁,課件共85頁,創(chuàng)作于2023年2月
1.基本數據類型
C語言有4種基本數據類型,它們是:整型 integer;
字符型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《基于Flexsim的混流生產線仿真與優(yōu)化研究》
- 學校健康教育實踐培養(yǎng)學生終身健康的策略
- 二零二五年度智慧商業(yè)小區(qū)門窗與智慧商業(yè)物業(yè)承包協(xié)議3篇
- 軌道交通地鐵施工工程安全生產風險分級管控和隱患排查治理雙體系方案
- 2024版父母子女間房產買賣合同:包含房產過戶與子女贍養(yǎng)義務2篇
- 2025年度環(huán)保工程項目委托運營管理合同模板(全新)3篇
- 自貢四川自貢高新技術產業(yè)開發(fā)區(qū)管理委員會基層治理和社會管理局招用網格員9人筆試歷年典型考點(頻考版試卷)附帶答案詳解版
- 2024年消防工程安全監(jiān)理及質量把控服務合同3篇
- 阿拉伯語翻譯崗位求職信
- 2020-2025年中國中小學教材行業(yè)投資研究分析及發(fā)展前景預測報告
- 高血壓急癥的緊急處理與護理
- 接地隱蔽記錄表
- 2023年1月自考07484社會保障學試題及答案含解析
- 餐飲咨詢服務合同范本
- 股權投資的基本概念與原理
- 最全海外常駐和出差補助管理規(guī)定
- 工廠消防安全培訓知識課件
- 魯教版五四制-六年級英語下冊-Unit1-單元練習題+單元評價檢測(含答案)
- 耳部疾病影像學診斷與鑒別診斷課件
- 泌尿外科護理業(yè)務查房
- 豬肉配送售后服務方案
評論
0/150
提交評論