C++語(yǔ)言基礎(chǔ)計(jì)算機(jī)教學(xué)課件
《C++語(yǔ)言基礎(chǔ)計(jì)算機(jī)教學(xué)課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《C++語(yǔ)言基礎(chǔ)計(jì)算機(jī)教學(xué)課件(90頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、C+語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)C+程序?qū)嵗绦驅(qū)嵗?1#include using namespace std;int main() coutHello!n; coutWelcome to C+!n; return 0;運(yùn)行結(jié)果運(yùn)行結(jié)果:Hello!Welcome to C+!C+字符集字符集 C+字符集是C+程序中可以使用的基本符號(hào)程序中可以使用的基本符號(hào)大小寫的英文字母:大小寫的英文字母:A AZ Z,a az z數(shù)字字符:數(shù)字字符:0 09 9特殊字符:例如特殊字符:例如 空格空格 ! !# #% % & &* *_ _( (下劃線下劃線) )+ += =- - / / “; ;. ., ,()(
2、)C+詞法記號(hào)(類似單詞)詞法記號(hào)(類似單詞) 關(guān)鍵字關(guān)鍵字C+預(yù)定義的單詞 標(biāo)識(shí)符標(biāo)識(shí)符程序員聲明的單詞,它命名程序正文中的一些實(shí)體 文字文字在程序中直接使用符號(hào)表示的數(shù)據(jù) 操作符操作符用于實(shí)現(xiàn)各種運(yùn)算的符號(hào) 分隔符分隔符 如 ; 用于分隔各個(gè)詞法記號(hào)或程序正文 空白符空白符空格、制表符(TAB鍵產(chǎn)生的字符)、換行符(Enter鍵所產(chǎn)生的字符)和注釋注釋的總稱 C+字符集類似英語(yǔ)的字母字母或者漢語(yǔ)的筆畫筆畫。 C+的詞法符號(hào)類似英語(yǔ)的單詞單詞或漢語(yǔ)的字字。 C+程序類似英語(yǔ)的十四行詩(shī)十四行詩(shī)或者漢語(yǔ)的詩(shī)詩(shī)詞歌賦詞歌賦。C+字符集、詞法符號(hào)、程序關(guān)系字符集、詞法符號(hào)、程序關(guān)系C+詞法記號(hào)詞法記
3、號(hào)關(guān)鍵字關(guān)鍵字 關(guān)鍵字又稱保留字,是關(guān)鍵字又稱保留字,是C+預(yù)定義的單詞預(yù)定義的單詞 關(guān)鍵字是關(guān)鍵字是C+中具有固定意義的一批英文中具有固定意義的一批英文單詞或其縮寫,有專門的用途,用在固定單詞或其縮寫,有專門的用途,用在固定的位置,的位置,不能移作它用不能移作它用。C+中共有中共有74個(gè)個(gè)關(guān)鍵字關(guān)鍵字/保留字,每一個(gè)都有自己的故事。保留字,每一個(gè)都有自己的故事。 C+常用關(guān)鍵字及分類常用關(guān)鍵字及分類數(shù)據(jù)類型說(shuō)明數(shù)據(jù)類型說(shuō)明符與修飾符符與修飾符bool char wchar_t class const double enum float int long short signed struct
4、 union unsigned void volatile存儲(chǔ)類型說(shuō)明存儲(chǔ)類型說(shuō)明符符auto extern inline register static訪問說(shuō)明符訪問說(shuō)明符friend private protected public其它說(shuō)明符其它說(shuō)明符asm operator template this typedef virtual 語(yǔ)句與標(biāo)號(hào)語(yǔ)句與標(biāo)號(hào)break case catch continue default do else for goto if return switch throw try while 運(yùn)算符及邏輯運(yùn)算符及邏輯值值delete false new size
5、of trueC+詞法記號(hào)詞法記號(hào)標(biāo)識(shí)符標(biāo)識(shí)符 構(gòu)成規(guī)則:構(gòu)成規(guī)則: 以大寫字母、小寫字母或下劃線以大寫字母、小寫字母或下劃線(_)開始,由開始,由大寫字母、小寫字母、下劃線大寫字母、小寫字母、下劃線(_)或數(shù)字或數(shù)字09組成。組成。例例: 判斷下面哪些是合法的標(biāo)識(shí)符:判斷下面哪些是合法的標(biāo)識(shí)符:MyFile 94Salary Salary94 Salary 94 amount $amount void f3.5 Num_of_Student C+程序?qū)嵗绦驅(qū)嵗?2#include using namespace std;int main() const int PRICE=30; int
6、num,total; float v ,r,h; num=10; total=num*PRICE; couttotalendl; r=2.5; h=3.2; v=3.14159*r*r*h; coutvendl; return 0;數(shù)據(jù)類型數(shù)據(jù)類型 數(shù)據(jù)類型告訴我們存儲(chǔ)單元中的數(shù)據(jù)的形式,及可以對(duì)存儲(chǔ)單元中的數(shù)據(jù)執(zhí)行哪些操作。 C+的數(shù)據(jù)類型可以分為基本類型基本類型、構(gòu)造類構(gòu)造類型型、指針類型指針類型、 空類型(空類型(void)四個(gè)大類。 基本數(shù)據(jù)類型基本數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字關(guān)鍵字字節(jié)數(shù)字節(jié)數(shù)數(shù)值范圍數(shù)值范圍字符型char1-128127整 型int4-21474836482147
7、483647單精度浮點(diǎn)型float4(3.4E-383.4E38)雙精度符點(diǎn)型double8(1.7E-3081.7E308布爾型bool1true,false類型修飾符類型修飾符C+還允許在基本數(shù)據(jù)類型前加上類型修飾符,來(lái)更具體地表示數(shù)據(jù)類型。C+的類型修飾符包括: signed 有符號(hào) unsigned 無(wú)符號(hào) short 短型 long 長(zhǎng)型 數(shù)據(jù)類型標(biāo)識(shí)符數(shù)據(jù)類型標(biāo)識(shí)符字節(jié)數(shù)字節(jié)數(shù)數(shù)值范圍數(shù)值范圍常量寫法舉例常量寫法舉例Char1-128127A, 0,nsigned char1-12812756unsigned char10255100short int2-3276832767100
8、signed short int2-3276832767-3456unsigned short int 20655350 xffint 4- 2 1 4 7 4 8 3 6 4 8 21474836471000signed int4- 2 1 4 7 4 8 3 6 4 8 2147483647-123456unsigned int4042949672950 xffff數(shù)據(jù)類型標(biāo)識(shí)符數(shù)據(jù)類型標(biāo)識(shí)符字節(jié)數(shù)字節(jié)數(shù)數(shù)值范圍數(shù)值范圍常量寫法舉例常量寫法舉例long int4- 2 1 4 7 4 8 3 6 4 8 2147483647-123456long long8-263263 -1 -3246
9、unsigned long int 404294967295123456float 4(3.4E-383.4E38)2.35, -53.231,3E-2 Double8 ( 1 . 7 E - 3 0 8 1.7E308)12.354,-2.5E10long double10 ( 1 . 2 E - 4 9 3 2 1.2E4932)8.5E-300說(shuō)明說(shuō)明:(1)表中帶 的部分表示是可以省略的,如short int可以寫為short int 或簡(jiǎn)寫為short,二者的含義是相同的。(2)四種修飾符都可以用來(lái)修飾整型。四種修飾符都可以用來(lái)修飾整型。用signed修飾的類型的值可以為正數(shù)或負(fù)數(shù),
10、用unsigned修飾的類型的值只能為正數(shù)。(3)用short修飾的類型,其值一定不大于對(duì)應(yīng)的整數(shù),用long修飾的類型,其值一定不小于對(duì)應(yīng)的整數(shù)。 C+的構(gòu)造類型是基本類型的組合,包括數(shù)組、結(jié)構(gòu)體和聯(lián)合體等 指針類型是對(duì)基本類型或構(gòu)造類型的地址進(jìn)行操作的一種數(shù)據(jù)類型。 空類型(void)是什么 也沒有的一種特殊數(shù)據(jù)類型,僅用在有限的一些情況下,通常用作無(wú)返回值函數(shù)的返回類型。 有時(shí)也被歸有時(shí)也被歸類到基本類型類到基本類型常量常量 在C+語(yǔ)言中,數(shù)據(jù)分為常量和變量?jī)纱箢悺?由于程序中的數(shù)據(jù)是有類型的,所以常量和變量都是有類型之分的。 常量按照不同的數(shù)據(jù)類型可以分為: 字符型常量、整型常量、浮點(diǎn)
11、型常量,以及字符串常量等。 程序是根據(jù)程序中常量的書寫格式來(lái)區(qū)分它是哪種類型常量的。整型常量在程序中書寫整型常量時(shí),沒有小數(shù)部分。用戶可根據(jù)需要分別可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式書寫: 十進(jìn)制格式 :由數(shù)字0至9和正、負(fù)號(hào)組成,書寫時(shí)直接寫出數(shù)字,如:123,-516,+1000等。 八進(jìn)制格式 :以數(shù)字0開頭的數(shù)字(0至7)序列,0111,010007,0177777等。 十六進(jìn)制格式 :以0 x或0X開頭的數(shù)字(數(shù)字0至9、字母A至Z)序列,如0 x78AC,0 xFFFF等。浮點(diǎn)型常量 只能用十進(jìn)制來(lái)表示。可以用小數(shù)或指數(shù)形式表示,不分單精度和雙精度類型。如:34.5 , .345
12、, 1.5e-3字符型常量字符型常量 (1)用一對(duì)單引號(hào)括起來(lái)的一個(gè)字符,單引號(hào)只是字符與其他部分的分割符,不是字符的一部分,并且,不能用雙引號(hào)代替單引號(hào)。在單引號(hào)中的字符不能是單引號(hào)或反斜杠。如: a , A, # 合法的字符常量 , 非法的字符常量 “A” 不代表字符常量 (2)另一種表示字符常量的方法是使用轉(zhuǎn)義字符。C+規(guī)定,采用反斜杠后跟一個(gè)字母來(lái)代表一個(gè)控制字符,具有新的含義 。C+中常用的轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義ASCII碼值(十進(jìn)制)碼值(十進(jìn)制)a響鈴(BEL)7b退格(BS)8n換行(LF)10r回車(CR)13t水平制表(HT)9v垂直制表(VT)11反斜杠92單引
13、號(hào)39”雙引號(hào)340空格符(NULL)0ddd任意字符3位八進(jìn)制數(shù)xhh任意字符2位十六進(jìn)制數(shù)字符串常量字符串常量 用一對(duì)雙引號(hào)括起來(lái)的一個(gè)或多個(gè)字符的序列稱為字符串常量或字符串。字符串以雙引號(hào)為定界符,雙引號(hào)不作為字符串的一部分。如: “Hello”, “Good Morning!” ,“I say: “ Goodbye!” 字符串中的字符數(shù)稱為該字符串的長(zhǎng)度,在存儲(chǔ)時(shí),系統(tǒng)自動(dòng)在字符串的末尾加以字符串結(jié)束標(biāo)志,即轉(zhuǎn)義字符 0。符號(hào)常量符號(hào)常量常量也可用一個(gè)標(biāo)識(shí)符來(lái)代表,稱為符號(hào)常量。如:#define PRICE 30int main()cout PRICEendl; return 0;使
14、用符號(hào)常量應(yīng)注意注意以下幾個(gè)方面:(1)它不同于變量,在作用域內(nèi)其值不能改變和賦值。 如:在上例中如再用PRICE=40;這一語(yǔ)句進(jìn)行賦值則是錯(cuò)誤的。(2)符號(hào)常量名一般用大寫,而變量名用小寫,以示區(qū)別。在程序中的常量有以下三種表示方法:在程序中的常量有以下三種表示方法:(1)在程序中直接寫入常量(詞法記號(hào)中的文字文字)如:-200,3.4E-10,A,1,0 x120,045,5.35,1000l(2)利用#define定義宏常量(符號(hào)常量符號(hào)常量)一般格式: #define 宏名 常數(shù)如:#define PI 3.14 s=2*PI*r; 程序中常量的表示方法程序中常量的表示方法(3)利用
15、const定義正規(guī)常數(shù)(常變量常變量)格式:const數(shù)據(jù)類型標(biāo)識(shí)符 常量名=常量值;說(shuō)明: const必須放在被修飾類型符和類型名前面 數(shù)據(jù)類型是一個(gè)可選項(xiàng),用來(lái)指定常數(shù)值的數(shù)據(jù)類型,如果省略了該數(shù)據(jù)類型,那么編譯程序認(rèn)為它是 int 類型如:const int a=10; 表示定義了一個(gè)初始值為10的整型常量,它在程序中不可改變,但可用于表達(dá)式的計(jì)算中1變量的概念及特點(diǎn)變量的概念及特點(diǎn) 程序中的變量是用于保存程序運(yùn)算過(guò)程中所需要的原始數(shù)據(jù)、中間運(yùn)算結(jié)果和最終結(jié)果的,因此,每一變量就相當(dāng)于一個(gè)容器,對(duì)應(yīng)每一變量就相當(dāng)于一個(gè)容器,對(duì)應(yīng)著計(jì)算機(jī)內(nèi)存中的某一塊存儲(chǔ)單元。著計(jì)算機(jī)內(nèi)存中的某一塊存儲(chǔ)單
16、元。變量的值具有以下兩個(gè)特點(diǎn):(1)“一充即無(wú)一充即無(wú)”:即將一個(gè)新數(shù)據(jù)存放到一個(gè)變量中時(shí),該變量中原來(lái)的值消失,變量的值變成了新值。如:執(zhí)行完語(yǔ)句int i; i=10; i=20;后i的值為20,而不是10。變變 量量(2)“取之不盡取之不盡”: 可將某個(gè)變量的值與程序中的其它數(shù)據(jù)進(jìn)行各種運(yùn)算,在運(yùn)算過(guò)程中,如果沒有改變?cè)撟兞康闹禃r(shí),那么,不管用該變量的值進(jìn)行多少次運(yùn)算,其值始終保持不變。 如:語(yǔ)句int i,j,k; i=10; j=i+10; k=i+j*5;其中,i的值可無(wú)限制地多次使用,但它的值始終保持值10,因?yàn)樵诔绦蛑袥]有改變變量i的值。2定義變量定義變量(變量聲明變量聲明)
17、程序中的每一變量,都要先定義,后使用程序中的每一變量,都要先定義,后使用。定義變量一般有以下三種格式:數(shù)據(jù)類型標(biāo)識(shí)符數(shù)據(jù)類型標(biāo)識(shí)符 變量名;變量名;數(shù)據(jù)類型標(biāo)識(shí)符數(shù)據(jù)類型標(biāo)識(shí)符 變量名變量名=初始化值;初始化值;數(shù)據(jù)類型標(biāo)識(shí)符數(shù)據(jù)類型標(biāo)識(shí)符 變量名變量名1=初始值初始值1,變量名,變量名2=初始值初始值2,;如:char a; /定義字符型變量aint i=1000; /定義整型變量i,i的初始值為1000;float a=2,b=3,c; /*定義浮點(diǎn)型變量 a、b、c,且a、 b的初始值分別為2、3。*/ 3定義變量的位置定義變量的位置 在程序中的不同位置采用不同的變量定義方式,決定了該變
18、量具有不同的特點(diǎn)。變量的定義一般可有以下三種位置:(1)在函數(shù)體內(nèi)部 在函數(shù)體內(nèi)部定義的變量稱為局部變量,這種局部變量只在進(jìn)入定義它的函數(shù)體時(shí)起作用,離開該函數(shù)體后該變量就消失(被釋放),即不再起作用。因此,不同函數(shù)體內(nèi)部可以定義相同名稱的變量,而互不干擾。如: void func1() int y; y=2;void func2() int y; y=-100;(2)形式參數(shù) 當(dāng)定義一個(gè)有參函數(shù)時(shí),函數(shù)名后面括號(hào)內(nèi)的變量,統(tǒng)稱為形式參數(shù)。如:int is_in(char *a, char b) while(*a) if (*a=b) return 1; else a+; return 0;(
19、3)全局變量:在所有函數(shù)體外部定義的變量,其作用范圍是整個(gè)程序,并在整個(gè)程序運(yùn)行期間有效。如:int count; /定義count變量是全局變量void func1(); void func2();int main() count=10; func1();void func1() int temp; temp=count; func2(); printf(“count is %d”, count); / /輸出10void func2() int count; for(count=1;counta 變量名一般要以小寫字母開頭,且見名知義。變量名一般要以小寫字母開頭,且見名知義。 算術(shù)運(yùn)算符和
20、算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 算術(shù)運(yùn)算符就是對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,如:加、減、乘、除等,是在程序中使用最多的一種運(yùn)算符,C+的算術(shù)運(yùn)算符如表所示。 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符運(yùn)算符功能功能數(shù)據(jù)類型數(shù)據(jù)類型例子例子-負(fù)號(hào)數(shù)值x=-y;+加數(shù)值z(mì)=x+y;-減數(shù)值z(mì)=x-y;*乘數(shù)值z(mì)=x*y/除數(shù)值z(mì)=x/y;%求余整數(shù)z=x%y+自加數(shù)值z(mì)+或+zC+的算術(shù)運(yùn)算符的算術(shù)運(yùn)算符 -自減數(shù)值z(mì)-或-z(1+x)/(3*x)(2*x-3)*x+2)*x)-53.14*sqrt(r)b*b-4.0*a*c算術(shù)運(yùn)算符注意事項(xiàng)算術(shù)運(yùn)算符注意事項(xiàng) 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 / 有整除和一般除法兩種功能
21、。如果兩個(gè)操作數(shù)都是整數(shù),/ 的功能就是整除,否則就是一般除法。例如: 3 / 2 =1 3 / 2.0 =1.5 3.0 / 2 =1.5 a+與+a(a-與-a)a+的功能是:a的值增1,a+的值是a增加前的值; +a的功能是: a的值增1,+a的值是a增加后的值; +a可以用作左值,即能放在賦值號(hào)的左邊。賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 賦值運(yùn)算符的功能將某個(gè)數(shù)據(jù)的值賦給某個(gè)變量。格式:變量名 賦值運(yùn)算符 表達(dá)式說(shuō)明:(1)被賦值的目標(biāo),即賦值運(yùn)算符左邊的量必須是變量,而不能是常量或表達(dá)式。(2)C+中的賦值運(yùn)算符表(3)要注意區(qū)分賦值運(yùn)算符“=”與數(shù)學(xué)上的“等號(hào)”間的區(qū)別賦
22、值運(yùn)算符賦值運(yùn)算符例子例子等價(jià)形式等價(jià)形式=x=x+yx=x+y+=x+=y+zx=x+(y+z)-=x-=y+zx=x-(y+z)*=x*=y+zx=x*(y+z)/=x/=y+zx=x/(y+z)%=x%=y+zx=x%(y+z)關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式 關(guān)系運(yùn)算符就是對(duì)兩個(gè)量之間進(jìn)行比較的運(yùn)算符。關(guān)系運(yùn)算符關(guān)系運(yùn)算符含義含義例子例子10=小于或等于(x+y)*2大于x+yz=大于或等于x-y=a*b+2= =等于x+y=a+b!=不等于x-y!=0 由關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接形成的運(yùn)算式子是關(guān)系表達(dá)式,一個(gè)關(guān)系表達(dá)式的值是一個(gè)邏輯值,當(dāng)為真時(shí),值為1,為假時(shí),值為0
23、。如:假設(shè)a=1,b=20,c=3,則a10)&邏輯與(i1) & (ic)的值為1(真)。(2)在邏輯表達(dá)式的求值過(guò)程中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的值時(shí),才執(zhí)行該運(yùn)算符。 a & b & c 只有a為真時(shí),才需要判別b的值,只有a和b的值都為真時(shí)才需要判別c的值。如:int i=10;則表達(dá)式i & (i=0) & (+i)的值為0(假),該表達(dá)式運(yùn)算結(jié)束后,變量i的值為0,而不是1。 a | b|c 只要a為真,就不必須判斷b和c;只有a為假,才判別b;a和b 都為假才判別c。如:int i=1,j; 則表達(dá)式i+|i+|i+的值為1(真
24、),運(yùn)算結(jié)束后,變量i的值為2,而不是4。int n=3,m=6;if (n4) & (m+10)cout“m should not changed.n”;cout“m= “mendl; 對(duì)于數(shù)學(xué)上的表示多個(gè)數(shù)據(jù)間進(jìn)行比較的表達(dá)式,在C+中要拆寫成多個(gè)條件并用邏輯運(yùn)算符連接形成一個(gè)邏輯表達(dá)式。如:在數(shù)學(xué)上,要表示一個(gè)變量a的值處于-1和-9之間時(shí),可以用-9a-9) & (a-1),而不能寫成-9a-1。因?yàn)?,假設(shè)變量a當(dāng)前的值為-5,它的值確實(shí)處在-1和-9之間,但在C+語(yǔ)言中求-9a-1時(shí),從左向右進(jìn)行計(jì)算,先計(jì)算-9a,得1 (真),此時(shí)該表達(dá)式可簡(jiǎn)化為1-9) & (ab?a:b的值為
25、4條件表達(dá)式可以嵌套:xy?”great than”:x= =y?”equal to”:”less than”它等價(jià)于:(xy)?”great than”:(x= =y)?”equal to”:”less than”)在條件表達(dá)式中,如果后面兩個(gè)表達(dá)式的值類型相同,均為左值,則該條件表達(dá)式的值為左值表達(dá)式。int x=5;long a,b;(x?a:b)=1;(x?x:a)=2; /error:x和a不同類型(x= =2?1:a)=3; /error:1非左值位運(yùn)算符位運(yùn)算符1位運(yùn)算符及其運(yùn)算規(guī)則位運(yùn)算符及其運(yùn)算規(guī)則 所謂位運(yùn)算符是指能進(jìn)行二進(jìn)制位運(yùn)算的運(yùn)算符。C+提供的位運(yùn)算符:運(yùn)算符含義例
26、子&按位與i&128|按位或j|64按位異或j12按位取反j按位左移i按位右移j2位運(yùn)算的運(yùn)算規(guī)則為:(1)按位與&:兩個(gè)運(yùn)算量相應(yīng)的位都是1,則該位的結(jié)果值為1,否則為0;(2)按位或|:兩個(gè)運(yùn)算量相應(yīng)的位只要有一個(gè)是1,則該位的結(jié)果值為1,否則為0;(3)按位異或:兩個(gè)運(yùn)算量相應(yīng)的位不同,則該位的結(jié)果值為1,否則為0;(4)按位取反:將運(yùn)算量的每一位取反。(5)按位左移:將操作數(shù)中的每一位向右移動(dòng)指定的位數(shù),移出的位被舍棄,空出的位補(bǔ)0或補(bǔ)符號(hào)位。例子如:a=5,b=6,則:a 00000101 00000101 00000101b &00000110 00000110 00000110
27、00000110 00000100 00000111 00000011 11111001即:a&b=4,a|b=7,ab=3,b=249。 2復(fù)合位運(yùn)算符復(fù)合位運(yùn)算符 位運(yùn)算符與賦值運(yùn)算符結(jié)合可以形成復(fù)合位運(yùn)算符。運(yùn)算符例子等價(jià)形式&=x&=y+zx=x&(y+z)|=x|=x+2x=x|(x+2)=x=yx=xy=x=y+zx=x=x=y+zx=x(y+z)逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符 逗號(hào)運(yùn)算符的運(yùn)算優(yōu)先級(jí)是最低的。一般形式為:表達(dá)式1,表達(dá)式2,表達(dá)式N 在計(jì)算逗號(hào)表達(dá)式的值時(shí),按從左至右的順序依次分別計(jì)算各個(gè)表達(dá)式的值,而整個(gè)逗號(hào)表達(dá)式的值和類型是由最右邊的表達(dá)式?jīng)Q定。 如:有語(yǔ)句int a=
28、3,b=4;則表達(dá)式a+,b+,a+b的值為9。 再如:設(shè)有int i;則表達(dá)式i=1,i+=2?i+1:i+4的值為6。該運(yùn)算符的功能是將某一數(shù)據(jù)從一種數(shù)據(jù)類型向另一種數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換。其使用的一般形式:1.數(shù)據(jù)類型標(biāo)識(shí)符 (表達(dá)式)2.(數(shù)據(jù)類型標(biāo)識(shí)符)表達(dá)式如:int i=2;float a,b;a=float(i);/將變量i的類型強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型, 并將其值賦給變量ab=(float)i;/將變量i的類型強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型, 并將其值賦給變量b強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符每個(gè)運(yùn)算符都有自己優(yōu)先級(jí)和結(jié)合性。當(dāng)一個(gè)表每個(gè)運(yùn)算符都有自己優(yōu)先級(jí)和結(jié)合性。當(dāng)一個(gè)表達(dá)式中包含多個(gè)運(yùn)算符時(shí),
29、要確定運(yùn)算的結(jié)果,達(dá)式中包含多個(gè)運(yùn)算符時(shí),要確定運(yùn)算的結(jié)果,必須首先確定運(yùn)算的先后順序,即運(yùn)算符的優(yōu)必須首先確定運(yùn)算的先后順序,即運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。先級(jí)和結(jié)合性。C+中運(yùn)算符的優(yōu)先級(jí)和結(jié)合中運(yùn)算符的優(yōu)先級(jí)和結(jié)合性如表性如表2.11所示。所示。 運(yùn)算符的優(yōu)先級(jí)與結(jié)合性運(yùn)算符的優(yōu)先級(jí)與結(jié)合性優(yōu)先級(jí)運(yùn)算符結(jié)合性1() : - . .* -*自左至右2! + - + - * & (類型) sizeof new delete自右至左3* / %自左至右4+ -自左至右5自左至右6 =自左至右7= !=自左至右8&自左至右9自左至右10|自左至右11&自左至右12|自左至右13?:自右至左14= +
30、= -= *= /= %= = &= = |=自右至左15,自左至右C+中運(yùn)算符的優(yōu)先級(jí)和結(jié)合性中運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 輸出流對(duì)象輸出數(shù)據(jù)的語(yǔ)句格式為: cout數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)n;說(shuō)明:(1)cout是系統(tǒng)預(yù)定義的一個(gè)標(biāo)準(zhǔn)輸出設(shè)備(一般代表顯示器);“”是輸出操作符,用于向cout輸出流中插入數(shù)據(jù)。(2)cout的作用是向標(biāo)準(zhǔn)輸出設(shè)備上輸出數(shù)據(jù),被輸出的數(shù)據(jù)可以是常量、已有值的變量或是一個(gè)表達(dá)式。數(shù)據(jù)的輸出數(shù)據(jù)的輸出cout(3)可以在cout輸出流中插入C+中的轉(zhuǎn)義字符。如:cout “Input the value of a:n;couta; 表示輸出完字符串Input the val
31、ue of a:后,在下一行輸出變量a的值。(4)可以將多個(gè)被輸出的數(shù)據(jù)寫在一個(gè)cout中,各輸出項(xiàng)間用“”操作符隔開即可,但要注意cout首先按從右向左的順序從右向左的順序計(jì)算出各輸出項(xiàng)的值,然后再輸出各項(xiàng)的值。如:cout value of a:a value of b:b The result is : sqrt(a*a+b*b);再 如 : 設(shè) 變 量 i 的 值 為 1 0 , 則couti,i+,i+;的輸出結(jié)果為:的輸出結(jié)果為:12,11,10(5)一個(gè)cout語(yǔ)句也可拆成若干行書寫,但注意語(yǔ)句結(jié)束符“;”只能寫在最后一行上。如:對(duì)于上面的語(yǔ)句也可寫成如下形式: cout val
32、ue of a: /注意行末無(wú)分號(hào) a value of b: b The result is : sqrt(a*a+b*b); /在此處書寫分號(hào)(6)在cout中,實(shí)現(xiàn)輸出數(shù)據(jù)換行功能的方法:既可使用轉(zhuǎn)義字符“n”,也可使用表示行結(jié)束的流操作endl。如:coutThis is first Line.nThis is second line. ;上面語(yǔ)句可等價(jià)地寫為:coutThis is first Line.endlThis is second line. ;(7)在cout中還可以使用流控制符控制數(shù)據(jù)的輸出格式。I/O流的常用控制符控制符功能dec十進(jìn)制數(shù)輸出hex十六進(jìn)制數(shù)輸出oct
33、八進(jìn)制數(shù)輸出setfill(c)在給定的輸出域?qū)挾葍?nèi)填充字符csetprecision(n)設(shè)顯示小數(shù)精度為n位setw(n)設(shè)域?qū)挒閚個(gè)字符setiosflags(ios:fixed)固定的浮點(diǎn)顯示setiosflags(ios:scientific)指數(shù)顯示setiosflags(ios:left)左對(duì)齊setiosflags(ios:right)右對(duì)齊setiosflags(ios:skipws)忽略前導(dǎo)空白setiosflags(ios:uppercase)十六進(jìn)制數(shù)大寫輸出setiosflags(ios:lowercase)十六進(jìn)制數(shù)小寫輸出setiosflags(ios:showb
34、ase)按十六八進(jìn)制輸出數(shù)據(jù)時(shí),前面顯示前導(dǎo)符0 x; 設(shè)置域?qū)挘核^域?qū)捑褪潜惠敵鰯?shù)據(jù)所占的輸出寬度(單位是字符數(shù))。設(shè)置域?qū)捒梢允褂昧骺刂品鹲etw(n)和cout的方法cout.width(n) 其中n為正整數(shù),表示域?qū)?。但是?cout.width(n)和setw(n)二者都只對(duì)下一個(gè)被輸出的數(shù)據(jù)有作用,若一個(gè)輸出語(yǔ)句內(nèi)有多個(gè)被輸出的數(shù)據(jù),而要保持一定格式域?qū)挄r(shí),需要在每一輸出數(shù)據(jù)前加上需要在每一輸出數(shù)據(jù)前加上cout.width(n)或或setw(n)。 此外,當(dāng)參數(shù)n的值比實(shí)際被輸出數(shù)據(jù)的寬度大時(shí),則在給定的域?qū)拑?nèi),數(shù)據(jù)靠右輸出,不足部分自動(dòng)填充空格符;若被輸出數(shù)據(jù)的實(shí)際寬度比n值
35、大時(shí),則數(shù)據(jù)所占的實(shí)際位數(shù)輸出數(shù)據(jù),設(shè)置域?qū)挼膮?shù)n不再起作用。例例 cout流控制符setw的使用。#include using namespace std;int main() int a=21,b=999; coutsetw(3)asetw(4)asetw(5)aendl; cout.width(3); coutb; cout.width(4); coutb; return 0;其輸出結(jié)果是:21 21 21 /程序中第一個(gè)cout的輸 出結(jié)果999999 設(shè)置域內(nèi)填充字符:在默認(rèn)情況下,當(dāng)被輸出的數(shù)據(jù)未占滿域?qū)挄r(shí),會(huì)自動(dòng)在域內(nèi)靠左邊填充相應(yīng)個(gè)數(shù)的空格符。但我們也可以設(shè)置在域內(nèi)填充其他的
36、字符,方法是利用cout的fill方法cout.fill(c)或setfill(c)。 cout.fill(c)上和 setfill(c)可以對(duì)所有被輸出的數(shù)據(jù)起作用。例例 在例2-2的基礎(chǔ)上增加域內(nèi)填充字符的功能。#include using namespace std;int main() int a=21,b=999; cout.fill(#);/設(shè)置域內(nèi)填充字符為#字符 coutsetw(3)asetw(4)a setw(5)aendl; coutsetw(3)bsetw(4) bsetw(5)bendl; cout.fill(%);/將域內(nèi)填充字符改為%字符coutsetw(3)a+
37、bsetw(4) a+bsetw(5)a+bendl; return 0;其輸出結(jié)果是:#21#21#21 /程序中第一個(gè)cout的輸出結(jié)果, 未占滿域?qū)挼牟糠痔畛?字符。999#999#999 /程序中第二個(gè)cout的輸出結(jié)果10201020%1020 /程序中第三個(gè)cout的輸出結(jié)果, 未占滿域?qū)挼牟糠痔畛?字符。 設(shè)置輸出數(shù)據(jù)的進(jìn)位計(jì)數(shù)制:在默認(rèn)情況下,被輸出的數(shù)據(jù)按十進(jìn)制格式輸出。但可以使用流控制符hex和oct控制數(shù)據(jù)的輸出格式為十六進(jìn)制和八進(jìn)制,一旦設(shè)置成某種進(jìn)位計(jì)數(shù)制后,數(shù)據(jù)的輸出就以該種數(shù)制為主,可利用流控制符dec將數(shù)制重新成十進(jìn)制。int a=21,b=999;coutse
38、tw(3)setfill(#)hexaendl; coutsetw(3)bendl;coutsetw(3)setfill(#)octbendl; coutsetw(3)bsetw(4) bsetw(5)bendl;coutsetw(3)setfill(#)decaendl;coutsetw(3)bsetw(4) bsetw(5)bendl;程序的輸出結(jié)果為:#15 /以十六進(jìn)制格式輸出數(shù)據(jù)3e7#25 /以八進(jìn)制格式輸出數(shù)據(jù)1747#21 /以十進(jìn)制格式輸出數(shù)據(jù)999 設(shè)置浮點(diǎn)數(shù)的輸出格式:對(duì)于浮點(diǎn)數(shù),既可以用小數(shù)格式輸出,也可以用指數(shù)格式輸出。這可以分別通過(guò)setiosflags(ios:f
39、ixed)和setiosflags(ios:scientific)來(lái)控制。例例 已知圓的半徑r=6.779,計(jì)算并輸出圓的周長(zhǎng)和面積,要求分別用指數(shù)和小數(shù)兩種格式輸出。#include using namespace std;const double pi=3.14159;int main() double r=6.779,c,s; c=2.0*pi*r; /計(jì)算圓的周長(zhǎng) s=pi*r*r; /計(jì)算圓的面積/以指數(shù)格式輸出圓的面積和周長(zhǎng) cout“圓周長(zhǎng)(指數(shù))為:” setiosflags(ios:scientific)cendl; cout“圓的面積(指數(shù))為:”sendl; /以小數(shù)輸出
40、圓的面積和周長(zhǎng) cout“圓的周長(zhǎng)(小數(shù))為:” setiosflags(ios:fixed)cendl; cout“圓的面積(小數(shù))為:” setiosflags(ios:fixed)s變量名1變量名2變量名n;說(shuō)明:(1)cin是系統(tǒng)預(yù)定義的一個(gè)標(biāo)準(zhǔn)輸入設(shè)備(2)cin的功能是:當(dāng)程序在運(yùn)行過(guò)程中執(zhí)行到cin時(shí),程序會(huì)暫停執(zhí)行并等待用戶從鍵盤輸入相應(yīng)數(shù)目的數(shù)據(jù),用戶輸入完數(shù)據(jù)并回車后,cin從輸入流中取得相應(yīng)的數(shù)據(jù)并傳送給其后的變量中。數(shù)據(jù)的輸入數(shù)據(jù)的輸入cin(3)“”操作符后除了變量名外不得有其他數(shù)字、字符串或字符,否則系統(tǒng)會(huì)報(bào)錯(cuò)。如:cinx=x; /錯(cuò)誤,因含有字符串x= cinx
41、x; /錯(cuò)誤,因含有字符x= cinx10; /錯(cuò)誤,因含有常量10 (4)cin后面所跟的變量可為任何數(shù)據(jù)類型,若變量為整型數(shù)據(jù)類型,則在程序運(yùn)行過(guò)程中從鍵盤輸入數(shù)據(jù)時(shí),可分別按十進(jìn)制、八進(jìn)制或十六進(jìn)制輸入該整數(shù)。當(dāng)按十進(jìn)制格式輸入整數(shù)時(shí),可直接輸入數(shù)據(jù)本身即可;若以十六進(jìn)制輸入整數(shù)時(shí),數(shù)據(jù)前要冠以0 x或0X;若按八進(jìn)制格式輸入整數(shù)時(shí),數(shù)據(jù)前要冠以數(shù)字0;若cin后面的變量為浮點(diǎn)類型(單精度或雙精度)時(shí),可分別按小數(shù)或指數(shù)的格式輸入該浮點(diǎn)數(shù)。若cin后面的變量為字符類型時(shí),可直接輸入字符數(shù)據(jù)而不能在字符的兩端加單引號(hào)。注意:(5)當(dāng)程序中用cin輸入數(shù)據(jù)時(shí),最好在該語(yǔ)句之前用cout輸出一個(gè)需要輸入數(shù)據(jù)的提示信息,以正確引導(dǎo)和提示用戶輸入正確的數(shù)據(jù)。如:coutx;(6)當(dāng)一個(gè)cin后面同時(shí)跟有多個(gè)變量時(shí),則用戶在輸入數(shù)據(jù)時(shí)的個(gè)數(shù)應(yīng)與變量的個(gè)數(shù)相同,各數(shù)據(jù)之前用一個(gè)或多個(gè)空格隔開,輸入完后按回車鍵;或者,每輸入一個(gè)數(shù)據(jù)按回車鍵也可。如對(duì)于以下程序段:int x;double a;char c1;coutxac1;cout整數(shù):x浮點(diǎn)數(shù):a字符:c1;運(yùn)行過(guò)程中,屏幕上顯示 “輸入一個(gè)整數(shù)、一個(gè)浮點(diǎn)數(shù)和一個(gè)字符:”,用戶輸入數(shù)據(jù)的格式可以是: 1003.14a 或者:100 3.14 a或者: 100 3.14 a最后程序的輸出結(jié)果為:“整數(shù):100浮點(diǎn)數(shù):3.14字符:a”
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《光的折射》課件-(公開課獲獎(jiǎng))2022年滬科版物理-
- UV油墨的基礎(chǔ)知識(shí)課件
- 藍(lán)色簡(jiǎn)約后備護(hù)士長(zhǎng)競(jìng)聘動(dòng)態(tài)課件
- 藍(lán)色清新筆記本翻頁(yè)年終總結(jié)模板課件
- 81二元一次方程組課件(人教版七年級(jí)下)
- 局部解剖學(xué)-頭部-蝶鞍區(qū)、海綿竇、硬腦膜
- 7273第1課時(shí) 位似圖形及作圖
- 供應(yīng)鏈管理-PPT
- 幼兒園管理過(guò)程
- 4索溪谷的“野”2
- 外科補(bǔ)液注意問題
- 組織行為學(xué)--價(jià)值觀與態(tài)度
- 燈光教學(xué)課件1
- 中原城市春季車展招商方案
- 祛痰劑醫(yī)學(xué)知識(shí)專家講座