《C++語(yǔ)言程序設(shè)計(jì)》課件第2章_第1頁(yè)
《C++語(yǔ)言程序設(shè)計(jì)》課件第2章_第2頁(yè)
《C++語(yǔ)言程序設(shè)計(jì)》課件第2章_第3頁(yè)
《C++語(yǔ)言程序設(shè)計(jì)》課件第2章_第4頁(yè)
《C++語(yǔ)言程序設(shè)計(jì)》課件第2章_第5頁(yè)
已閱讀5頁(yè),還剩94頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C++語(yǔ)言程序設(shè)計(jì)第十一組C++語(yǔ)言程序設(shè)計(jì)第二章基本數(shù)據(jù)類型與表達(dá)式C++語(yǔ)言程序設(shè)計(jì)1目錄C++語(yǔ)言程序設(shè)計(jì)2“C++的詞法記號(hào)和標(biāo)識(shí)符基本數(shù)據(jù)類型變量和常量運(yùn)算符和表達(dá)式C語(yǔ)言的輸入輸出C++的輸入輸出基本知識(shí)等于號(hào)和雙等于號(hào)sizeof運(yùn)算符輸出的格式控制使用string類型處理字符串編程技能磁盤文件是什么刨根問(wèn)底C++語(yǔ)言程序設(shè)計(jì)3基本知識(shí)a2.1C++的詞法記號(hào)和標(biāo)識(shí)符

字符集英文字母:A~Z,a~z數(shù)字字符:0~9特殊字符:+-*/%^=<>!#&|_~ \‘“;.,()[] {}空格C++語(yǔ)言程序設(shè)計(jì)42.1C++的詞法記號(hào)和標(biāo)識(shí)符

關(guān)鍵字是C++預(yù)先定義好的標(biāo)識(shí)符,在程序中具有特殊作用。C++關(guān)鍵字:C++語(yǔ)言程序設(shè)計(jì)5auto bool break case catch charclass const const_cast continue default deletedo double dynamic_cast else enum explicitexport extern false float for friendgoto if inline int long mutablenamespace new operator private protected publicregister reinterpret_cast return short signed sizeofstatic static_cast struct switch template thisthrow true try typedef typeid typenameunion unsigned using virtual void volatilewhile2.1C++的詞法記號(hào)和標(biāo)識(shí)符

標(biāo)識(shí)符是程序員聲明的單詞,它命名程序正文中的一些實(shí)體,如函數(shù)名、變量名、類名、對(duì)象名等。C++標(biāo)識(shí)符的構(gòu)成規(guī)則不能是C++的關(guān)鍵字;第一個(gè)字符必須是大寫、小寫字母或下劃線;不包含空格和“+、-、;”等特殊字符;為方便輸入,長(zhǎng)度一般不超過(guò)31個(gè)字符聲明標(biāo)識(shí)符時(shí),做到“見名識(shí)意”,可以提高程序的可讀性C++語(yǔ)言程序設(shè)計(jì)6例如:合法的標(biāo)識(shí)符:apple、_Student、_123、no1、max_num不合法的標(biāo)識(shí)符:51job、maxnum、-abc注意:C++的標(biāo)識(shí)符是大小寫敏感的,例:myName≠myNAME2.1C++的詞法記號(hào)和標(biāo)識(shí)符

分隔符不表示實(shí)際的操作,僅用于構(gòu)造程序C++分隔符:(){} , : ;例如:“;”用來(lái)作為一句完整語(yǔ)句的結(jié)束C++語(yǔ)言程序設(shè)計(jì)72.1C++的詞法記號(hào)和標(biāo)識(shí)符

空白是指制表符、空格、空行,用于分隔單詞在C++語(yǔ)句中經(jīng)常出現(xiàn)空白,通常都忽略不計(jì)在C++程序中適當(dāng)使用空白,可以提高程序的可讀性C++語(yǔ)言程序設(shè)計(jì)82.2基本數(shù)據(jù)類型

數(shù)據(jù)類型數(shù)據(jù)根據(jù)其本身的特點(diǎn)進(jìn)行分類,從而形成不同的數(shù)據(jù)類型不同類型的數(shù)據(jù)有不同的表示和處理方法C++的數(shù)據(jù)類型決定了:數(shù)據(jù)表示形式數(shù)據(jù)的存儲(chǔ)空間對(duì)數(shù)據(jù)可以進(jìn)行哪些運(yùn)算以及及運(yùn)算規(guī)則C++語(yǔ)言程序設(shè)計(jì)92.2基本數(shù)據(jù)類型

C++的數(shù)據(jù)類型基本數(shù)據(jù)類型自定義數(shù)據(jù)類型C++的基本數(shù)據(jù)類型,可用來(lái)表示整數(shù)、實(shí)數(shù)、單個(gè)字符以及邏輯值根據(jù)數(shù)據(jù)特點(diǎn),指定數(shù)據(jù)類型整數(shù):數(shù)值的取值范圍、是否需要存放負(fù)數(shù)實(shí)數(shù):數(shù)值的取值范圍、有效數(shù)字位數(shù)C++語(yǔ)言程序設(shè)計(jì)102.2基本數(shù)據(jù)類型

實(shí)數(shù):?jiǎn)尉雀↑c(diǎn)型:float雙精度浮點(diǎn)型:double擴(kuò)展精度浮點(diǎn)型:longdouble單個(gè)字符字符型:char邏輯值邏輯型:boolC++語(yǔ)言程序設(shè)計(jì)112.2基本數(shù)據(jù)類型

C++語(yǔ)言程序設(shè)計(jì)12類

型長(zhǎng)度(字節(jié))取值范圍說(shuō)

明char/signedchar1?128~127有符號(hào)字符unsignedchar10~255無(wú)符號(hào)字符shortint/short2?32

768~32

767短整型unsignedshortint20~65

535無(wú)符號(hào)短整型int/signedint4?231~231?1整型unsignedint40~232?1無(wú)符號(hào)整型long/longint4?231~231?1長(zhǎng)整型unsignedlong40~232?1無(wú)符號(hào)長(zhǎng)整型float4?3.4×1038~3.4×1038浮點(diǎn)型double8?1.7×10308~1.7×10308雙精度型longdouble8?1.7×10308~1.7×10308長(zhǎng)雙精度型數(shù)據(jù)類型決定了存放數(shù)據(jù)的內(nèi)存空間的大?。ㄗ止?jié)數(shù))內(nèi)存空間大小用字節(jié)(Byte)數(shù)表示1Byte=8bit特定類型的數(shù)據(jù)所占字節(jié)數(shù)還和所使用的計(jì)算機(jī)系統(tǒng)以及編譯器有關(guān)不同類型的數(shù)據(jù)所能表示的數(shù)據(jù)取值范圍不同不同類型的數(shù)據(jù)采用不同的存儲(chǔ)格式有符號(hào)整型:補(bǔ)碼浮點(diǎn)數(shù)型:IEEE754標(biāo)準(zhǔn)字符型:ASCII碼2.2基本數(shù)據(jù)類型

C++語(yǔ)言程序設(shè)計(jì)13數(shù)據(jù)是程序處理的對(duì)象程序在運(yùn)行中通過(guò)變量和常量來(lái)操作數(shù)據(jù)變量:在整個(gè)程序運(yùn)行期間,其存儲(chǔ)的值可以改變的量常量:程序運(yùn)行期間,其值不可以改變的量符號(hào)常量:用符號(hào)表示的常量常數(shù)(字面常量):是指程序中直接寫出的數(shù)據(jù)2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)14變量在整個(gè)程序運(yùn)行期間,其存儲(chǔ)的值可以改變的量實(shí)質(zhì):內(nèi)存中的一個(gè)地址空間,對(duì)該地址空間中的數(shù)據(jù)可以進(jìn)行存儲(chǔ)、讀取定義變量的語(yǔ)法格式

數(shù)據(jù)類型變量名1,變量名2,……變量名n;2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)15例如:定義各種類型的變量int num;floatf;charch;shorts;doublearea,length; 2.2基本數(shù)據(jù)類型

定義變量的實(shí)質(zhì)例如:intnum;用于為變量分配內(nèi)存空間根據(jù)數(shù)據(jù)類型int,從地址0xXXXXXXXX開始,為變量num分配4個(gè)字節(jié)單元變量num的取值范圍為?231~231?1編程時(shí),可以直接使用變量名num對(duì)存儲(chǔ)在該內(nèi)存空間的數(shù)據(jù),也就是變量值進(jìn)行存取C++語(yǔ)言程序設(shè)計(jì)16關(guān)于變量的幾點(diǎn)說(shuō)明在C++程序中使用變量,必須“先定義或聲明,后使用”,而且只能定義一次定義變量的位置,C++中沒有要求,放在第一次使用該變量之前的任何位置均可以定義變量時(shí),需要指明該變量的數(shù)據(jù)類型和名稱數(shù)據(jù)類型:決定變量的存儲(chǔ)方式和可以進(jìn)行的操作變量名:用來(lái)區(qū)分不同的變量,使用它可直接存取變量的值變量名是標(biāo)識(shí)符,要遵循標(biāo)識(shí)符定義的規(guī)則2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)17變量的賦值使用賦值運(yùn)算符“=”可以將一個(gè)值賦給變量例如:

unsignedshortintage; age=18;變量的初始化定義變量時(shí),給它指定一個(gè)初始值例如:

unsignedshortintage=18;或者unsignedshortintage(18); charch1=‘a(chǎn)’,ch2=‘b’;或者charch1(‘a(chǎn)’),ch2(‘b’);2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)18提示:變量可以被多次賦值變量初始化只能做一次例:賦值運(yùn)算符的使用2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)19運(yùn)行結(jié)果:myAge=18myAge=20//變量的賦值#include<iostream>usingnamespacestd;intmain(){

intmyAge=18;

//變量的初始化 cout<<"myAge="<<endl;

myAge=20;

//變量的賦值 cout<<"myAge="<<endl; return0;}typedef關(guān)鍵字用來(lái)定義類型的別名語(yǔ)法形式:typedef原類型名

新類型名;例如:typedefunsignedshortintUINT16;

UINT16i;注意:typedef語(yǔ)句并沒有定義一個(gè)新的數(shù)據(jù)類型,只是聲明了原有數(shù)據(jù)類型的一個(gè)別名用途:簡(jiǎn)化復(fù)雜的類型定義,便于理解、使用允許一種類型用于多個(gè)目的2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)20符號(hào)常量定義格式const數(shù)據(jù)類型常量名=初始值;例如:

constdoublePI=3.14159;關(guān)于常量的幾點(diǎn)說(shuō)明

常量在程序運(yùn)行過(guò)程中不能夠被改變常量在定義的時(shí)候必須進(jìn)行初始化

不能對(duì)常量進(jìn)行賦值操作例如:constdoublePI;PI=3.14159;2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)21錯(cuò)誤!C語(yǔ)言中定義符號(hào)常量使用預(yù)處理指令#define指令形式:#define符號(hào)常量名數(shù)據(jù)值例如:#definePI3.14159注意:因?yàn)椴皇荂++語(yǔ)句,所以行末沒有“;”

2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)22提示:程序中盡可能使用符號(hào)常量,盡量避免直接使用有特殊意義的常數(shù),以提高程序的可讀性和可維護(hù)性整型常數(shù)十進(jìn)制:直接寫出的整數(shù),例如:231、-4569、0八進(jìn)制:以數(shù)字0開頭的整數(shù),例如:0123八進(jìn)制數(shù)的有效數(shù)字為:0~7無(wú)正負(fù)號(hào)十六進(jìn)制:以0x或0X開頭的整數(shù),例如:0x123十六進(jìn)制數(shù)的有效數(shù)字為:0~9、A~F(a~f)無(wú)正負(fù)號(hào)整型常數(shù)默認(rèn)是int類型可以用后綴字母U或u表示無(wú)符號(hào)型:例如:65536U可以用后綴字母L或l表示長(zhǎng)整型:123L2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)23浮點(diǎn)型常數(shù)小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成,例如:0.123、234.0、12.56指數(shù)形式:表示為:aEb(aeb)

,代表數(shù)值:a

×

10b例如:1.23E-1、234e1、0.1256E2a、b都不可以省略b必須是整數(shù)浮點(diǎn)型常數(shù)默認(rèn)是double類型可以用后綴字母F或f表示float類型,例如:12.56f可以用后綴字母L或l表示longdouble,例如:0.1256E2L2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)24字符常數(shù)字符型數(shù)據(jù)占用一個(gè)字節(jié),采用ASCII編碼字符常數(shù)采用單引號(hào)作為界定符字符常數(shù)包括:可顯示字符,可直接表示,例如:’A’、’?’、’0’等不可顯示的控制字符,采用轉(zhuǎn)義字符序列表示,例如:’\n’、’\t’、’\a’等有特殊用途的字符,采用轉(zhuǎn)義字符序列表示,

例如:’\\’、’\’’、’\”’2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)25轉(zhuǎn)義字符以\開頭的字符序列,用來(lái)表示一個(gè)特定字符C++中的轉(zhuǎn)義字符2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)26字符形式ASCII碼含

義\a0x07響鈴\n0x0A換行\(zhòng)t0x09制表符(橫向跳格)\v0x0B豎向跳格\b0x08退格\r0x0D回車\\0x5C反斜線\\"0x22雙引號(hào)\'0x27單引號(hào)\oooo是八進(jìn)制數(shù)任意ASCII字符\xhhh是十六進(jìn)制數(shù)任意ASCII字符例:打印特殊字符2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)27//打印特殊字符#include<iostream>usingnamespacestd;intmain(){ cout<<"輸出字母:"<<'a'<<'\a'<<endl; cout<<"輸出字母:"<<'n'<<'\n'; return0;}運(yùn)行結(jié)果:輸出字母:a(蜂鳴器響一聲)

輸出字母:n(換行)任何ASCII字符的統(tǒng)一表示使用轉(zhuǎn)義字符‘\ooo’,其中o表示1~3位八進(jìn)制數(shù)使用轉(zhuǎn)義字符’\xhh’,其中h表示1~2位十六進(jìn)制數(shù)ASCII碼表例如:實(shí)現(xiàn)前例的輸出還可以寫為cout<<"輸出字母:"<<'\x61'<<'\x7'<<endl;cout<<"輸出字母:"<<'\x6E'<<'\xA';2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)28字符數(shù)據(jù)的存儲(chǔ)在內(nèi)存中,字符數(shù)據(jù)以ASCII碼存儲(chǔ)ASCII碼值可看成是單字節(jié)整數(shù)C++中字符數(shù)據(jù)和整數(shù)可以相互賦值例:字符數(shù)據(jù)和整型數(shù)據(jù)的轉(zhuǎn)換注意:變量的數(shù)據(jù)類型決定如何解讀內(nèi)存中的數(shù)據(jù)2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)29//字符數(shù)據(jù)和整型數(shù)據(jù)的轉(zhuǎn)換#include<iostream>usingnamespacestd;intmain(){ intn='a'; charch=97; cout<<"按整數(shù)輸出內(nèi)容:"<<n<<endl; cout<<"按字符輸出內(nèi)容:"<<ch<<endl; return0;}運(yùn)行結(jié)果:按整數(shù)輸出內(nèi)容:97按字符輸出內(nèi)容:a字符串常量由一對(duì)雙引號(hào)括起來(lái)的字符序列例如:“Helloworld!““C++程序設(shè)計(jì)”字符串常量的存儲(chǔ)除了存儲(chǔ)所包含的字符外,還存儲(chǔ)一個(gè)結(jié)束標(biāo)志’\0’‘\0’:ASCII碼值為0的字符——結(jié)束符例如:“WORLD!”2.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)30WORLD!\0注意:字符串常量和字符型數(shù)據(jù)存儲(chǔ)的區(qū)別“A”:‘A’:A\0A請(qǐng)思考:字符串常量“\x07Operating\tsystem”

中有幾個(gè)字符?顯示結(jié)果?邏輯常數(shù)邏輯常數(shù)只有兩個(gè)false:表示“假”true:表示“真”邏輯型數(shù)據(jù)的存儲(chǔ)占用一個(gè)字節(jié)單元false:存放為0true:存放為1邏輯常數(shù)的顯示false:顯示為0true:顯示為12.3變量和常量

C++語(yǔ)言程序設(shè)計(jì)31例如:

boolexchanged=false; exchanged=true;表達(dá)式操作數(shù)與運(yùn)算符(操作符)序列表達(dá)式的值:運(yùn)算結(jié)果例如:3.2 //簡(jiǎn)單表達(dá)式,值為3.22+3 //常量表達(dá)式,值為5a //簡(jiǎn)單表達(dá)式,值為變量a的值x=(a+b)*c //較為復(fù)雜的表達(dá)式y(tǒng)=x=a+b //表達(dá)式是可以嵌套的2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)32語(yǔ)句由表達(dá)式和結(jié)尾的“;”組成一個(gè)C++語(yǔ)句例如:x=(a+b)*c; y=x=a+b;空語(yǔ)句單獨(dú)出現(xiàn)的分號(hào)可用于滿足程序特定語(yǔ)法規(guī)則的要求2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)33語(yǔ)句塊(復(fù)合語(yǔ)句)

由{}括起來(lái)的語(yǔ)句序列屬于同一個(gè)邏輯關(guān)系的多條語(yǔ)句組成語(yǔ)句塊,以滿足程序特定語(yǔ)法規(guī)則的要求

例如:實(shí)現(xiàn)將變量x和y交換的語(yǔ)句塊{ inttemp=x; x=y; y=temp;}2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)34運(yùn)算符

C++提供了豐富的運(yùn)算符運(yùn)算符的含義:取決于操作數(shù)的類型當(dāng)操作數(shù)為基本數(shù)據(jù)類型時(shí),C++定義了操作符的運(yùn)算規(guī)則C++支持運(yùn)算符重載

運(yùn)算符的優(yōu)先級(jí)和結(jié)合性優(yōu)先級(jí):決定了運(yùn)算順序,例如:1+2*3結(jié)合性:優(yōu)先級(jí)相同的運(yùn)算按照結(jié)合性來(lái)確定運(yùn)算順序,例如:1+2+3使用圓括號(hào)可以改變運(yùn)算順序,例如:(1+2)*32.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)352.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)36運(yùn)算符分類——根據(jù)操作數(shù)個(gè)數(shù)一元操作符:僅需要一個(gè)操作數(shù)的運(yùn)算符,例如:+二元操作符:需要兩個(gè)操作數(shù)的運(yùn)算符,例如:+三元操作符:需要三個(gè)操作數(shù)的運(yùn)算符,只有條件運(yùn)算符:?:運(yùn)算符分類——根據(jù)運(yùn)算性質(zhì)賦值運(yùn)算符、算術(shù)運(yùn)算符、復(fù)合賦值運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、條件運(yùn)算符、逗號(hào)運(yùn)算符……2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)37賦值運(yùn)算符“=”是賦值運(yùn)算符例如:f=3.15、x=y表達(dá)式的值:左邊操作數(shù)的值左值和右值左值:可以出現(xiàn)在“=”左邊或右邊右值:只能出現(xiàn)在“=”的右邊變量——左值常量——右值帶有運(yùn)算符的表達(dá)式——一般只能是右值2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)38注意:賦值運(yùn)算符“=”不等同于數(shù)學(xué)意義上的等于號(hào)“=”賦值運(yùn)算符優(yōu)先級(jí)“=”具有較低級(jí)別的優(yōu)先級(jí)“=”的結(jié)合性為:右結(jié)合2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)39例如:floatx,y;inta,b;constfloatPI=3.14;x=3.5; //正確y=x; //正確a=b=100; //正確PI=x; //錯(cuò)誤3.5=x; //錯(cuò)誤y+2=x-10; //錯(cuò)誤算術(shù)運(yùn)算符一元:+(正號(hào))、-(負(fù)號(hào))、++(自增)、--(自減)二元:+(加)、-(減)、*(乘)、/(除)%(取余)“/”除法運(yùn)算符根據(jù)操作數(shù)的類型,決定運(yùn)算規(guī)則例如:5/2,表達(dá)式的值為:25.0/2.0,表達(dá)式的值為:2.5“%”取余運(yùn)算符只能對(duì)整數(shù)類型進(jìn)行操作余數(shù)的符號(hào)由被除數(shù)決定2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)40例:“/”和“%”運(yùn)算符的使用2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)41運(yùn)行結(jié)果:a=-4b=3a/b=-1(float)a/b=-1.33333a%b=-1b%a=0//“/”和“%”運(yùn)算符的使用#include<iostream>usingnamespacestd;intmain(){inta=-4,b=3;cout<<"a="<<a<<"b="<<b<<endl;cout<<"a/b="<<a/b<<endl;cout<<"(float)a/b="<<(float)a/b<<endl;cout<<"a%b="<<a%b<<endl;cout<<"b%a="<<b%a<<endl;return0;}

++(自增)--(自減)運(yùn)算符操作數(shù)加1(減1)的簡(jiǎn)短實(shí)現(xiàn)方式,例如:i=i+1(i=i-1)分為:前置自增(自減),例如:++i(--i)后置自增(自減),例如:i++(i--)前置自增(自減)操作數(shù)加1(減1),表達(dá)式的值為操作數(shù)修改后的值后置自增(自減)操作數(shù)加1(減1),表達(dá)式的值為操作數(shù)修改前的值2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)42例:“++”前、后置自增運(yùn)算符對(duì)比2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)43運(yùn)行結(jié)果:i=1,j=1i=2,j=2a=2,b=1//“++”前、后置自增運(yùn)算符對(duì)比#include<iostream>usingnamespacestd;intmain(){ inti=0,j=0,a,b;

++i; j++; cout<<"i="<<i<<",j="<<j<<endl;

a=++i; b=j++; cout<<"i="<<i<<",j="<<j<<endl; cout<<"a="<<a<<",b="<<b<<endl; return0;}復(fù)合賦值運(yùn)算符將算術(shù)運(yùn)算符和賦值運(yùn)算符結(jié)合包括:+=、-=、*=、/=、%=語(yǔ)法格式:aopb,相當(dāng)于:a=aopbop: +,-,*,/、%算術(shù)運(yùn)算優(yōu)先級(jí)2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)44+(正號(hào))、-(負(fù)號(hào))、++、--*、/、%+(加)、-(減)+=、-=、*=、/=、%=高低例如:x*=y+8相當(dāng)于:x=(x*(y+8))算術(shù)運(yùn)算的溢出問(wèn)題算術(shù)運(yùn)算時(shí),如果運(yùn)算結(jié)果超出了其類型能夠表示的的數(shù)值范圍,就會(huì)產(chǎn)生溢出溢出時(shí),運(yùn)算結(jié)果是錯(cuò)誤的,但編譯器不會(huì)發(fā)現(xiàn)溢出錯(cuò)誤溢出的解決:選擇表示數(shù)值范圍更大的數(shù)據(jù)類型2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)45例如:shortinti=20000,j=30000,k;cout<<(k=i+j)<<endl; 運(yùn)行結(jié)果:

-15536溢出了!例如:inti=20000,j=30000,k;cout<<(k=i+j)<<endl; 運(yùn)行結(jié)果:50000修改為關(guān)系運(yùn)算符包括:>(大于)、>=(大于等于)、<(小于)、<=(小于等于)==(等于)、!=(不等于)關(guān)系表達(dá)式的值:bool值true:運(yùn)算符指定的關(guān)系成立false:運(yùn)算符指定的關(guān)系不成立2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)46例如:inta=1,b=2,c=3; cout<<(a==b)<<endl;//false,顯示為:0cout<<(a!=b)<<endl;//true,顯示為:1cout<<(a>=b)<<endl;//false,顯示為:0cout<<(a<b)<<endl; //true,顯示為:1boold;d=(a>b)==(c>a+5);//d的值為:truecout<<d<<endl; //顯示為:1邏輯運(yùn)算符包括:!(邏輯非)、&&(邏輯與)、||(邏輯或)操作數(shù):bool型表達(dá)式的值:bool值!:操作數(shù)的值為true,則為:false;操作數(shù)的值為false,則為:true&&:兩個(gè)操作數(shù)的值都為true,則為:true;否則為:false||:兩個(gè)操作數(shù)的值都為false,則為:false;否則為:true2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)47邏輯表達(dá)式求值策略當(dāng)左操作數(shù)可以決定邏輯表達(dá)式的值時(shí),則不會(huì)再去計(jì)算右操作數(shù)應(yīng)用:將簡(jiǎn)單的關(guān)系表達(dá)式連接起來(lái),構(gòu)成的邏輯表達(dá)式可以表達(dá)更復(fù)雜的條件2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)48例如要表示條件:a>b>c邏輯表達(dá)式為:(a>b)&&(b>c)關(guān)系、邏輯運(yùn)算的優(yōu)先級(jí)2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)49!<、<=、>、>===、!=&&||高低例如:

inta=1,b=2,x=3,y=4;boold;d=a<b&&x>y; //計(jì)算過(guò)程cout<<d<<endl;//顯示為:0位運(yùn)算符對(duì)整型數(shù)按二進(jìn)制位進(jìn)行位操作包括:~(位求反)、&(位與)、|(為或)、^(位異或)、

<<(左移)、>>(右移)操作數(shù):整數(shù)

按位求反運(yùn)算“~”將操作數(shù)的每一個(gè)二進(jìn)制位按位取反2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)50例如:

unsignedchara=0x97;a=~a;1001011101101000按位與運(yùn)算“&”兩個(gè)操作數(shù)對(duì)應(yīng)的位進(jìn)行與運(yùn)算:如果對(duì)應(yīng)的位都為1,則該位

操作結(jié)果為:1,否則為:02.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)51例如:

unsignedchara=0x97;unsignedcharb=0x78;unsignedcharr=a&b;100101110111100001010000按位或運(yùn)算“|”兩個(gè)操作數(shù)對(duì)應(yīng)的位進(jìn)行或運(yùn)算:如果對(duì)應(yīng)的位都為0,則該位

操作結(jié)果為:0,否則為:12.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)52例如:

unsignedchara=0x97;unsignedcharb=0x70;unsignedcharr=a&b;100101110111000011110111按位異或運(yùn)算“^”兩個(gè)操作數(shù)對(duì)應(yīng)的位進(jìn)行異或運(yùn)算:如果對(duì)應(yīng)的位只有一個(gè)為1,則操作結(jié)果為:1,否則為:02.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)53例如:

unsignedchara=0x97;unsignedcharb=0x70;unsignedcharr=a&b;100101110111000011000111左移運(yùn)算“<<”將左操作數(shù)向左移動(dòng)若干位(由右操作數(shù)指定),

最低位移入:0,移出的最高位丟棄2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)54例如:

unsignedchara=7;a<<1;a<<2;000001110000111000011100右移運(yùn)算“>>”將左操作數(shù)向右移動(dòng)若干位(由右操作數(shù)指定),左操作數(shù)為無(wú)符號(hào)數(shù):最高位移入“0”,移出的最低位丟棄左操作數(shù)為有符號(hào)數(shù):最高位移入“符號(hào)位”,移出的位丟棄2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)55例如:

unsignedchara=8;a<<1;a<<2;000010000000010000000010例如:

chara=-8;a<<1;a<<2;111110001111110011111110復(fù)合賦值運(yùn)算符將位運(yùn)算符和賦值運(yùn)算符結(jié)合包括:&=、|=、^=、<<=、>>=語(yǔ)法格式:aopb,

相當(dāng)于:a=aopbop: &,|,^,<<、>>2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)56~<<、>>&^|&=、^=、|=、<<=、>>=高低位運(yùn)算優(yōu)先級(jí)位運(yùn)算應(yīng)用舉例位運(yùn)算:提供了對(duì)整數(shù)每一個(gè)二進(jìn)制位的設(shè)置和檢驗(yàn)功能實(shí)現(xiàn)掩碼運(yùn)算掩碼:是一個(gè)位模式,它表示從一個(gè)整數(shù)的二進(jìn)制位集合中

選出一組位

例如:掩碼0xff,它表示從一個(gè)整數(shù)中選取

它的最低8位二進(jìn)制位采用位與運(yùn)算實(shí)現(xiàn)比較兩個(gè)整數(shù)是否相等采用位異或運(yùn)算運(yùn)算結(jié)果為0,則相等,否則不相等

2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)57例如:unsignedinta=0x1234;cout<<hex<<(a&0xff)<<endl;運(yùn)行結(jié)果:34(十六進(jìn)制)例如:unsignedchara,b;a=b=0x56;cout<<(a^b)<<endl;運(yùn)行結(jié)果:0條件運(yùn)算符“?:”C++中唯一的三元操作符語(yǔ)法格式:表達(dá)式1?表達(dá)式2:表達(dá)式3計(jì)算表達(dá)式1的值,如果結(jié)果為true,則計(jì)算并返回表達(dá)式2的值,

否則,計(jì)算并返回表達(dá)式2的值2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)58例如:intx=0,y=1;cout<<(x>y?x:y)<<endl;運(yùn)行結(jié)果:1逗號(hào)運(yùn)算符“,”語(yǔ)法格式:表達(dá)式1,表達(dá)式2,……表達(dá)式n順序計(jì)算表達(dá)式1,表達(dá)式2,……,表達(dá)式n的值,并將

表達(dá)式n的值作為逗號(hào)表達(dá)式的值2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)59例如:inta,b,c,d; d=(a=1,b=2,c=a+b,a+b+c);cout<<d<<endl;運(yùn)行結(jié)果:6運(yùn)算符優(yōu)先級(jí)總結(jié)每一類型運(yùn)算符優(yōu)先級(jí)不同類型運(yùn)算符優(yōu)先級(jí)使用圓括號(hào)“()”可以打破

優(yōu)先級(jí)的限制2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)60一元算術(shù)運(yùn)算符、邏輯非二元算術(shù)運(yùn)算符位移位運(yùn)算符關(guān)系運(yùn)算符位運(yùn)算符邏輯運(yùn)算符條件操作符賦值、復(fù)合賦值運(yùn)算符逗號(hào)運(yùn)算符高低數(shù)據(jù)類型轉(zhuǎn)換當(dāng)表達(dá)式中出現(xiàn)多種數(shù)據(jù)類型的混合運(yùn)算時(shí),往往需要進(jìn)行類型轉(zhuǎn)換表達(dá)式中的類型轉(zhuǎn)換分為:隱式類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換隱式類型轉(zhuǎn)換當(dāng)表達(dá)式中需要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換時(shí),編譯器按照相關(guān)轉(zhuǎn)換規(guī)則自動(dòng)執(zhí)行的類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換在表達(dá)式中使用強(qiáng)制類型轉(zhuǎn)換操作符實(shí)現(xiàn)的類型轉(zhuǎn)換2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)61隱式類型轉(zhuǎn)換算術(shù)運(yùn)算的轉(zhuǎn)換基本原則將精度較低、范圍較小的類型轉(zhuǎn)換成精度較高、范圍較大的類型同一種精度的無(wú)符號(hào)數(shù)和有符號(hào)數(shù),有符號(hào)數(shù)轉(zhuǎn)換成無(wú)符號(hào)數(shù)例如:5.0/2賦值運(yùn)算的轉(zhuǎn)換基本原則如果兩個(gè)操作數(shù)的類型不一致,則將右操作數(shù)

的類型轉(zhuǎn)換成左操作數(shù)的類型2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)62例如:inti;i=3.15;cout<<i<<endl; //運(yùn)行結(jié)果:3隱式類型轉(zhuǎn)換邏輯運(yùn)算的轉(zhuǎn)換基本原則邏輯運(yùn)算符要求操作數(shù)為bool類型,如果操作數(shù)為其他類型,則轉(zhuǎn)換成bool類型

0轉(zhuǎn)換成false,非0轉(zhuǎn)換成true例如:3&&0bool類型轉(zhuǎn)換為整數(shù)的基本原則

true轉(zhuǎn)換成1,將false轉(zhuǎn)換成02.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)63C語(yǔ)言的強(qiáng)制類型轉(zhuǎn)換運(yùn)算符“()”語(yǔ)法格式:類型名(表達(dá)式)或者(類型名)表達(dá)式2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)64例如:inti=97;doublef=3.15;cout<<char(i)<<““<<(int)f<<endl;運(yùn)行結(jié)果:a3C++的強(qiáng)制類型轉(zhuǎn)換運(yùn)算符static_cast<類型名>語(yǔ)法格式:static_cast<類型名>

(表達(dá)式)2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)65例如:inti=97;doublef=3.15;cout<<static_cast<char>(i)<<““<<static_cast<int>(f)<<endl;運(yùn)行結(jié)果:a3關(guān)于強(qiáng)制類型轉(zhuǎn)換說(shuō)明

如果強(qiáng)制由高精度的數(shù)據(jù)類型轉(zhuǎn)換至低精度的數(shù)據(jù)類型,數(shù)據(jù)精度將受到損失,從這個(gè)意義上說(shuō),強(qiáng)制類型轉(zhuǎn)換是一種不安全的類型轉(zhuǎn)換在C++編程時(shí)建議使用static_cast運(yùn)算符進(jìn)行強(qiáng)制類型轉(zhuǎn)換基本數(shù)據(jù)類型之間的強(qiáng)制轉(zhuǎn)換都是允許的對(duì)于不允許進(jìn)行的類型轉(zhuǎn)換,

當(dāng)使用static_cast運(yùn)算符時(shí),編譯時(shí)會(huì)報(bào)錯(cuò)

當(dāng)使用C語(yǔ)言的強(qiáng)制類型轉(zhuǎn)換運(yùn)算符時(shí),編譯不會(huì)報(bào)錯(cuò),但運(yùn)行時(shí)會(huì)出錯(cuò)2.4運(yùn)算符和表達(dá)式

C++語(yǔ)言程序設(shè)計(jì)66關(guān)于輸入輸出

標(biāo)準(zhǔn)輸入設(shè)備:一般指鍵盤用于向程序輸入數(shù)據(jù)標(biāo)準(zhǔn)輸出設(shè)備一般指顯示器用于顯示程序的執(zhí)行結(jié)果C語(yǔ)言沒有輸入輸出語(yǔ)句,而是使用庫(kù)函數(shù)實(shí)現(xiàn)輸入輸出基本輸出庫(kù)函數(shù):putchar、printf基本輸入庫(kù)函數(shù):getchar、scanf2.5C語(yǔ)言的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)67putchar函數(shù)功能:向顯示器輸出一個(gè)字符例:字符輸出待輸出的字符寫在小括號(hào)里小括號(hào)里的內(nèi)容是參數(shù)列表

2.5C語(yǔ)言的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)68//字符輸出#include<stdio.h>intmain(){charc='A';

putchar(c);

putchar('\n'); putchar('A');putchar(65);return0;}運(yùn)行結(jié)果:AAAprintf函數(shù)功能:將數(shù)據(jù)按照一定的格式輸出到

顯示器例:字符串輸出小括號(hào)里的內(nèi)容為參數(shù)列表雙引號(hào)里的內(nèi)容照原樣輸出2.5C語(yǔ)言的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)69//輸出字符串#include<stdio.h>intmain(){printf(“helloworld!\n”);return0;}運(yùn)行結(jié)果:helloworld!例:輸出整數(shù)和小數(shù)小括號(hào)里的內(nèi)容格式控制串和參數(shù)列表,多個(gè)參數(shù)用逗號(hào)分隔%d表示輸出整數(shù),用變量age的值替換,顯示到屏幕%f表示顯示小數(shù),用常數(shù)3.14159替換,顯示到屏幕雙引號(hào)里的其他內(nèi)容照原樣輸出2.5C語(yǔ)言的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)70//輸出整數(shù)和小數(shù)#include<stdio.h>intmain(){intage=19;printf("Iam%d.\n",age);printf("PI=%f,Iam%d.\n",3.14159,age);return0;}運(yùn)行結(jié)果:Iam19.PI=3.141590,Iam19.getchar函數(shù)功能:返回從鍵盤讀取的一個(gè)字符例:字符輸入

2.5C語(yǔ)言的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)71//字符輸入#include<stdio.h>intmain(){charc;printf("請(qǐng)輸入一個(gè)字符:

");c=getchar();printf("輸入字符為:%c\n",c);return0;}運(yùn)行結(jié)果:請(qǐng)輸入一個(gè)字符:A輸入字符為:Ascanf函數(shù)功能:進(jìn)行格式化輸入例:輸入整數(shù)和小數(shù)&是取地址運(yùn)算符scanf的格式控制串里不要加多余的空格或’\n’scanf的格式控制串里也可以寫成“%d,%f”,則輸入數(shù)據(jù)時(shí),也需用逗號(hào)分隔2.5C語(yǔ)言的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)72//輸入整數(shù)和小數(shù)#include<stdio.h>intmain(){intage;floatweight;printf("inputageandweight:");scanf("%d%f",&age,&weight);printf("age=%d,weight=%f.\n",age,weight);return0;}運(yùn)行結(jié)果:inputageandweight:1955age=19,weight=55.000000.格式轉(zhuǎn)換說(shuō)明符在printf和scanf的格式控制串中,用來(lái)指明了輸入輸出數(shù)據(jù)的類型信息常用的轉(zhuǎn)換說(shuō)明符2.5C語(yǔ)言的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)73類型字符含

義d十進(jìn)制數(shù)o八進(jìn)制數(shù)x十六進(jìn)制數(shù)u無(wú)符號(hào)十進(jìn)制數(shù)i整型f實(shí)型的小數(shù)形式e實(shí)型的指數(shù)形式gf和e的較短形式c字符s字符串l或h放在任何整數(shù)轉(zhuǎn)換說(shuō)明符之前,用于輸入輸出short或long類型數(shù)據(jù)l或L放在任何浮點(diǎn)轉(zhuǎn)換說(shuō)明符之前,用于輸入輸出double或longdouble類型數(shù)據(jù)C++的輸入輸出

C++沒有輸入輸出語(yǔ)句,而是使用iostream類庫(kù)實(shí)現(xiàn)輸入輸出使用iostream庫(kù)中標(biāo)準(zhǔn)輸入流對(duì)象cin,實(shí)現(xiàn)從鍵盤讀取數(shù)據(jù)使用iostream庫(kù)中標(biāo)準(zhǔn)輸出流對(duì)象cout,將數(shù)據(jù)輸出到屏幕上2.6C++的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)74標(biāo)準(zhǔn)輸入流標(biāo)準(zhǔn)輸入流對(duì)象cin:負(fù)責(zé)從鍵盤讀取數(shù)據(jù)提取操作符“>>”:從cin提取數(shù)據(jù)存入到變量中語(yǔ)法格式:cin>>變量1>>變量2……>>變量n;“>>”可以連續(xù)使用變量的數(shù)據(jù)類型不必一致,“>>”可以識(shí)別變量的類型2.6C++的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)75例:計(jì)算從鍵盤輸入的兩個(gè)整數(shù)的和要求實(shí)際鍵入的數(shù)據(jù)和變量的類型一致注意:如果數(shù)據(jù)類型不匹配,提取操作會(huì)終止如果從鍵盤輸入一個(gè)字符給整型變量,則提取操作終止2.6C++的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)76//計(jì)算從鍵盤輸入的兩個(gè)整數(shù)的和#include<iostream>usingnamespacestd;intmain(){intsum=0,value1,value2;cout<<"請(qǐng)輸入兩個(gè)整數(shù):";cin>>value1>>value2;sum=value1+value2;cout<<"sumis:"<<sum<<endl;return0;}運(yùn)行結(jié)果:請(qǐng)輸入兩個(gè)整數(shù):12sumis:3標(biāo)準(zhǔn)輸出流標(biāo)準(zhǔn)輸出流對(duì)象cout:負(fù)責(zé)將程序中的數(shù)據(jù)顯示到屏幕上插入操作符“<<”:將程序中的數(shù)據(jù)寫入cout語(yǔ)法格式:cout<<表達(dá)式1<<表達(dá)式2……<<表達(dá)式n;“<<”可以連續(xù)使用“<<”可以識(shí)別數(shù)據(jù)的類型,并顯示出來(lái)例如:cout<<“Helloworld!\n”; //在屏幕上顯示字符串常量2.6C++的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)77例:cout的使用2.6C++的輸入輸出

C++語(yǔ)言程序設(shè)計(jì)78//cout的使用#include<iostream>usingnamespacestd;intmain(){inta,b;charch;

cout<<“請(qǐng)按順序輸入兩個(gè)整數(shù)和一個(gè)字符:\n";cin>>a>>b>>ch;

cout<<"a="<<a<<"b="<<b

<<"ch="<<ch<<endl;

return0;}運(yùn)行結(jié)果:請(qǐng)按順序輸入兩個(gè)整數(shù)和一個(gè)字符:12aa=1b=2ch=aC++語(yǔ)言程序設(shè)計(jì)79編程技能aC++中,等于號(hào)“=”用于賦值運(yùn)算例如:inta=5; //變量的定義及初始化a=a+3; //表示讀取變量a的當(dāng)前值,加上3,然后再賦值給變量aC++中,雙等于號(hào)“==”用于判斷兩個(gè)數(shù)是否相等如果相等,則計(jì)算結(jié)果為true,顯示為1如果不相等,則計(jì)算結(jié)果為false,顯示為0注意:不能用雙等于號(hào)判斷兩個(gè)浮點(diǎn)數(shù)是否相等原因:浮點(diǎn)數(shù)在計(jì)算機(jī)中存儲(chǔ)時(shí)不是精確存儲(chǔ)(一)

等于號(hào)和雙等于號(hào)C++語(yǔ)言程序設(shè)計(jì)80sizeof運(yùn)算符用來(lái)確定

數(shù)據(jù)類型或數(shù)據(jù)的長(zhǎng)度語(yǔ)法形式:

sizeof(數(shù)據(jù)類型名)

sizeof(表達(dá)式)(二)sizeof運(yùn)算符

C++語(yǔ)言程序設(shè)計(jì)81//輸出數(shù)據(jù)類型、數(shù)據(jù)的長(zhǎng)度#include<iostream>usingnamespacestd;intmain(){cout<<"char:"<<sizeof(char)<<"字節(jié)\n";cout<<"int:"<<sizeof(int)<<"字節(jié)\n";cout<<"float:"<<sizeof(float)<<"字節(jié)\n";cout<<"double:"<<sizeof(double)<<“字節(jié)\n";cout<<"bool:"<<sizeof(bool)<<"字節(jié)\n";inta=5;cout<<"變量a:"<<sizeof(a)<<"字節(jié)\n";return0;}使用printf輸出時(shí),可以指定顯示寬度(三)

輸出的格式控制C++語(yǔ)言程序設(shè)計(jì)82//指定顯示寬度#include<stdio.h>intmain(){printf("number:%4d,OK\n",3);printf("number:%4d,OK\n",33);printf("number:%4d,OK\n",333);return0;}使用printf輸出時(shí),可以指定顯示寬度(三)

輸出的格式控制C++語(yǔ)言程序設(shè)計(jì)83//指定顯示寬度#include<stdio.h>intmain(){printf("number:%04d,OK\n",3);printf("number:%04d,OK\n",33);printf("number:%04d,OK\n",333);return0;}使用printf輸出時(shí),可以指定小數(shù)點(diǎn)后的位數(shù)例如:printf(“x=%.2f\n”,3.14159);

//顯示為:x=3.14C++使用操控符控制輸入輸出的格式操控符的說(shuō)明包含在頭文件iomanip中操控符可以直接嵌入在輸入輸出語(yǔ)句中實(shí)現(xiàn)格式控制使用setw(intn)操縱符設(shè)置域?qū)抯etw(0)按數(shù)據(jù)實(shí)際寬度輸出如果所設(shè)置域?qū)捫∮跀?shù)據(jù)寬度,則按數(shù)據(jù)實(shí)際寬度輸出setiosflags(ios::left)、setiosflags(ios::right):設(shè)置數(shù)據(jù)對(duì)齊方式默認(rèn):右對(duì)齊setfill(charc):設(shè)置填充字符默認(rèn):空格(三)

輸出的格式控制C++語(yǔ)言程序設(shè)計(jì)84(三)

輸出的格式控制C++語(yǔ)言程序設(shè)計(jì)85例如:cout<<setw(8)<<‘a(chǎn)’<<setw(8)<<‘b’<<endl;顯示為:ab例如:cout<<setfill(‘*’)<<setw(8)<<‘a(chǎn)’<<setw(8)<<‘b’<<endl;顯示為:*******a*******b例如:cout<<setiosflags(ios::left)<<setfill(‘*’)<<setw(8)<<‘a(chǎn)’<<setw(8)<<‘b’<<endl;顯示為:a*******b*******使用setprecision(intn)可以控制顯示浮點(diǎn)數(shù)的數(shù)字個(gè)數(shù)C++默認(rèn)輸出浮點(diǎn)數(shù)的有效位為6位setprecision(0)按默認(rèn)輸出使用setiosflags(ios::fixed)設(shè)置用定點(diǎn)方式表示浮點(diǎn)數(shù)默認(rèn)設(shè)置為顯示6位有效小數(shù)使用setprecision(intn)可以設(shè)置小數(shù)的數(shù)字個(gè)數(shù)使用setiosflags(ios::scientific)設(shè)置用指數(shù)方式表示浮點(diǎn)數(shù)默認(rèn)設(shè)置為顯示6位有效小數(shù)使用setprecision(intn)可以設(shè)置小數(shù)的數(shù)字個(gè)數(shù)使用操縱符將小數(shù)截短顯示時(shí),將進(jìn)行四舍五入處理(三)

輸出的格式控制C++語(yǔ)言程序設(shè)計(jì)86(三)

輸出的格式控制C++語(yǔ)言程序設(shè)計(jì)87例如:doublef=17/7.0;cout<<f<<endl;cout<<setprecision(3)<<f<<endl;顯示為:2.425872.43例如:doublef=17/7.0;cout<<f<<endl;cout<<setiosflags(ios::fixed)<<setprecision(3)<<f<<endl;顯示為:2.425872.429例如:doublef=170/7.0;cout<<f<<endl;cout<<setiosflags(ios::scientific)<<setprecision(3)<<f<<endl;顯示為:24.25872.429e+001C++字符串存儲(chǔ)和處理C++基本數(shù)據(jù)類型中沒有字符串類型C語(yǔ)言:字符數(shù)組、字符指針使用C++標(biāo)準(zhǔn)模板庫(kù)(STL)中的string類型string類型的說(shuō)明包含在頭文件string中string類型支持長(zhǎng)度可變的字符串,處理字符串更方便、安全(四)使用string類型處理字符串C++語(yǔ)言程序設(shè)計(jì)88string對(duì)象的定義和初始化使用string類型,要包含頭文件string#include<string>使用舉例: stringstr1; //定義string對(duì)象str1 stringstr2(“Hello”); //定義string對(duì)象str2,并初始化

stringstr3=str2; //定義string對(duì)象str3,并初始化string對(duì)象的初始化還有其他方法(四)使用string類型處理字符串C++語(yǔ)言程序設(shè)計(jì)89string對(duì)象的輸入輸出屏幕顯示:

使用cout和“<<”鍵盤輸入:

使用cin和“>>”例:string

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論