




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基本數(shù)據(jù)類型與輸入輸出第一頁,共二十六頁,2022年,8月28日標(biāo)識(shí)符的構(gòu)成規(guī)則以大寫字母、小寫字母或下劃線(_)開始。由以大寫字母、小寫字母、下劃線(_)或數(shù)字0~9組成。大寫字母和小寫字母代表不同的標(biāo)識(shí)符。標(biāo)識(shí)符不能使用關(guān)鍵字。例:
i jkmyStr Binary_Tree _123
以下的標(biāo)識(shí)符為非法的:
2_Treestruct -VV C++語言是大小寫敏感語言,所以以下均是一些合法的、且是不同的標(biāo)識(shí)符:
Friend FRIEND my_carmyCar(駱駝表示法)第二頁,共二十六頁,2022年,8月28日2.2基本的數(shù)據(jù)類型一個(gè)程序要運(yùn)行,就要先描述其算法;描述一個(gè)算法應(yīng)首先說明算法中要用到的數(shù)據(jù),數(shù)據(jù)以變量或常量的形式來描述。每個(gè)變量或常量都有數(shù)據(jù)類型。變量的數(shù)據(jù)類型的一個(gè)重要作用就是告訴編譯器要為變量分配多少個(gè)字節(jié)的內(nèi)存空間。如:在16位計(jì)算機(jī)中,int2個(gè)字節(jié)、float4、double8C++數(shù)據(jù)類型分為基本數(shù)據(jù)類型和非基本數(shù)據(jù)類型兩種:第三頁,共二十六頁,2022年,8月28日2.2基本的數(shù)據(jù)類型(續(xù))基本類型枚舉enum指針type*空類型void整型int字符型邏輯型bool實(shí)型(符點(diǎn))單精度float雙精度double數(shù)組type[]結(jié)構(gòu)struct聯(lián)合union數(shù)據(jù)類型單字符型char寬字符型wchar_t非基本類型類class注:關(guān)于基本數(shù)據(jù)類型在內(nèi)存中的描述可以看P14表2-2,程序中可用sizeof(數(shù)據(jù)類型)來確定某數(shù)據(jù)類型長度。第四頁,共二十六頁,2022年,8月28日2.2基本的數(shù)據(jù)類型(續(xù))C++還為基本數(shù)據(jù)類型預(yù)定義了4個(gè)類型修飾前綴它們分別是:
short //短整型,僅修飾int long //長型,修飾int,double
signed //有符號(hào),修飾char,int
unsigned //無符號(hào),修飾char,int注意:當(dāng)用修飾前綴來修飾int時(shí),允許省略關(guān)鍵字int。另外,關(guān)鍵字signed和unsigned還可以與long及short組合起來修飾整型數(shù)據(jù)。例:unsignedlongul; //ul被說明成一個(gè)無符號(hào)長整型量
longdoubleHuge; //Huge被說明成一個(gè)長的雙精度
//型量,其值可達(dá)-3.4E4932~1.1E4932第五頁,共二十六頁,2022年,8月28日2.3常量1、整型常量(整型常數(shù))(1)十進(jìn)制整型常量的表示形式與日常數(shù)學(xué)相同;(2)八進(jìn)制整型常量由字符0~7組成,起始字符必須是0;(3)十六進(jìn)制整型常量由字符0~9及a~f組成,起始的兩個(gè)字符必須是0x,其中,字母字符大小寫意義相同。例:
123//十進(jìn)制表示的壹百貳十叁
0173 //八進(jìn)制表示的壹百貳十叁
0x7b //十六進(jìn)制表示的壹百貳十叁第六頁,共二十六頁,2022年,8月28日2、實(shí)型常數(shù)實(shí)型數(shù)值常量僅用十進(jìn)制表示。(1)小數(shù)形式:數(shù)字和小數(shù)點(diǎn)組成。(必須要有小數(shù)點(diǎn))如:0.123,3.14159(2)指數(shù)形式:314159e-5。
注意:e和E之前要有數(shù)字,且E后的指數(shù)必須為整數(shù)。如:e3,1e3.5不是合法的指數(shù)形式。
2.3常量(續(xù))第七頁,共二十六頁,2022年,8月28日3、字符常量(1)字符常量由單個(gè)字符構(gòu)成,其基本表示形式為一對(duì)單引號(hào)括起來的一個(gè)字符。例:'a' 'M' '5' '$' ''注意:在內(nèi)存中,字符數(shù)據(jù)以ASCII碼存儲(chǔ),即以整數(shù)表示。(2)轉(zhuǎn)義字符其表示方式為反斜杠“\”后跟一個(gè)無前綴0的八進(jìn)制或十六進(jìn)制常量,常量的值為欲表示之字符常量的ASCII碼。例:'A'、'\101'、'\x41'均表示字符常量A(字符常量A的ASCII碼值為65)。2.3常量(續(xù))第八頁,共二十六頁,2022年,8月28日(3)幾個(gè)特殊的轉(zhuǎn)義字符
\a //響鈴
\n //換行
\t //水平制表符
\v //垂直制表符
\b //退格
\r //回車
\\ //反斜杠(“\”)
\'' //雙引號(hào)(“''”)
\' //單引號(hào)(“'”)2.3常量(續(xù))第九頁,共二十六頁,2022年,8月28日4、字符串常量字符串常量是由一對(duì)雙引號(hào)括起來的字符序列,例如:
"HELLO"注意:C++語言所采用的字符串在串中不包含長度信息,而用一個(gè)ASCII值為0的字符來標(biāo)識(shí)串的結(jié)束位置。因此,串所占用的存儲(chǔ)空間比其實(shí)際字符個(gè)數(shù)要多一個(gè)字節(jié)。例如:上述字符串常量所占的內(nèi)存如下圖所示。特別注意:'\0'又叫字符串結(jié)束符,是C++約定的字符串結(jié)束符。2.3常量(續(xù))HELLO'\0'比較:(1)"\0"和'\0' (2)"0"和'0'第十頁,共二十六頁,2022年,8月28日5、枚舉常量枚舉常量可通過建立枚舉類型來定義。enum枚舉類型名{枚舉常量值列表};如:enumCOLOR{RED,BLUE,GREEN,WHITE,BLACK};注:(1)COLOR是類型名(自定義),不是變量。(2)RED、BLUE等都是枚舉常量,在內(nèi)存中以正數(shù)形式存儲(chǔ)。若無專門賦值,第一個(gè)枚舉值為0,第二個(gè)為1。(3)可以給枚舉常量賦值,enumCOLOR{RED=100,BLUE=20,GREEN};2.3常量(續(xù))第十一頁,共二十六頁,2022年,8月28日(1)變量定義變量就是其值可變的量。一個(gè)變量是一塊用標(biāo)識(shí)符(叫做變量名)所標(biāo)識(shí)的存儲(chǔ)單元,用于存放可由程序修改的值。C++語言中的變量必須“先定義,后使用”。定義變量也叫做說明(Declare)變量,說明變量的一般形式為:type var_name
<,var_name...>;type為數(shù)據(jù)類型;var_name為標(biāo)識(shí)符,即程序員為變量所取的名字。例:inti,j; //定義兩個(gè)整型變量
charch;//定義一個(gè)字符型變量
doubledfResult;//定義一個(gè)雙精度型變量2.4變量第十二頁,共二十六頁,2022年,8月28日變量具有4種基本屬性:
1.用變量名標(biāo)識(shí);
2.占據(jù)一定的存儲(chǔ)單元;
3.有且僅有一個(gè)值;
4.新值將取代舊值。2.4變量(續(xù))00000010001101110237}i20002001inti;i=0x0237;i=0x1356;第十三頁,共二十六頁,2022年,8月28日(2)變量賦值與初始化☆用賦值運(yùn)算符“=”給變量賦值
intwidth;width=5;☆定義時(shí)直接給變量一個(gè)初始值,稱為變量的初始化
intwidth=5;☆定義時(shí)可初始化多個(gè)變量
intwidth=5,length=10;☆定義時(shí)不需要對(duì)每個(gè)變量都初始化
doublearea,radius=23;2.4變量(續(xù))第十四頁,共二十六頁,2022年,8月28日(3)typedef
用typedef為一個(gè)已有的類型名提供一個(gè)別名。語法形式:typedef已有類型名
新類型名;例:typedefdoubleprofit;//定義double的別名
typedefintINT,integer;//定義int的兩個(gè)別名
INTa;//等價(jià)inta;注意:
typedef沒有實(shí)際定義一個(gè)新的數(shù)據(jù)類型,而為一個(gè)已有的類型名提供一個(gè)別名。2.4變量(續(xù))第十五頁,共二十六頁,2022年,8月28日2.5常量定義若程序中想讓變量的內(nèi)容初始化以后就保持不變,可以定義一個(gè)常量。語法形式:const
類型名標(biāo)識(shí)符=常量表達(dá)式;如:constfloatpi=3.1415926;注:(1)常量在定義時(shí)必須初始化;(2)程序中不能對(duì)常量重新賦值;(3)分配存儲(chǔ)空間第十六頁,共二十六頁,2022年,8月28日1、I/O書寫格式☆標(biāo)準(zhǔn)輸入流cin格式:
cin>>variable<>>variable...>;
其中,符號(hào)“>>”叫做抽取運(yùn)算符,它的作用是從輸入流
cin(缺省為控制臺(tái))中獲取一個(gè)與變量variable之類型相匹配的值,并將該值賦給變量variable。例:
cin>>i; cin>>x>>y>>z;
注意后一種用法:在響應(yīng)串聯(lián)方式的輸入時(shí),所輸入的各數(shù)值必須用空白字符(空格鍵、Tab鍵或回車鍵)分隔開來。2.5I/O流控制第十七頁,共二十六頁,2022年,8月28日☆標(biāo)準(zhǔn)輸出流cout格式:
cout<<expression<<<expression…>;
其中,符號(hào)“<<”叫做插入運(yùn)算符,它的作用是向輸出流
cout中傳遞表達(dá)式expression的值。例:cout<<2*3; cout<<2<<""<<3;注意:在串聯(lián)方式輸出中,各表達(dá)式常常需要人為地加上某些分隔符號(hào),比如上面第二個(gè)輸出中實(shí)際上是輸出了3個(gè)常量:2、3以及由兩個(gè)空格構(gòu)成的字符串常量,字符串常量在這里起到分隔兩個(gè)數(shù)值的作用。若無該字符串常量,則輸出將變成:232.5I/O流控制(續(xù))第十八頁,共二十六頁,2022年,8月28日2、使用流控制符(在頭文件iomanip.h定義)流的默認(rèn)格式不滿足要求,則要用控制符對(duì)I/O流的格式進(jìn)行控制。如:C++默認(rèn)的浮點(diǎn)數(shù)輸出是6位有效位,想讓小數(shù)點(diǎn)后保留2位,怎么辦?(1)控制浮點(diǎn)數(shù)值顯示☆
setprecision(n):控制輸出流顯示浮點(diǎn)數(shù)的有效位數(shù)☆
setprecision(n)與setiosflags(ios::fixed)控制小數(shù)點(diǎn)右邊的數(shù)字個(gè)數(shù);這里setiosflags(ios::fixed)是用定點(diǎn)方式表示實(shí)數(shù)。☆
setiosflags(ios::scientific)控制指數(shù)表示法的小數(shù)位數(shù)。2.5I/O流控制(續(xù))第十九頁,共二十六頁,2022年,8月28日//*********************//**ch2_1.cpp**//*********************#include<iostream.h>#include<iomanip.h>//要用到格式控制符voidmain(){doubleamount=22.0/7;cout<<amount<<endl;cout<<setprecision(0)<<amount<<endl<<setprecision(1)<<amount<<endl<<setprecision(2)<<amount<<endl<<setprecision(3)<<amount<<endl<<setprecision(4)<<amount<<endl;
2.5I/O流控制(續(xù))第二十頁,共二十六頁,2022年,8月28日
cout<<setiosflags(ios::fixed);cout<<setprecision(8)<<amount<<endl;cout<<setiosflags(ios::scientific)<<amount<<endl;cout<<setprecision(6);//重新設(shè)置成原默認(rèn)設(shè)置}注:(1)浮點(diǎn)數(shù)表示輸出中,setprecision(n)表示有效位數(shù),有效位數(shù)最小為1;(2)定點(diǎn)表示的輸出中,setprecision(n)表示小數(shù)位數(shù)。(3)指數(shù)形式輸出中,setprecision(n)表示小數(shù)位數(shù)。(4)小數(shù)位數(shù)截短顯示時(shí),進(jìn)行4舍5入。2.5I/O流控制(續(xù))第二十一頁,共二十六頁,2022年,8月28日(2)設(shè)置值的輸出寬度:setw(n)控制符☆
實(shí)際輸出值的寬度大于n,按實(shí)際寬度輸出☆實(shí)際輸出值的寬度小于n,在輸出值前補(bǔ)空格,如:
cout<<setw(8)<<10<<20<<endl;結(jié)果為:□□□□□□1020☆若要每個(gè)值的寬度都為8,則每個(gè)值都要設(shè)置。
cout<<setw(8)<<10 <<setw(8)<<20<<endl;2.5I/O流控制(續(xù))第二十二頁,共二十六頁,2022年,8月28日(3)設(shè)置填充字符setw可用來確定顯示的寬度,用空格來補(bǔ)充。用setfill控制符確定一個(gè)的別的填充符號(hào)。2.5I/O流控制(續(xù))//*********************//**ch2_3.cpp**//*********************#include<iostream.h>#include<iomanip.h>voidmain(){cout<<setfill('*')<<setw(2)<<21<<endl<<setw(3)<<21<<endl<<setw(4)<<21<<endl;cout<<setfill('');//恢復(fù)默認(rèn)設(shè)置}第二十三頁,共二十六頁,2022年,8月28日(4)左右對(duì)齊輸出
setiosflags(ios::left)和setiosflags(ios::right)控制輸出左右對(duì)齊。2.5I/O流控制(續(xù))//*********************//**ch2_4.cpp**//*********************#include<iostream.h>#include<iomanip.h>voidmain(){cout<<setiosflags(ios::right)<<setw(5)<<1<<setw(5)<<2<<setw(5)<<3<<endl;cout<<setiosflags(ios::left)<<setw(5)<<1<<setw(5)<<2<<setw(5)<<3<<endl;}第二十四頁,共二十六頁,2022年,8月28日(5)顯示小數(shù)點(diǎn)和符號(hào)如cout<<10.0/5<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)有林地出售合同協(xié)議
- 鹽酸硫酸購銷合同協(xié)議
- 白酒購銷意向合同協(xié)議
- 生態(tài)養(yǎng)殖加盟合同協(xié)議
- 白酒合伙經(jīng)營合同協(xié)議
- 電信代理商協(xié)議合同
- 電氣技術(shù)入股協(xié)議合同
- 電梯改造大修合同協(xié)議
- 電廠物料買賣合同協(xié)議
- 用工合同補(bǔ)充協(xié)議模板
- 初中學(xué)業(yè)水平考試的“一核二融三層四維”命題理論探析
- 心理咨詢記錄表10篇
- 數(shù)字經(jīng)濟(jì)學(xué)試題答案
- 創(chuàng)傷急救知識(shí)課件
- 專題13 統(tǒng)計(jì)與概率-【好題匯編】五年(2020-2024)高考數(shù)學(xué)真題分類匯編(含答案解析)
- 國家開放大學(xué)本科(非英語專業(yè))學(xué)士學(xué)位英語統(tǒng)一考試樣題
- GB/T 44273-2024水力發(fā)電工程運(yùn)行管理規(guī)范
- DB65-T 4765-2024 農(nóng)牧區(qū)標(biāo)準(zhǔn)化羊場(chǎng)建設(shè)規(guī)范
- 城軌行車課程設(shè)計(jì)
- 2024年南京市中考?xì)v史試題及答案
- 2024羽毛球教案36課時(shí)
評(píng)論
0/150
提交評(píng)論