版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、學(xué)習(xí)目標 了解C+語言的基本字符、標識符和關(guān)鍵字 了解C+語言的編程規(guī)范 掌握C+語言的基本數(shù)據(jù)類型、常量和變量 掌握C+語言的運算符、表達式及使用方法2.1 關(guān)鍵字和標識符2.1.1 關(guān)鍵字關(guān)鍵字也稱保留字,是一種有特殊用途的標識符。是由系統(tǒng)預(yù)先定義好的字符序列,具有特殊的含義及用法,不能用于變量名或函數(shù)名等。C+的常見關(guān)鍵字如表2-1所示。表2-1 C+關(guān)鍵字2.2 基本數(shù)據(jù)類型C+語言的數(shù)據(jù)類型分為基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型和引用類型,如圖2-1所示。基本數(shù)據(jù)類型是C+系統(tǒng)內(nèi)部的數(shù)據(jù)類型,構(gòu)造類型和引用類型都是由基本數(shù)據(jù)類型建立起來的。圖2-1 C+的數(shù)據(jù)類型2.2 基本數(shù)據(jù)類型2.2.
2、1 整型數(shù)據(jù)1整型的類別在C+語言中,整型數(shù)據(jù)分為基本整型、短整型、長整型3大類。其中每一類又分為無符號和有符號2種,如表所示。表2-2 整型數(shù)據(jù)的分類2.2 基本數(shù)據(jù)類型2整型數(shù)據(jù)在內(nèi)存中的存儲形式整型數(shù)據(jù)是以二進制數(shù)補碼的形式存儲的。對有符號數(shù)據(jù),則存儲單元的最高位為符號位,1表示負數(shù),0 表示正數(shù)。對無符號數(shù)據(jù),則沒有符號位,所有的存儲單元均為數(shù)據(jù)位。假設(shè)用32個二進制位(bit)存放一個int型數(shù)據(jù),則有符號數(shù)據(jù)和無符號數(shù)據(jù)在內(nèi)存中占用存儲單元的情況如圖2-2所示。圖2-2 整型數(shù)的存儲形式2.2 基本數(shù)據(jù)類型3求補碼的方法在計算機中,整數(shù)有原碼、反碼和補碼3種表示方法:(1) 一個正
3、數(shù)的反碼和補碼與原碼相同(2) 負數(shù)的原碼就是把符號位數(shù)值化(3) 負數(shù)的反碼,其原碼的符號位不變,其它位按位取反(4) 負數(shù)的補碼是反碼末位(最右端位)加1。2.2 基本數(shù)據(jù)類型2.2.2 實型數(shù)據(jù)1實型數(shù)據(jù)的類別實型也稱之為浮點型。在C+語言中,實型數(shù)據(jù)分為單精度(float)、雙精度(double)和長雙精度(long double)3種。實型數(shù)均為有符號數(shù)據(jù),如表2-3所示。表2-3 實型數(shù)據(jù)的分類2.2 基本數(shù)據(jù)類型2.2.2 實型數(shù)據(jù)2. 實型數(shù)據(jù)的存儲形式實型數(shù)據(jù)在內(nèi)存中是以指數(shù)形式存放的。系統(tǒng)把一個實型數(shù)據(jù)分成小數(shù)部分和指數(shù)部分分別存放。其中,指數(shù)部分采用規(guī)范化的指數(shù)形式。例如
4、,實型數(shù)據(jù)3.14159=+0.314159X101在內(nèi)存中的存放形式如圖2-5所示。圖2-5 實型數(shù)據(jù)的存儲形式2.2 基本數(shù)據(jù)類型2.2.2 實型數(shù)據(jù). 字符型數(shù)據(jù)的存儲形式在內(nèi)存中,一個字符型數(shù)據(jù)占用一個字節(jié)(8位),以ASCII碼(的二進制)形式存放。2字符數(shù)據(jù)與整數(shù)通用char 型數(shù)據(jù)的ASCII碼的取值范圍為-128127,其最高位是符號位。如果使用ASCII碼為0127之間的字符,因為最高位為0,所以在用整數(shù)格式%d輸出時,輸出一個正整數(shù)。如果使用128255之間的字符,因為最高位為1,所以在用整數(shù)格式%d輸出時,輸出一個負整數(shù)。2.3 常量與變量2.2.2 實型數(shù)據(jù)(2) 整型
5、常量的表示整型常量可以用十進制數(shù)、八進制數(shù)、十六進制三種形式書寫。 八進制整數(shù)八進制數(shù)使用0(零)作前綴修飾。八進制所含的數(shù)字是07。例如:OctaNum2 = 0571; /正確,在常量前面加上0進行修飾OctaNum4 = 0591; /錯誤,含有非八進制數(shù)92.3 常量與變量2.2.2 實型數(shù)據(jù)(2) 整型常量的表示整型常量可以用十進制數(shù)、八進制數(shù)、十六進制三種形式書寫。 十六進制整數(shù)十六進制使用0 x或0X作前綴。十六進制所含的數(shù)字是09以及字母AF(或af)。例如:HexNum2 = 0 x59af; /正確,在常量前面加上0 x進行修飾HexNum4 = 0 x59ak; /錯誤,
6、含有非十六進制數(shù)的字母k 十進制整數(shù)十進制常量是不需要在前面添加前綴的。十進制所含的數(shù)字是09。例如:AlgorismNum1 = 123;2.3 常量與變量【例2.3】三種進制表示方法的轉(zhuǎn)換。#include iostream.hvoid main() int x = 1234,y = 01234,z = 0 x1234; cout 十進制: decx=x,y=y,z=zendl;/dec:十進制格式符輸出 cout 八進制: octx=x,y=y,z=zendl;/oct:八進制格式符輸出 cout十六進制: hexx=x,y=y,z=zendl;/hex:十六進制格式符輸出運行結(jié)果如圖2
7、-7所示。圖2-7 三種進制格式的輸出2.3 常量與變量3. 字符常量字符型常量是用一對單引號(即撇號)括起來的單個字符,在內(nèi)存中占一個字節(jié)。例如: a,b,1,$,A、# /正確的字符常量 AB、AB、a /錯誤的字符常量 一個字符常量的值是該字符對應(yīng)的ASCII碼值。例如,字符常量a z 對應(yīng)的ASCII編碼值是97123;字符常量09 對應(yīng)的ASCII編碼值是4857。顯然0與數(shù)字0是不同的。 C+語言中還允許一種特殊形式的字符常量,即以反斜線“”開頭的字符序列,稱為轉(zhuǎn)義字符。2.3 常量與變量常用的轉(zhuǎn)義字符見表2.3 常量與變量4符號常量使用符號常量可以使數(shù)據(jù)含義清楚,同時也便于該數(shù)據(jù)
8、的修改。符號常量的定義形式: #define 符號常量標識符 常量值例如: #define NULL 0 /定義符號常量NULL代表0 #define PI 3.14159 /定義符號常量PI代表3.141595. 布爾型常量布爾型常量只有2個,即true和false,分別代表“真”和“假”。2.3 常量與變量6. 字符串常量字符串常量是用雙引號括起來的字符序列。比如:CHINA, , teacher and student , 12345.456 , a等都是字符串常量。字符串常量一般用一個字符數(shù)組(參見第4章)來存儲,每個字符占一個字節(jié),存放其對應(yīng)的ASCII碼。字符串常量在內(nèi)存中存儲時,
9、系統(tǒng)自動加上串尾標志0 。每個字符串常量在內(nèi)存中占用的存儲單元數(shù)目應(yīng)為該字符串長度(字符個數(shù))加1。例如,CHINA的存儲形式如圖2-8所示。 圖2-8 字符串CHINA存儲形式2.3 常量與變量2.3.2 變量變量是指在程序運行過程中,其值可以改變的量。使用變量前必須先定義(聲明),變量是用來保存常量的。變量有三個要素:名稱、類型和值。1變量的名字變量名字是一個標識符,所以必須符合標識符的命名規(guī)則。例如:a, _abc,、AREA、x1、x2 /合法的變量名4ac、#g、a+1、fn!a、a$ /不合法的變量名2.3 常量與變量2變量的定義變量在使用之前必須先定義,要聲明自己的數(shù)據(jù)類型、存儲
10、類型。變量的定義格式為: 數(shù)據(jù)類型 變量名1,變量名2,,變量n;例如:int iSum, iLength, x, y; /定義4個整型變量iSum,iLength,x,ychar ch; /定義1個字符型變量chfloat fSum, fWidth; /定義2個實型(單精度)變量fSum, fWidthdouble u,v; /定義2個實型(雙精度)變量u,v2.3 常量與變量3變量賦初值當使用變量時,變量必須有值。C+語言允許在定義變量的同時使變量初始化。如:int a = 2; /定義a為整型變量,初值為2char b = A; /定義b為字符型變量,初值為Afloat x = 2.12
11、34F; /定義x為實型變量,初值為2.1234F也可對定義的部分變量進行初始化。如int u,v=100,w; /定義u,v,w為整型變量,v的初值為1002.3 常量與變量4const型變量變量的值可以隨時變化,即按需要給變量重新賦值。但有時為了保護變量的值,不允許對變量作修改,則需要將變量說明成常量,具體方法是在變量定義語句前面(或類型與變量之間)加說明符const。例如:const float PI = 3.14;int const MaxCout = 100;常變量定義時必須初始化。在使用const型變量時,除了不可以給它賦值外,其他均與使用一般變量一樣。2.4 運算符與表達式2.4
12、.1 算術(shù)運算符和算術(shù)表達式C+語言的算術(shù)運算符包括基本算術(shù)運算符、強制類型轉(zhuǎn)換運算符和自增、自減運算符。 1. 基本算術(shù)運算符 基本算術(shù)運算符及其功能如表2-6所示。表 2-6 基本算術(shù)運算符2.4 運算符與表達式2. 自增、自減運算符自增、自減運算符是單目運算符,即對一個運算對象施加運算,運算結(jié)果仍賦予該對象。如表2-7所示。表2-7 自增、自減運算符2.4 運算符與表達式3. 算術(shù)表達式用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的式子,稱為算術(shù)表達式。運算對象可以是常量、變量、函數(shù)等。4. 運算優(yōu)先級和結(jié)合性在表達式求值時,先按運算符的優(yōu)先級別高低次序執(zhí)行,再按運算符的結(jié)合方向結(jié)
13、合(相同優(yōu)先級時),例如,先乘除后加減。算術(shù)運算符的優(yōu)先級和結(jié)合性如表2-8所示。表2-8 算術(shù)運算符的優(yōu)先級和結(jié)合性2.4 運算符與表達式2.4.2 關(guān)系運算符與關(guān)系表達式1關(guān)系運算符“關(guān)系運算符”實際上就是“比較運算符”。關(guān)系運算的結(jié)果為邏輯值(true或false)。如表2-910所示,C+語言中提供6種關(guān)系運算符: , ,= , = ,!= 。(1) 優(yōu)先級別順序是:自上而下,優(yōu)先級由高到低。(2) 同級運算符的結(jié)合性是“左結(jié)合性”,即“自左向右”順序進行。 關(guān)系運算的優(yōu)先級都低于算術(shù)類,高于賦值類。例如:a b+c 等效于 a (b+c)a = b+c 等效于 a = (b+c)(3
14、) 關(guān)系運算符= , = ,!= 在書寫時,不要空格將其分開,否則會產(chǎn)生語法錯誤。2.4 運算符與表達式2.4.2 關(guān)系運算符與關(guān)系表達式1關(guān)系運算符表2-9 關(guān)系運算符2.4 運算符與表達式2關(guān)系表達式關(guān)系表達式是用關(guān)系運算符連接兩個表達式構(gòu)成。一般形式為:表達式1 關(guān)系運算符 表達式2該表達式執(zhí)行時,先計算“表達式1”和“表達式2”的值,然后進行比較,運算結(jié)果為true(真)或為false(假),分別用非0(true)或0(false)表示。2.4 運算符與表達式2.4.3 邏輯運算符與邏輯表達式1邏輯運算符邏輯運算可以表示運算對象的邏輯關(guān)系。表2-10給出了C+語言中3種邏輯運算符、功能
15、及運算規(guī)則。表2-10 輯運算符2.4 運算符與表達式2.4.3 邏輯運算符與邏輯表達式輯運算符中,“!”優(yōu)先級最高,而且高于算術(shù)運算和關(guān)系運算符;其次是“&”,“|”最低?!?”和“|”都低于算術(shù)運算和關(guān)系運算符。表2-11 邏輯運算“真值表”2.4 運算符與表達式2邏輯表達式用邏輯運算符連接起來的式子稱為邏輯表達式。一般形式為:!表達式1或:表達式1 & 表達式2或:表達式1 | 表達式2例如: !x , x&y, x|y2.4 運算符與表達式2邏輯表達式(1) 邏輯量的真假判定和非邏輯運算的結(jié)果是邏輯值真或假。對于邏輯表達式而言,參加運算的量可以是任何類型的量,在進行判斷時系統(tǒng)視非零值為
16、“真”,零值為“假”;而關(guān)系運算或邏輯運算的結(jié)果若為“真”其值為1,若為“假”其值為0,結(jié)果值是無符號整數(shù),又可參與其后的運算。(2) 邏輯運算符兩側(cè)的操作數(shù),除可以是和非的整數(shù)外,也可以是其它任何類型的數(shù)據(jù),如實型、字符型等。2.4 運算符與表達式2.4.4 位運算符和位運算所謂位(bit)運算,是指對一個數(shù)據(jù)的某些二進制位進行的運算。每個二進制位只能存放1位二進制數(shù)“0”或者“1”。通常把組成一個數(shù)據(jù)的最右邊的二進制位稱做第0位,從右到左以此稱為第1位,第2位最左邊一位稱做最高位。C+語言提供6種位運算符,如表2-12所示。表2-12 位運算符及含義2.4 運算符與表達式1. 按位與(&)
17、運算符“&”將兩個運算量的對應(yīng)二進制位進行“邏輯與”運算。當且僅當參加運算的兩個對象的對應(yīng)二進制位都為1時,結(jié)果的對應(yīng)二進制位為1,否則為0。2. 按位或(|)運算符“”將兩個運算對象按對應(yīng)二進制位進行“邏輯或”運算。即,當參加運算的兩個對象的對應(yīng)二進制位有一個為“1”時,結(jié)果的對應(yīng)二進制位為“1”。3. 按位異或()運算符“”將兩個運算對象按對應(yīng)二進制位進行“邏輯異或”運算,即當參加運算的兩個對象的相應(yīng)二進制位一個為“0”,另一個為“1”時,結(jié)果的對應(yīng)二進制位為1,否則為0。2.4 運算符與表達式4. 按位取反()運算符“”為一元運算符,它將運算對象的各位取反,即將1變0,0變1。5. 左移
18、運算符()左移運算的一般格式為:運算對象)右移運算的一般格式為:運算對象右移位數(shù)右移運算符將運算對象的每個二進制位同時向右移動指定的位數(shù),從右邊移出的低位部分被丟棄。對無符號數(shù),左邊空出的高位補0;對有符號數(shù),正數(shù)的高位部分補0,負數(shù)高位部分補0還是1跟計算機系統(tǒng)有關(guān)。移入0的稱為“邏輯右移”,移入1的稱為“算術(shù)右移”。2.4 運算符與表達式2.4.5 條件運算符條件運算符“?:”是C+語言中唯一的一個具有3個操作數(shù)的運算符,其與表達式格連接的式子叫條件表達式。一般格式如下: 變量 = ? :功能:首先計算表達式1的值,如果表達式1的值為非0(真),則整個條件表達式的值取表達式2的值;否則,整
19、個條件表達式的值取表達式3的值。2.4 運算符與表達式2.4.6 賦值運算符和賦值表達式1. 賦值運算符在C/C+語言中,等號“=”被作為是一種運算符,稱為賦值運算符。一般形式: = ;功能: 將右邊表達式的值賦給左邊的變量。例如:a = 13; /將右邊數(shù)據(jù)13值賦給左邊的變量a x = a + 15; /將右邊表達式(a+15)的值28賦給左邊的變量x2.4 運算符與表達式2.4.6 賦值運算符和賦值表達式2. 復(fù)合賦值運算符在賦值運算符的前面加上一個其它運算符后就構(gòu)成復(fù)合的賦值運算符。一般形式: = ;等價于: = ;2.4 運算符與表達式3. 賦值表達式由賦值運算符將一個變量和一個表達
20、式連接起來的式子稱為賦值表達式。一般形式: 例如, a = 12 是一個賦值表達式。對賦值表達式求解的過程是:將賦值運算符右側(cè)的“表達式”的值賦給左側(cè)的變量,而賦值表達式的值就是被賦值的變量的值。如 a = 12 這個賦值表達式的值就是變量a的值12。2.4 運算符與表達式2.4.7 逗號運算符和逗號表達式逗號運算符“,”作為C+語言的一種特殊的運算符,也稱為順序求值運算符,它的作用是把多個表達式連接起來。例如:3 + 2,4 + 6x + 3, y + z, s - 1等都是在做逗號運算。我們把用逗號運算符連接起來的式子稱為逗號表達式,其一般形式為:表達式1,表達式2,表達式n2.4 運算符與表達式1. 求解過程按
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《基因突變和基因重組》教學(xué)設(shè)計1
- 課題申報參考:競合供應(yīng)鏈企業(yè)社會責(zé)任審計、運營與融資策略研究
- 課題申報參考:檢察公益訴訟立法研究
- 2025年上半年水產(chǎn)漁業(yè)生產(chǎn)情況總結(jié)及下半年工作安排(三篇)
- 二零二五版房地產(chǎn)土地使用權(quán)交易爭議解決協(xié)議3篇
- 影視劇臨時演員聘用協(xié)議2025版2篇
- 2025年度個人與派遣公司教育培訓(xùn)派遣合同范本4篇
- 二零二五年鍋爐維修安全風(fēng)險評估與處理協(xié)議3篇
- 二零二五版新材料產(chǎn)業(yè)臨時用工聘用管理協(xié)議3篇
- 2025年香港公司股權(quán)轉(zhuǎn)讓手續(xù)糾紛解決合同3篇
- 慈溪高一期末數(shù)學(xué)試卷
- 天津市武清區(qū)2024-2025學(xué)年八年級(上)期末物理試卷(含解析)
- 《徐霞客傳正版》課件
- 江西硅博化工有限公司年產(chǎn)5000噸硅樹脂項目環(huán)境影響評價
- 高端民用航空復(fù)材智能制造交付中心項目環(huán)評資料環(huán)境影響
- 量子醫(yī)學(xué)成像學(xué)行業(yè)研究報告
- DB22T 3268-2021 糧食收儲企業(yè)安全生產(chǎn)標準化評定規(guī)范
- 辦事居間協(xié)議合同范例
- 正念減壓療法詳解課件
- 學(xué)校校本課程《英文電影鑒賞》文本
- 華為HCSA-Presales-IT售前認證備考試題及答案
評論
0/150
提交評論