青少年信息奧賽C++語(yǔ)言基礎(chǔ)教學(xué)課件_第1頁(yè)
青少年信息奧賽C++語(yǔ)言基礎(chǔ)教學(xué)課件_第2頁(yè)
青少年信息奧賽C++語(yǔ)言基礎(chǔ)教學(xué)課件_第3頁(yè)
青少年信息奧賽C++語(yǔ)言基礎(chǔ)教學(xué)課件_第4頁(yè)
青少年信息奧賽C++語(yǔ)言基礎(chǔ)教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩175頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C++語(yǔ)言基礎(chǔ)好好的C++語(yǔ)言基礎(chǔ)好好的C++程序?qū)嵗?#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"Hello!\n";cout<<"WelcometoC++!\n";return0;}運(yùn)行結(jié)果:Hello!WelcometoC++!好好的C++程序?qū)嵗?#include<bits/stdc++C++字符集C++字符集是C++程序中可以使用的基本符號(hào)大小寫(xiě)的英文字母:A~Z,a~z數(shù)字字符:0~9特殊字符:例如空格 ! # % ^ & *

_(下劃線) + = - ~ < > / \ ‘

“ ; . , () [] {}好好的C++字符集C++字符集是C++程序中可以使用的基本符號(hào)好好C++詞法記號(hào)(類(lèi)似單詞)關(guān)鍵字

C++預(yù)定義的單詞標(biāo)識(shí)符 程序員聲明的單詞,它命名程序正文中的一些實(shí)體文字 在程序中直接使用符號(hào)表示的數(shù)據(jù)操作符 用于實(shí)現(xiàn)各種運(yùn)算的符號(hào)分隔符 如{};

用于分隔各個(gè)詞法記號(hào)或程序正文空白符 空格、制表符(TAB鍵產(chǎn)生的字符)、 換行符(Enter鍵所產(chǎn)生的字符)和注釋的總稱(chēng)好好的C++詞法記號(hào)(類(lèi)似單詞)關(guān)鍵字 C++預(yù)定義的單詞好好的C++字符集類(lèi)似英語(yǔ)的字母或者漢語(yǔ)的筆畫(huà)。C++的詞法符號(hào)類(lèi)似英語(yǔ)的單詞或漢語(yǔ)的字。C++程序類(lèi)似英語(yǔ)的十四行詩(shī)或者漢語(yǔ)的詩(shī)詞歌賦。C++字符集、詞法符號(hào)、程序關(guān)系好好的C++字符集類(lèi)似英語(yǔ)的字母或者漢語(yǔ)的筆畫(huà)。C++字符集、詞法C++詞法記號(hào)——關(guān)鍵字關(guān)鍵字又稱(chēng)保留字,是C++預(yù)定義的單詞關(guān)鍵字是C++中具有固定意義的一批英文單詞或其縮寫(xiě),有專(zhuān)門(mén)的用途,用在固定的位置,不能移作它用。C++中共有74個(gè)關(guān)鍵字/保留字,每一個(gè)都有自己的故事。

好好的C++詞法記號(hào)——關(guān)鍵字關(guān)鍵字又稱(chēng)保留字,是C++預(yù)定義的單C++常用關(guān)鍵字及分類(lèi)數(shù)據(jù)類(lèi)型說(shuō)明符與修飾符boolcharwchar_tclassconstdoubleenumfloatintlongshortsignedstructunionunsignedvoidvolatile存儲(chǔ)類(lèi)型說(shuō)明符autoexterninlineregisterstatic訪問(wèn)說(shuō)明符friendprivateprotectedpublic其它說(shuō)明符asmoperatortemplatethistypedefvirtual語(yǔ)句與標(biāo)號(hào)breakcasecatchcontinuedefaultdoelseforgotoifreturnswitchthrowtrywhile

運(yùn)算符及邏輯值deletefalsenewsizeoftrue好好的C++常用關(guān)鍵字及分類(lèi)boolcharwcharC++詞法記號(hào)——標(biāo)識(shí)符構(gòu)成規(guī)則:以大寫(xiě)字母、小寫(xiě)字母或下劃線(_)開(kāi)始,由大寫(xiě)字母、小寫(xiě)字母、下劃線(_)或數(shù)字0~9組成。注意事項(xiàng)標(biāo)識(shí)符區(qū)分大小寫(xiě)標(biāo)識(shí)符長(zhǎng)度任意(取決于操作系統(tǒng))提倡使用“見(jiàn)名知義”的標(biāo)識(shí)符避免使用系統(tǒng)已定義的標(biāo)識(shí)符(系統(tǒng)保留字)好好的C++詞法記號(hào)——標(biāo)識(shí)符構(gòu)成規(guī)則:好好的例:判斷下面哪些是合法的標(biāo)識(shí)符:MyFile94SalarySalary94Salary94amount$amountvoid

f3.5Num_of_Student

好好的例:判斷下面哪些是合法的標(biāo)識(shí)符:MyFile94SalC++程序?qū)嵗?#include<bits/stdc++.h>usingnamespacestd;intmain(){

constintPRICE=30;

intnum,total;

floatv,r,h;num=10;total=num*PRICE;cout<<total<<endl;r=2.5;h=3.2;v=3.14159*r*r*h;cout<<v<<endl;return0;}好好的C++程序?qū)嵗?#include<bits/stdc++數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型告訴我們存儲(chǔ)單元中的數(shù)據(jù)的形式,及可以對(duì)存儲(chǔ)單元中的數(shù)據(jù)執(zhí)行哪些操作。C++的數(shù)據(jù)類(lèi)型可以分為基本類(lèi)型、構(gòu)造類(lèi)型、指針類(lèi)型、空類(lèi)型(void)四個(gè)大類(lèi)。好好的數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型告訴我們存儲(chǔ)單元中的數(shù)據(jù)的形式,及可以對(duì)存儲(chǔ)基本數(shù)據(jù)類(lèi)型好好的基本數(shù)據(jù)類(lèi)型好好的類(lèi)型修飾符C++還允許在基本數(shù)據(jù)類(lèi)型前加上類(lèi)型修飾符,來(lái)更具體地表示數(shù)據(jù)類(lèi)型。C++的類(lèi)型修飾符包括:

signed 有符號(hào)unsigned

無(wú)符號(hào)short 短型long

長(zhǎng)型

好好的類(lèi)型修飾符C++還允許在基本數(shù)據(jù)類(lèi)型前加上類(lèi)型修飾符,來(lái)更具數(shù)據(jù)類(lèi)型標(biāo)識(shí)符字節(jié)數(shù)數(shù)值范圍常量寫(xiě)法舉例Char1-128~127‘A’,‘0’,’\n’signedchar1-128~12756unsignedchar10~255100short[int]2-32768~32767100signedshort[int]2-32768~32767-3456unsignedshort[int]20~655350xffint4-2147483648~21474836471000signedint4-2147483648~2147483647-123456unsignedint40~42949672950xffff好好的數(shù)據(jù)類(lèi)型標(biāo)識(shí)符字節(jié)數(shù)數(shù)值范圍常量寫(xiě)法舉例Char1-128~數(shù)據(jù)類(lèi)型標(biāo)識(shí)符字節(jié)數(shù)數(shù)值范圍常量寫(xiě)法舉例long[int]4-2147483648~2147483647-123456longlong8-2^63~2^63-1-3246unsignedlong[int]40~4294967295123456float4±(3.4E-38~3.4E38)2.35,-53.231,3E-2Double8±(1.7E-308~1.7E308)12.354,-2.5E10longdouble10±(1.2E-4932~1.2E4932)8.5E-300好好的數(shù)據(jù)類(lèi)型標(biāo)識(shí)符字節(jié)數(shù)數(shù)值范圍常量寫(xiě)法舉例long[int]說(shuō)明:(1)表中帶[]的部分表示是可以省略的,如short[int]可以寫(xiě)為shortint或簡(jiǎn)寫(xiě)為short,二者的含義是相同的。(2)四種修飾符都可以用來(lái)修飾整型。用signed修飾的類(lèi)型的值可以為正數(shù)或負(fù)數(shù),用unsigned修飾的類(lèi)型的值只能為正數(shù)。(3)用short修飾的類(lèi)型,其值一定不大于對(duì)應(yīng)的整數(shù),用long修飾的類(lèi)型,其值一定不小于對(duì)應(yīng)的整數(shù)。好好的說(shuō)明:好好的C++的構(gòu)造類(lèi)型是基本類(lèi)型的組合,包括數(shù)組、結(jié)構(gòu)體和聯(lián)合體等指針類(lèi)型是對(duì)基本類(lèi)型或構(gòu)造類(lèi)型的地址進(jìn)行操作的一種數(shù)據(jù)類(lèi)型??疹?lèi)型(void)是什么也沒(méi)有的一種特殊數(shù)據(jù)類(lèi)型,僅用在有限的一些情況下,通常用作無(wú)返回值函數(shù)的返回類(lèi)型。有時(shí)也被歸類(lèi)到基本類(lèi)型好好的C++的構(gòu)造類(lèi)型是基本類(lèi)型的組合,包括數(shù)組、結(jié)構(gòu)體和聯(lián)合體等常量在C++語(yǔ)言中,數(shù)據(jù)分為常量和變量?jī)纱箢?lèi)。由于程序中的數(shù)據(jù)是有類(lèi)型的,所以常量和變量都是有類(lèi)型之分的。。常量按照不同的數(shù)據(jù)類(lèi)型可以分為:字符型常量、整型常量、浮點(diǎn)型常量,以及字符串常量等。程序是根據(jù)程序中常量的書(shū)寫(xiě)格式來(lái)區(qū)分它是哪種類(lèi)型常量的。好好的常量在C++語(yǔ)言中,數(shù)據(jù)分為常量和變量?jī)纱箢?lèi)。好好的整型常量在程序中書(shū)寫(xiě)整型常量時(shí),沒(méi)有小數(shù)部分。用戶(hù)可根據(jù)需要分別可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式書(shū)寫(xiě):十進(jìn)制格式:由數(shù)字0至9和正、負(fù)號(hào)組成,書(shū)寫(xiě)時(shí)直接寫(xiě)出數(shù)字,如:123,-516,+1000等。八進(jìn)制格式:以數(shù)字0開(kāi)頭的數(shù)字(0至7)序列,0111,010007,0177777等。十六進(jìn)制格式:以0x或0X開(kāi)頭的數(shù)字(數(shù)字0至9、字母A至Z)序列,如0x78AC,0xFFFF等。好好的整型常量在程序中書(shū)寫(xiě)整型常量時(shí),沒(méi)有小數(shù)部分。用戶(hù)可根據(jù)需要浮點(diǎn)型常量

只能用十進(jìn)制來(lái)表示??梢杂眯?shù)或指數(shù)形式表示,不分單精度和雙精度類(lèi)型。如:34.5,.345,1.5e-3好好的浮點(diǎn)型常量只能用十進(jìn)制來(lái)表示。可以用小數(shù)或指字符型常量

(1)用一對(duì)單引號(hào)括起來(lái)的一個(gè)字符,單引號(hào)只是字符與其他部分的分割符,不是字符的一部分,并且,不能用雙引號(hào)代替單引號(hào)。在單引號(hào)中的字符不能是單引號(hào)或反斜杠。如:

‘a(chǎn)’,‘A’,‘#’合法的字符常量‘’’,‘\’非法的字符常量

“A”不代表字符常量(2)另一種表示字符常量的方法是使用轉(zhuǎn)義字符。C++規(guī)定,采用反斜杠后跟一個(gè)字母來(lái)代表一個(gè)控制字符,具有新的含義。好好的字符型常量(1)用一對(duì)單引號(hào)括起來(lái)的一個(gè)字符,單引號(hào)只是字C++中常用的轉(zhuǎn)義字符轉(zhuǎn)義字符含義ASCII碼值(十進(jìn)制)\a響鈴(BEL)7\b退格(BS)8\n換行(LF)10\r回車(chē)(CR)13\t水平制表(HT)9\v垂直制表(VT)11\\反斜杠92\’單引號(hào)39\”雙引號(hào)34\0空格符(NULL)0\ddd任意字符3位八進(jìn)制數(shù)\xhh任意字符2位十六進(jìn)制數(shù)好好的C++中常用的轉(zhuǎn)義字符轉(zhuǎn)義字符含義ASCII碼值(十進(jìn)制)\字符串常量

用一對(duì)雙引號(hào)括起來(lái)的一個(gè)或多個(gè)字符的序列稱(chēng)為字符串常量或字符串。字符串以雙引號(hào)為定界符,雙引號(hào)不作為字符串的一部分。如:“Hello”,“GoodMorning!”

,“Isay:\“Goodbye!\””

字符串中的字符數(shù)稱(chēng)為該字符串的長(zhǎng)度,在存儲(chǔ)時(shí),系統(tǒng)自動(dòng)在字符串的末尾加以字符串結(jié)束標(biāo)志,即轉(zhuǎn)義字符‘\0’。好好的字符串常量用一對(duì)雙引號(hào)括起來(lái)的一個(gè)或多個(gè)字符的序列稱(chēng)符號(hào)常量常量也可用一個(gè)標(biāo)識(shí)符來(lái)代表,稱(chēng)為符號(hào)常量。如:#definePRICE30intmain(){cout<<PRICE<<endl;return0;}使用符號(hào)常量應(yīng)注意以下幾個(gè)方面:(1)它不同于變量,在作用域內(nèi)其值不能改變和賦值。如:在上例中如再用PRICE=40;這一語(yǔ)句進(jìn)行賦值則是錯(cuò)誤的。(2)符號(hào)常量名一般用大寫(xiě),而變量名用小寫(xiě),以示區(qū)別。好好的符號(hào)常量常量也可用一個(gè)標(biāo)識(shí)符來(lái)代表,稱(chēng)為符號(hào)常量。如:好好的在程序中的常量有以下三種表示方法:(1)在程序中直接寫(xiě)入常量(詞法記號(hào)中的文字)如:-200,3.4E-10,‘A’,‘1’,0x120,045,5.35,1000l(2)利用#define定義宏常量(符號(hào)常量)一般格式:#define宏名常數(shù)如:#definePI3.14…………s=2*PI*r;…………程序中常量的表示方法好好的在程序中的常量有以下三種表示方法:程序中常量的表示方法好好的(3)利用const定義正規(guī)常數(shù)(常變量)格式:const數(shù)據(jù)類(lèi)型標(biāo)識(shí)符常量名=常量值;說(shuō)明:①const必須放在被修飾類(lèi)型符和類(lèi)型名前面②數(shù)據(jù)類(lèi)型是一個(gè)可選項(xiàng),用來(lái)指定常數(shù)值的數(shù)據(jù)類(lèi)型,如果省略了該數(shù)據(jù)類(lèi)型,那么編譯程序認(rèn)為它是int類(lèi)型如:constinta=10;表示定義了一個(gè)初始值為10的整型常量,它在程序中不可改變,但可用于表達(dá)式的計(jì)算中好好的(3)利用const定義正規(guī)常數(shù)(常變量)好好的1.變量的概念及特點(diǎn)程序中的變量是用于保存程序運(yùn)算過(guò)程中所需要的原始數(shù)據(jù)、中間運(yùn)算結(jié)果和最終結(jié)果的,因此,每一變量就相當(dāng)于一個(gè)容器,對(duì)應(yīng)著計(jì)算機(jī)內(nèi)存中的某一塊存儲(chǔ)單元。變量的值具有以下兩個(gè)特點(diǎn):(1)“一充即無(wú)”:即將一個(gè)新數(shù)據(jù)存放到一個(gè)變量中時(shí),該變量中原來(lái)的值消失,變量的值變成了新值。如:執(zhí)行完語(yǔ)句inti;i=10;i=20;后i的值為20,而不是10。變量好好的1.變量的概念及特點(diǎn)變量好好的(2)“取之不盡”:可將某個(gè)變量的值與程序中的其它數(shù)據(jù)進(jìn)行各種運(yùn)算,在運(yùn)算過(guò)程中,如果沒(méi)有改變?cè)撟兞康闹禃r(shí),那么,不管用該變量的值進(jìn)行多少次運(yùn)算,其值始終保持不變。如:語(yǔ)句inti,j,k;i=10;j=i+10;k=i+j*5;其中,i的值可無(wú)限制地多次使用,但它的值始終保持值10,因?yàn)樵诔绦蛑袥](méi)有改變變量i的值。好好的(2)“取之不盡”:好好的2.定義變量(變量聲明)

程序中的每一變量,都要先定義,后使用。定義變量一般有以下三種格式:數(shù)據(jù)類(lèi)型標(biāo)識(shí)符變量名;數(shù)據(jù)類(lèi)型標(biāo)識(shí)符變量名=初始化值;數(shù)據(jù)類(lèi)型標(biāo)識(shí)符變量名1[=初始值1],變量名2[=初始值2],……;好好的2.定義變量(變量聲明)好好的如:chara;

//定義字符型變量ainti=1000; //定義整型變量i,i的初始值為1000;floata=2,b=3,c;/*定義浮點(diǎn)型變量a、b、c,且a、

b的初始值分別為2、3。*/

好好的如:好好的3.定義變量的位置在程序中的不同位置采用不同的變量定義方式,決定了該變量具有不同的特點(diǎn)。變量的定義一般可有以下三種位置:(1)在函數(shù)體內(nèi)部在函數(shù)體內(nèi)部定義的變量稱(chēng)為局部變量,這種局部變量只在進(jìn)入定義它的函數(shù)體時(shí)起作用,離開(kāi)該函數(shù)體后該變量就消失(被釋放),即不再起作用。因此,不同函數(shù)體內(nèi)部可以定義相同名稱(chēng)的變量,而互不干擾。如:好好的3.定義變量的位置好好的voidfunc1(){inty;y=2;}voidfunc2(){inty;y=-100;}好好的voidfunc1()好好的(2)形式參數(shù)當(dāng)定義一個(gè)有參函數(shù)時(shí),函數(shù)名后面括號(hào)內(nèi)的變量,統(tǒng)稱(chēng)為形式參數(shù)。如:intis_in(char*a,charb){while(*a)if(*a==b)return1;elsea++;return0;}好好的(2)形式參數(shù)好好的(3)全局變量:在所有函數(shù)體外部定義的變量,其作用范圍是整個(gè)程序,并在整個(gè)程序運(yùn)行期間有效。如:intcount; //定義count變量是全局變量voidfunc1();voidfunc2();intmain(){count=10;func1();}好好的(3)全局變量:在所有函數(shù)體外部定義的變量,其作用范圍是整個(gè)voidfunc1(){inttemp;temp=count;func2();printf(“countis%d”,count);//輸出10}voidfunc2(){intcount;for(count=1;count<5;count++)putchar(‘.’);}好好的voidfunc1()好好的變量小結(jié)變量有“三要素”:變量名:標(biāo)識(shí)符,要正確、有意義;變量的類(lèi)型:C++支持的數(shù)據(jù)類(lèi)型變量的值:可變,在某一時(shí)刻是一個(gè)確定值;變量要“先說(shuō)明后使用”變量在一個(gè)函數(shù)中不能被定義兩次程序中的變量一定要賦初值(初始化)inta=3;a=3;cin>>a變量名一般要以小寫(xiě)字母開(kāi)頭,且見(jiàn)名知義。

好好的變量小結(jié)變量有“三要素”:好好的算術(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á)式好好的算術(shù)運(yùn)算符和算術(shù)表達(dá)式運(yùn)算符和表達(dá)式好好的運(yùn)算符功能數(shù)據(jù)類(lèi)型例子-負(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ù)值z(mì)--或--z好好的C++的算術(shù)運(yùn)算符好好的(1+x)/(3*x)(((2*x-3)*x+2)*x)-53.14*sqrt(r)b*b-4.0*a*c好好的(1+x)/(3*x)好好的算術(shù)運(yùn)算符注意事項(xiàng)算術(shù)運(yùn)算符/有整除和一般除法兩種功能。如果兩個(gè)操作數(shù)都是整數(shù),/的功能就是整除,否則就是一般除法。例如:

3/2=13/2.0=1.53.0/2=1.5a++與++a(a--與--a)

a++的功能是:a的值增1,a++的值是a增加前的值;

++a的功能是:a的值增1,++a的值是a增加后的值;

++a可以用作左值,即能放在賦值號(hào)的左邊。好好的算術(shù)運(yùn)算符注意事項(xiàng)算術(shù)運(yùn)算符/有整除和一般除法兩種功能。賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符的功能將某個(gè)數(shù)據(jù)的值賦給某個(gè)變量。格式:變量名賦值運(yùn)算符表達(dá)式說(shuō)明:(1)被賦值的目標(biāo),即賦值運(yùn)算符左邊的量必須是變量,而不能是常量或表達(dá)式。好好的賦值運(yùn)算符和賦值表達(dá)式好好的(2)C++中的賦值運(yùn)算符表(3)要注意區(qū)分賦值運(yùn)算符“=”與數(shù)學(xué)上的“等號(hào)”間的區(qū)別賦值運(yùn)算符例子等價(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)好好的(2)C++中的賦值運(yùn)算符表賦值運(yùn)算符例子等價(jià)形式=x=x+關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符就是對(duì)兩個(gè)量之間進(jìn)行比較的運(yùn)算符。關(guān)系運(yùn)算符含義例子<小于i>10<=小于或等于(x+y)*2<=100>大于x+y>z>=大于或等于x-y>=a*b+2==等于x+y==a+b!=不等于x-y!=0好好的關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符含義例子<小于i>10<=小

由關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接形成的運(yùn)算式子是關(guān)系表達(dá)式,一個(gè)關(guān)系表達(dá)式的值是一個(gè)邏輯值,當(dāng)為真時(shí),值為1,為假時(shí),值為0。如:假設(shè)a=1,b=20,c=3,則a<b 表達(dá)式成立,其值為1b==c 表達(dá)式不成立,其值為0(a+b)!=c 表達(dá)式成立,其值為1好好的由關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接形成的運(yùn)算式子是關(guān)系表邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符是對(duì)兩個(gè)邏輯量間進(jìn)行運(yùn)算的運(yùn)算符。邏輯運(yùn)算符含義例子!邏輯非!(x>10)&&邏輯與(i>1)&&(i<10)||邏輯或(c==0)||(c==9)好好的邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符含義例子!邏輯非!(x>10注意:(1)C或C++中在給出一個(gè)邏輯表達(dá)式的最終計(jì)算結(jié)果值時(shí),用1表示真,用0表示假。但在進(jìn)行邏輯運(yùn)算的過(guò)程中,凡是遇到非零值時(shí)就當(dāng)真值參加運(yùn)算,遇到0值時(shí)就當(dāng)假值參加運(yùn)算。如:inta=10,b=15,c=14;則(a+6)&&(b>c)的值為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的值。如:inti=10;則表達(dá)式i&&(i=0)&&(++i)的值為0(假),該表達(dá)式運(yùn)算結(jié)束后,變量i的值為0,而不是1。好好的(2)在邏輯表達(dá)式的求值過(guò)程中,并不是所有的邏輯運(yùn)算符都被執(zhí)②a||b||c只要a為真,就不必須判斷b和c;只有a為假,才判別b;a和b都為假才判別c。如:inti=1,j;則表達(dá)式i++||i++||i++的值為1(真),運(yùn)算結(jié)束后,變量i的值為2,而不是4。好好的②a||b||c只要a為真,就不必須判斷b和c;只intn=3,m=6;if((n>4)&&(m++<10)) cout<<“mshouldnotchanged.\n”;cout<<“m=“<<m<<endl;好好的intn=3,m=6;好好的③對(duì)于數(shù)學(xué)上的表示多個(gè)數(shù)據(jù)間進(jìn)行比較的表達(dá)式,在C++中要拆寫(xiě)成多個(gè)條件并用邏輯運(yùn)算符連接形成一個(gè)邏輯表達(dá)式。如:在數(shù)學(xué)上,要表示一個(gè)變量a的值處于-1和-9之間時(shí),可以用-9<a<-1。但在C++語(yǔ)言中必須寫(xiě)成(a>-9)&&(a<-1),而不能寫(xiě)成-9<a<-1。因?yàn)椋僭O(shè)變量a當(dāng)前的值為-5,它的值確實(shí)處在-1和-9之間,但在C++語(yǔ)言中求-9<a<-1時(shí),從左向右進(jìn)行計(jì)算,先計(jì)算-9<a,得1(真),此時(shí)該表達(dá)式可簡(jiǎn)化為1<-1,結(jié)果為0(假)。因此必須寫(xiě)成(a>-9)&&(a<-1)的形式。好好的③對(duì)于數(shù)學(xué)上的表示多個(gè)數(shù)據(jù)間進(jìn)行比較的表達(dá)式,在C++中要條件運(yùn)算符在C++中只提供了一個(gè)三目運(yùn)算符—即條件運(yùn)算符“?:”,其一般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算的規(guī)則是:首先判斷表達(dá)式1的值,若其值為真(非0),則取表達(dá)式2的值為整個(gè)表達(dá)式的值;若其值為假(0),則取表達(dá)式3的值為整個(gè)表達(dá)式的值。如:若a=3,b=4,則條件表達(dá)式a>b?a:b的值為4好好的條件運(yùn)算符好好的條件表達(dá)式可以嵌套:x>y?”greatthan”:x==y?”equalto”:”lessthan”它等價(jià)于:(x>y)?”greatthan”:((x==y)?”equalto”:”lessthan”)在條件表達(dá)式中,如果后面兩個(gè)表達(dá)式的值類(lèi)型相同,均為左值,則該條件表達(dá)式的值為左值表達(dá)式。intx=5;longa,b;(x?a:b)=1;(x?x:a)=2;//error:x和a不同類(lèi)型(x==2?1:a)=3;//error:1非左值好好的條件表達(dá)式可以嵌套:在條件表達(dá)式中,如果后面兩個(gè)表達(dá)式的值類(lèi)位運(yùn)算符1.位運(yùn)算符及其運(yùn)算規(guī)則所謂位運(yùn)算符是指能進(jìn)行二進(jìn)制位運(yùn)算的運(yùn)算符。C++提供的位運(yùn)算符:運(yùn)算符含義例子&按位與i&128|按位或j|64^按位異或j^12~按位取反~j<<按位左移i<<2>>按位右移j>>2好好的位運(yùn)算符運(yùn)算符含義例子&按位與i&128|按位或j|64^按位運(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)算量的每一位取反。好好的位運(yùn)算的運(yùn)算規(guī)則為:好好的(5)按位左移<<:將操作數(shù)中的每一位向左移動(dòng)指定的位數(shù),移出的位被舍棄,空出的位補(bǔ)0。(6)按位右移>>:將操作數(shù)中的每一位向右移動(dòng)指定的位數(shù),移出的位被舍棄,空出的位補(bǔ)0或補(bǔ)符號(hào)位。好好的(5)按位左移<<:將操作數(shù)中的每一位向左移動(dòng)指定的位數(shù),移例子如:a=5,b=6,則:a0000010100000101

00000101b&00000110|00000110

^00000110~00000110 00000100 00000111 00000011

11111001即:a&b=4,a|b=7,a^b=3,~b=249。

好好的例子如:a=5,b=6,則:好好的2.復(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=x^y<<=x<<=y+zx=x<<(y+z)>>=x>>=y+zx=x>>(y+z)好好的2.復(fù)合位運(yùn)算符運(yùn)算符例子等價(jià)形式&=x&=y+zx=x&(逗號(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á)式的值和類(lèi)型是由最右邊的表達(dá)式?jīng)Q定。如:有語(yǔ)句inta=3,b=4;則表達(dá)式a++,b++,a+b的值為9。再如:設(shè)有inti;則表達(dá)式i=1,i++==2?i+1:i+4的值為6。好好的逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符的運(yùn)算優(yōu)先級(jí)是最低的。一般形式為:表達(dá)式該運(yùn)算符的功能是將某一數(shù)據(jù)從一種數(shù)據(jù)類(lèi)型向另一種數(shù)據(jù)類(lèi)型進(jìn)行轉(zhuǎn)換。其使用的一般形式:數(shù)據(jù)類(lèi)型標(biāo)識(shí)符(表達(dá)式)(數(shù)據(jù)類(lèi)型標(biāo)識(shí)符)表達(dá)式如:inti=2;

floata,b;

a=float(i);

//將變量i的類(lèi)型強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型,并將其值賦給變量a

b=(float)i;

//將變量i的類(lèi)型強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型,并將其值賦給變量b強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符好好的該運(yùn)算符的功能是將某一數(shù)據(jù)從一種數(shù)據(jù)類(lèi)型向另一種數(shù)據(jù)類(lèi)型進(jìn)行每個(gè)運(yùn)算符都有自己優(yōu)先級(jí)和結(jié)合性。當(dāng)一個(gè)表達(dá)式中包含多個(gè)運(yùn)算符時(shí),要確定運(yùn)算的結(jié)果,必須首先確定運(yùn)算的先后順序,即運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。C++中運(yùn)算符的優(yōu)先級(jí)和結(jié)合性如表2.11所示。

運(yùn)算符的優(yōu)先級(jí)與結(jié)合性好好的每個(gè)運(yùn)算符都有自己優(yōu)先級(jí)和結(jié)合性。當(dāng)一個(gè)表達(dá)式中包含多個(gè)運(yùn)算優(yōu)先級(jí)運(yùn)算符結(jié)合性1()::[]->..*->*自左至右2!~++--+-*&(類(lèi)型)sizeofnew[]delete[]自右至左3*/%自左至右4+-自左至右5<<>>自左至右6<<=>>=自左至右7==!=自左至右8&自左至右9^自左至右10|自左至右11&&自左至右12||自左至右13?:自右至左14=+=-=*=/=%=<<=>>=&=^=|=自右至左15,自左至右C++中運(yùn)算符的優(yōu)先級(jí)和結(jié)合性好好的優(yōu)先級(jí)運(yùn)算符結(jié)合性1自左至右2自右至左3自左至右4自左至右5

輸出流對(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ù)的輸出cout好好的輸出流對(duì)象輸出數(shù)據(jù)的語(yǔ)句格式為:數(shù)據(jù)的輸出cout好(3)可以在cout輸出流中插入C++中的轉(zhuǎn)義字符。如:cout<<“Inputthevalueofa:\n";cout<<a;

表示輸出完字符串Inputthevalueofa:后,在下一行輸出變量a的值。(4)可以將多個(gè)被輸出的數(shù)據(jù)寫(xiě)在一個(gè)cout中,各輸出項(xiàng)間用“<<”操作符隔開(kāi)即可,但要注意cout首先按從右向左的順序計(jì)算出各輸出項(xiàng)的值,然后再輸出各項(xiàng)的值。好好的(3)可以在cout輸出流中插入C++中的轉(zhuǎn)義字符。如:好好如:cout<<"valueofa:"<<a<<"valueofb:"<<b<<"Theresultis:"<<sqrt(a*a+b*b);再如:設(shè)變量i的值為10,則cout<<i<<","<<i++<<","<<i++;的輸出結(jié)果為:12,11,10(5)一個(gè)cout語(yǔ)句也可拆成若干行書(shū)寫(xiě),但注意語(yǔ)句結(jié)束符“;”只能寫(xiě)在最后一行上。如:對(duì)于上面的語(yǔ)句也可寫(xiě)成如下形式:好好的如:cout<<"valueofa:"<<a<<"vcout<<"valueofa:"http://注意行末無(wú)分號(hào)

<<a<<"valueofb:"<<b<<"Theresultis:"<<sqrt(a*a+b*b);//在此處書(shū)寫(xiě)分號(hào)好好的cout<<"valueofa:"http://注意行末無(wú)(6)在cout中,實(shí)現(xiàn)輸出數(shù)據(jù)換行功能的方法:既可使用轉(zhuǎn)義字符“\n”,也可使用表示行結(jié)束的流操作endl。如:cout<<"ThisisfirstLine.\n"<<"Thisissecondline.";上面語(yǔ)句可等價(jià)地寫(xiě)為:cout<<"ThisisfirstLine."<<endl<<"Thisissecondline.";好好的(6)在cout中,實(shí)現(xiàn)輸出數(shù)據(jù)換行功能的方法:既可使用轉(zhuǎn)義(7)在cout中還可以使用流控制符控制數(shù)據(jù)的輸出格式。I/O流的常用控制符控制符功能dec十進(jìn)制數(shù)輸出hex十六進(jìn)制數(shù)輸出oct八進(jìn)制數(shù)輸出setfill(c)在給定的輸出域?qū)挾葍?nèi)填充字符csetprecision(n)設(shè)顯示小數(shù)精度為n位setw(n)設(shè)域?qū)挒閚個(gè)字符setiosflags(ios::fixed)固定的浮點(diǎn)顯示好好的(7)在cout中還可以使用流控制符控制數(shù)據(jù)的輸出格式??刂苨etiosflags(ios::scientific)指數(shù)顯示setiosflags(ios::left)左對(duì)齊setiosflags(ios::right)右對(duì)齊setiosflags(ios::skipws)忽略前導(dǎo)空白setiosflags(ios::uppercase)十六進(jìn)制數(shù)大寫(xiě)輸出setiosflags(ios::lowercase)十六進(jìn)制數(shù)小寫(xiě)輸出setiosflags(ios::showbase)按十六/八進(jìn)制輸出數(shù)據(jù)時(shí),前面顯示前導(dǎo)符0x/0;好好的setiosflags(ios::scientific)指數(shù)①設(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ù)前加上cout.width(n)或setw(n)。

好好的①設(shè)置域?qū)挘核^域?qū)捑褪潜惠敵鰯?shù)據(jù)所占的輸出寬度(單位是字

此外,當(dāng)參數(shù)n的值比實(shí)際被輸出數(shù)據(jù)的寬度大時(shí),則在給定的域?qū)拑?nèi),數(shù)據(jù)靠右輸出,不足部分自動(dòng)填充空格符;若被輸出數(shù)據(jù)的實(shí)際寬度比n值大時(shí),則數(shù)據(jù)所占的實(shí)際位數(shù)輸出數(shù)據(jù),設(shè)置域?qū)挼膮?shù)n不再起作用。好好的此外,當(dāng)參數(shù)n的值比實(shí)際被輸出數(shù)據(jù)的寬度大時(shí)例cout流控制符setw的使用。#include<bits/stdc++.h>usingnamespacestd;intmain(){inta=21,b=999;cout<<setw(3)<<a<<setw(4)<<a<<setw(5)<<a<<endl;cout.width(3);cout<<b;cout.width(4);cout<<b;return0;}好好的例cout流控制符setw的使用。好好的其輸出結(jié)果是:︼21︼︼21︼︼︼21//程序中第一個(gè)cout的輸出結(jié)果999︼999好好的其輸出結(jié)果是:好好的②設(shè)置域內(nèi)填充字符:在默認(rèn)情況下,當(dāng)被輸出的數(shù)據(jù)未占滿(mǎn)域?qū)挄r(shí),會(huì)自動(dòng)在域內(nèi)靠左邊填充相應(yīng)個(gè)數(shù)的空格符。但我們也可以設(shè)置在域內(nèi)填充其他的字符,方法是利用cout的fill方法cout.fill(c)或setfill(c)。cout.fill(c)上和setfill(c)可以對(duì)所有被輸出的數(shù)據(jù)起作用。好好的②設(shè)置域內(nèi)填充字符:在默認(rèn)情況下,當(dāng)被輸出的數(shù)據(jù)未占滿(mǎn)域?qū)捓诶?-2的基礎(chǔ)上增加域內(nèi)填充字符的功能。#include<bits/stdc++.h>usingnamespacestd;intmain(){inta=21,b=999;cout.fill(‘#’);//設(shè)置域內(nèi)填充字符為#字符cout<<setw(3)<<a<<setw(4)<<a<<setw(5)<<a<<endl;好好的例在例2-2的基礎(chǔ)上增加域內(nèi)填充字符的功能。好好的cout<<setw(3)<<b<<setw(4)<<b<<setw(5)<<b<<endl;cout.fill(‘%’);//將域內(nèi)填充字符改為%字符cout<<setw(3)<<a+b<<setw(4)<<a+b<<setw(5)<<a+b<<endl;return0;}好好的cout<<setw(3)<<b<<setw(4)好好的其輸出結(jié)果是:#21##21###21//程序中第一個(gè)cout的輸出結(jié)果,未占滿(mǎn)域?qū)挼牟糠痔畛?字符。999#999##999//程序中第二個(gè)cout的輸出結(jié)果10201020%1020//程序中第三個(gè)cout的輸出結(jié)果,未占滿(mǎn)域?qū)挼牟糠痔畛?字符。好好的其輸出結(jié)果是:好好的③設(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)制。好好的③設(shè)置輸出數(shù)據(jù)的進(jìn)位計(jì)數(shù)制:在默認(rèn)情況下,被輸出的數(shù)據(jù)按十inta=21,b=999;cout<<setw(3)<<setfill('#')<<hex<<a<<endl;cout<<setw(3)<<b<<endl;cout<<setw(3)<<setfill('#')<<oct<<b<<endl;cout<<setw(3)<<b<<setw(4)<<b<<setw(5)<<b<<endl;cout<<setw(3)<<setfill('#')<<dec<<a<<endl;cout<<setw(3)<<b<<setw(4)<<b<<setw(5)<<b<<endl;好好的inta=21,b=999;好好的程序的輸出結(jié)果為:#15//以十六進(jìn)制格式輸出數(shù)據(jù)3e7#25//以八進(jìn)制格式輸出數(shù)據(jù)1747#21//以十進(jìn)制格式輸出數(shù)據(jù)999好好的程序的輸出結(jié)果為:好好的④設(shè)置浮點(diǎn)數(shù)的輸出格式:對(duì)于浮點(diǎn)數(shù),既可以用小數(shù)格式輸出,也可以用指數(shù)格式輸出。這可以分別通過(guò)setiosflags(ios::fixed)和setiosflags(ios::scientific)來(lái)控制。好好的④設(shè)置浮點(diǎn)數(shù)的輸出格式:對(duì)于浮點(diǎn)數(shù),既可以用小數(shù)格式輸出,例已知圓的半徑r=6.779,計(jì)算并輸出圓的周長(zhǎng)和面積,要求分別用指數(shù)和小數(shù)兩種格式輸出。#include<bits/stdc++.h>usingnamespacestd;constdoublepi=3.14159;intmain(){doubler=6.779,c,s;c=2.0*pi*r;//計(jì)算圓的周長(zhǎng)

s=pi*r*r;//計(jì)算圓的面積好好的例已知圓的半徑r=6.779,計(jì)算并輸出圓的周長(zhǎng)和面積,要//以指數(shù)格式輸出圓的面積和周長(zhǎng)

cout<<“圓周長(zhǎng)(指數(shù))為:”<<setiosflags(ios::scientific)<<c<<endl;cout<<“圓的面積(指數(shù))為:”<<s<<endl;//以小數(shù)輸出圓的面積和周長(zhǎng)

cout<<“圓的周長(zhǎng)(小數(shù))為:”<<setiosflags(ios::fixed)<<c<<endl;cout<<“圓的面積(小數(shù))為:”<<setiosflags(ios::fixed)<<s<<endl;}好好的//以指數(shù)格式輸出圓的面積和周長(zhǎng)好好的程序的輸出結(jié)果如下:圓周長(zhǎng)(指數(shù))為:4.259368e+001圓的面積(指數(shù))為:1.443713e+002圓的周長(zhǎng)(小數(shù))為:42.5937圓的面積(小數(shù))為:144.371好好的程序的輸出結(jié)果如下:好好的在C++程序中,數(shù)據(jù)的輸入通常采用cin流對(duì)象來(lái)完成,其格式如下:cin>>變量名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í)行并等待用戶(hù)從鍵盤(pán)輸入相應(yīng)數(shù)目的數(shù)據(jù),用戶(hù)輸入完數(shù)據(jù)并回車(chē)后,cin從輸入流中取得相應(yīng)的數(shù)據(jù)并傳送給其后的變量中。數(shù)據(jù)的輸入cin好好的在C++程序中,數(shù)據(jù)的輸入通常采用cin流對(duì)象來(lái)完成,其(3)“>>”操作符后除了變量名外不得有其他數(shù)字、字符串或字符,否則系統(tǒng)會(huì)報(bào)錯(cuò)。如:cin>>"x=">>x;//錯(cuò)誤,因含有字符串"x="cin>>‘x’>>x;//錯(cuò)誤,因含有字符‘x=’cin>>x>>10;//錯(cuò)誤,因含有常量10

好好的(3)“>>”操作符后除了變量名外不得有其他數(shù)字、字符串或字(4)cin后面所跟的變量可為任何數(shù)據(jù)類(lèi)型,若變量為整型數(shù)據(jù)類(lèi)型,則在程序運(yùn)行過(guò)程中從鍵盤(pán)輸入數(shù)據(jù)時(shí),可分別按十進(jìn)制、八進(jìn)制或十六進(jìn)制輸入該整數(shù)。好好的(4)cin后面所跟的變量可為任何數(shù)據(jù)類(lèi)型,若變量為整型數(shù)據(jù)當(dāng)按十進(jìn)制格式輸入整數(shù)時(shí),可直接輸入數(shù)據(jù)本身即可;若以十六進(jìn)制輸入整數(shù)時(shí),數(shù)據(jù)前要冠以0x或0X;若按八進(jìn)制格式輸入整數(shù)時(shí),數(shù)據(jù)前要冠以數(shù)字0;若cin后面的變量為浮點(diǎn)類(lèi)型(單精度或雙精度)時(shí),可分別按小數(shù)或指數(shù)的格式輸入該浮點(diǎn)數(shù)。若cin后面的變量為字符類(lèi)型時(shí),可直接輸入字符數(shù)據(jù)而不能在字符的兩端加單引號(hào)。注意:好好的當(dāng)按十進(jìn)制格式輸入整數(shù)時(shí),可直接輸入數(shù)據(jù)本身即可;注意:好好(5)當(dāng)程序中用cin輸入數(shù)據(jù)時(shí),最好在該語(yǔ)句之前用cout輸出一個(gè)需要輸入數(shù)據(jù)的提示信息,以正確引導(dǎo)和提示用戶(hù)輸入正確的數(shù)據(jù)。如:cout<<"請(qǐng)輸入一個(gè)整數(shù):"cin>>x;(6)當(dāng)一個(gè)cin后面同時(shí)跟有多個(gè)變量時(shí),則用戶(hù)在輸入數(shù)據(jù)時(shí)的個(gè)數(shù)應(yīng)與變量的個(gè)數(shù)相同,各數(shù)據(jù)之前用一個(gè)或多個(gè)空格隔開(kāi),輸入完后按回車(chē)鍵;或者,每輸入一個(gè)數(shù)據(jù)按回車(chē)鍵也可。如對(duì)于以下程序段:好好的(5)當(dāng)程序中用cin輸入數(shù)據(jù)時(shí),最好在該語(yǔ)句之前用coutintx;doublea;charc1;cout<<“輸入一個(gè)整數(shù)、一個(gè)浮點(diǎn)數(shù)和一個(gè)字符:”;cin>>x>>a>>c1;cout<<"整數(shù):"<<x<<"浮點(diǎn)數(shù):"<<a<<"字符:"<<c1;好好的intx;好好的運(yùn)行過(guò)程中,屏幕上顯示“輸入一個(gè)整數(shù)、一個(gè)浮點(diǎn)數(shù)和一個(gè)字符:”,用戶(hù)輸入數(shù)據(jù)的格式可以是:

100︼3.14︼a或者:100︼︼︼︼3.14︼︼︼a或者:1003.14a最后程序的輸出結(jié)果為:“整數(shù):100浮點(diǎn)數(shù):3.14字符:a”好好的運(yùn)行過(guò)程中,屏幕上顯示“輸入一個(gè)整數(shù)、一個(gè)浮點(diǎn)數(shù)和一個(gè)字符C++語(yǔ)言基礎(chǔ)好好的C++語(yǔ)言基礎(chǔ)好好的C++程序?qū)嵗?#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"Hello!\n";cout<<"WelcometoC++!\n";return0;}運(yùn)行結(jié)果:Hello!WelcometoC++!好好的C++程序?qū)嵗?#include<bits/stdc++C++字符集C++字符集是C++程序中可以使用的基本符號(hào)大小寫(xiě)的英文字母:A~Z,a~z數(shù)字字符:0~9特殊字符:例如空格 ! # % ^ & *

_(下劃線) + = - ~ < > / \ ‘

“ ; . , () [] {}好好的C++字符集C++字符集是C++程序中可以使用的基本符號(hào)好好C++詞法記號(hào)(類(lèi)似單詞)關(guān)鍵字

C++預(yù)定義的單詞標(biāo)識(shí)符 程序員聲明的單詞,它命名程序正文中的一些實(shí)體文字 在程序中直接使用符號(hào)表示的數(shù)據(jù)操作符 用于實(shí)現(xiàn)各種運(yùn)算的符號(hào)分隔符 如{};

用于分隔各個(gè)詞法記號(hào)或程序正文空白符 空格、制表符(TAB鍵產(chǎn)生的字符)、 換行符(Enter鍵所產(chǎn)生的字符)和注釋的總稱(chēng)好好的C++詞法記號(hào)(類(lèi)似單詞)關(guān)鍵字 C++預(yù)定義的單詞好好的C++字符集類(lèi)似英語(yǔ)的字母或者漢語(yǔ)的筆畫(huà)。C++的詞法符號(hào)類(lèi)似英語(yǔ)的單詞或漢語(yǔ)的字。C++程序類(lèi)似英語(yǔ)的十四行詩(shī)或者漢語(yǔ)的詩(shī)詞歌賦。C++字符集、詞法符號(hào)、程序關(guān)系好好的C++字符集類(lèi)似英語(yǔ)的字母或者漢語(yǔ)的筆畫(huà)。C++字符集、詞法C++詞法記號(hào)——關(guān)鍵字關(guān)鍵字又稱(chēng)保留字,是C++預(yù)定義的單詞關(guān)鍵字是C++中具有固定意義的一批英文單詞或其縮寫(xiě),有專(zhuān)門(mén)的用途,用在固定的位置,不能移作它用。C++中共有74個(gè)關(guān)鍵字/保留字,每一個(gè)都有自己的故事。

好好的C++詞法記號(hào)——關(guān)鍵字關(guān)鍵字又稱(chēng)保留字,是C++預(yù)定義的單C++常用關(guān)鍵字及分類(lèi)數(shù)據(jù)類(lèi)型說(shuō)明符與修飾符boolcharwchar_tclassconstdoubleenumfloatintlongshortsignedstructunionunsignedvoidvolatile存儲(chǔ)類(lèi)型說(shuō)明符autoexterninlineregisterstatic訪問(wèn)說(shuō)明符friendprivateprotectedpublic其它說(shuō)明符asmoperatortemplatethistypedefvirtual語(yǔ)句與標(biāo)號(hào)breakcasecatchcontinuedefaultdoelseforgotoifreturnswitchthrowtrywhile

運(yùn)算符及邏輯值deletefalsenewsizeoftrue好好的C++常用關(guān)鍵字及分類(lèi)boolcharwcharC++詞法記號(hào)——標(biāo)識(shí)符構(gòu)成規(guī)則:以大寫(xiě)字母、小寫(xiě)字母或下劃線(_)開(kāi)始,由大寫(xiě)字母、小寫(xiě)字母、下劃線(_)或數(shù)字0~9組成。注意事項(xiàng)標(biāo)識(shí)符區(qū)分大小寫(xiě)標(biāo)識(shí)符長(zhǎng)度任意(取決于操作系統(tǒng))提倡使用“見(jiàn)名知義”的標(biāo)識(shí)符避免使用系統(tǒng)已定義的標(biāo)識(shí)符(系統(tǒng)保留字)好好的C++詞法記號(hào)——標(biāo)識(shí)符構(gòu)成規(guī)則:好好的例:判斷下面哪些是合法的標(biāo)識(shí)符:MyFile94SalarySalary94Salary94amount$amountvoid

f3.5Num_of_Student

好好的例:判斷下面哪些是合法的標(biāo)識(shí)符:MyFile94SalC++程序?qū)嵗?#include<bits/stdc++.h>usingnamespacestd;intmain(){

constintPRICE=30;

intnum,total;

floatv,r,h;num=10;total=num*PRICE;cout<<total<<endl;r=2.5;h=3.2;v=3.14159*r*r*h;cout<<v<<endl;return0;}好好的C++程序?qū)嵗?#include<bits/stdc++數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型告訴我們存儲(chǔ)單元中的數(shù)據(jù)的形式,及可以對(duì)存儲(chǔ)單元中的數(shù)據(jù)執(zhí)行哪些操作。C++的數(shù)據(jù)類(lèi)型可以分為基本類(lèi)型、構(gòu)造類(lèi)型、指針類(lèi)型、空類(lèi)型(void)四個(gè)大類(lèi)。好好的數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型告訴我們存儲(chǔ)單元中的數(shù)據(jù)的形式,及可以對(duì)存儲(chǔ)基本數(shù)據(jù)類(lèi)型好好的基本數(shù)據(jù)類(lèi)型好好的類(lèi)型修飾符C++還允許在基本數(shù)據(jù)類(lèi)型前加上類(lèi)型修飾符,來(lái)更具體地表示數(shù)據(jù)類(lèi)型。C++的類(lèi)型修飾符包括:

signed 有符號(hào)unsigned

無(wú)符號(hào)short 短型long

長(zhǎng)型

好好的類(lèi)型修飾符C++還允許在基本數(shù)據(jù)類(lèi)型前加上類(lèi)型修飾符,來(lái)更具數(shù)據(jù)類(lèi)型標(biāo)識(shí)符字節(jié)數(shù)數(shù)值范圍常量寫(xiě)法舉例Char1-128~127‘A’,‘0’,’\n’signedchar1-128~12756unsignedchar10~255100short[int]2-32768~32767100signedshort[int]2-32768~32767-3456unsignedshort[int]20~655350xffint4-2147483648~21474836471000signedint4-2147483648~2147483647-123456unsignedint40~42949672950xffff好好的數(shù)據(jù)類(lèi)型標(biāo)識(shí)符字節(jié)數(shù)數(shù)值范圍常量寫(xiě)法舉例Char1-128~數(shù)據(jù)類(lèi)型標(biāo)識(shí)符字節(jié)數(shù)數(shù)值范圍常量寫(xiě)法舉例long[int]4-2147483648~2147483647-123456longlong8-2^63~2^63-1-3246unsignedlong[int]40~4294967295123456float4±(3.4E-38~3.4E38)2.35,-53.231,3E-2Double8±(1.7E-308~1.7E308)12.354,-2.5E10longdouble10±(1.2E-4932~1.2E4932)8.5E-300好好的數(shù)據(jù)類(lèi)型標(biāo)識(shí)符字節(jié)數(shù)數(shù)值范圍常量寫(xiě)法舉例long[int]說(shuō)明:(1)表中帶[]的部分表示是可以省略的,如short[int]可以寫(xiě)為shortint或簡(jiǎn)寫(xiě)為short,二者的含義是相同的。(2)四種修飾符都可以用來(lái)修飾整型。用signed修飾的類(lèi)型的值可以為正數(shù)或負(fù)數(shù),用unsigned修飾的類(lèi)型的值只能為正數(shù)。(3)用short修飾的類(lèi)型,其值一定不大于對(duì)應(yīng)的整數(shù),用long修飾的類(lèi)型,其值一定不小于對(duì)應(yīng)的整數(shù)。好好的說(shuō)明:好好的C++的構(gòu)造類(lèi)型是基本類(lèi)型的組合,包括數(shù)組、結(jié)構(gòu)體和聯(lián)合體等指針類(lèi)型是對(duì)基本類(lèi)型或構(gòu)造類(lèi)型的地址進(jìn)行操作的一種數(shù)據(jù)類(lèi)型。空類(lèi)型(void)是什么也沒(méi)有的一種特殊數(shù)據(jù)類(lèi)型,僅用在有限的一些情況下,通常用作無(wú)返回值函數(shù)的返回類(lèi)型。有時(shí)也被歸類(lèi)到基本類(lèi)型好好的C++的構(gòu)造類(lèi)型是基本類(lèi)型的組合,包括數(shù)組、結(jié)構(gòu)體和聯(lián)合體等常量在C++語(yǔ)言中,數(shù)據(jù)分為常量和變量?jī)纱箢?lèi)。由于程序中的數(shù)據(jù)是有類(lèi)型的,所以常量和變量都是有類(lèi)型之分的。。常量按照不同的數(shù)據(jù)類(lèi)型可以分為:字符型常量、整型常量、浮點(diǎn)型常量,以及字符串常量等。程序是根據(jù)程序中常量的書(shū)寫(xiě)格式來(lái)區(qū)分它是哪種類(lèi)型常量的。好好的常量在C++語(yǔ)言中,數(shù)據(jù)分為常量和變量?jī)纱箢?lèi)。好好的整型常量在程序中書(shū)寫(xiě)整型常量時(shí),沒(méi)有小數(shù)部分。用戶(hù)可根據(jù)需要分別可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式書(shū)寫(xiě):十進(jìn)制格式:由數(shù)字0至9和正、負(fù)號(hào)組成,書(shū)寫(xiě)時(shí)直接寫(xiě)出數(shù)字,如:123,-516,+1000等。八進(jìn)制格式:以數(shù)字0開(kāi)頭的數(shù)字(0至7)序列,0111,010007,0177777等。十六進(jìn)制格式:以0x或0X開(kāi)頭的數(shù)字(數(shù)字0至9、字母A至Z)序列,如0x78AC,0xFFFF等。好好的整型常量在程序中書(shū)寫(xiě)整型常量時(shí),沒(méi)有小數(shù)部分。用戶(hù)可根據(jù)需要浮點(diǎn)型常量

只能用十進(jìn)制來(lái)表示。可以用小數(shù)或指數(shù)形式表示,不分單精度和雙精度類(lèi)型。如:34.5,.345,1.5e-3好好的浮點(diǎn)型常量只能用十進(jìn)制來(lái)表示。可以用小數(shù)或指字符型常量

(1)用一對(duì)單引號(hào)括起來(lái)的一個(gè)字符,單引號(hào)只是字符與其他部分的分割符,不是字符的一部分,并且,不能用雙引號(hào)代替單引號(hào)。在單引號(hào)中的字符不能是單引號(hào)或反斜杠。如:

‘a(chǎn)’,‘A’,‘#’合法的字符常量‘’’,‘\’非法的字符常量

“A”不代表字符常量(2)另一種表示字符常量的方法是使用轉(zhuǎn)義字符。C++規(guī)定,采用反斜杠后跟一個(gè)字母來(lái)代表一個(gè)控制字符,具有新的含義。好好的字符型常量(1)用一對(duì)單引號(hào)括起來(lái)的一個(gè)字符,單引號(hào)只是字C++中常用的轉(zhuǎn)義字符轉(zhuǎn)義字符含義ASCII碼值(十進(jìn)制)\a響鈴(BEL)7\b退格(BS)8\n換行(LF)10\r回車(chē)(CR)13\t水平制表(HT)9\v垂直制表(VT)11\\反斜杠92\’單引號(hào)39\”雙引號(hào)34\0空格符(NULL)0\ddd任意字符3位八進(jìn)制數(shù)\xhh任意字符2位十六進(jìn)制數(shù)好好的C++中常用的轉(zhuǎn)義字符轉(zhuǎn)義字符含義ASCII碼值(十進(jìn)制)\字符串常量

用一對(duì)雙引號(hào)括起來(lái)的一個(gè)或多個(gè)字符的序列稱(chēng)為字符串常量或字符串。字符串以雙引號(hào)為定界符,雙引號(hào)不作為字符串的一部分。如:“Hello”,“GoodMorning!”

,“Isay:\“Goodbye!\””

字符串中的字符數(shù)稱(chēng)為該字符串的長(zhǎng)度,在存儲(chǔ)時(shí),系統(tǒng)自動(dòng)在字符串的末尾加以字符串結(jié)束標(biāo)志,即轉(zhuǎn)義字符‘\0’。好好的字符串常量用一對(duì)雙引號(hào)括起來(lái)的一個(gè)或多個(gè)字符的序列稱(chēng)符號(hào)常量常量也可用一個(gè)標(biāo)識(shí)符來(lái)代表,稱(chēng)為符號(hào)常量。如:#definePRICE30intmain(){cout<<PRICE<<endl;return0;}使用符號(hào)常量應(yīng)注意以下幾個(gè)方面:(1)它不同于變量,在作用域內(nèi)其值不能改變和賦值。如:在上例中如再用PRICE=40;這一語(yǔ)句進(jìn)行賦值則是錯(cuò)誤的。(2)符號(hào)常量名一般用大寫(xiě),而變量名用小寫(xiě),以示區(qū)別。好好的符號(hào)常量常量也可用一個(gè)標(biāo)識(shí)符來(lái)代表,稱(chēng)為符號(hào)常量。如:好好的在程序中的常量有以下三種表示方法:(1)在程序中直接寫(xiě)入常量(詞法記號(hào)中的文字)如:-200,3.4E-10,‘A’,‘1’,0x120,045,5.35,1000l(2)利用#define定義宏常量(符號(hào)常量)一般格式:#define宏名常數(shù)如:#definePI3.14…………s=2*PI*r;…………程序中常量的表示方法好好的在程序中的常量有以下三種表示方法:程序中常量的表示方法好好的(3)利用const定義正規(guī)常數(shù)(常變量)格式:const數(shù)據(jù)類(lèi)型標(biāo)識(shí)符常量名=常量值;說(shuō)明:①const必須放在被修飾類(lèi)型符和類(lèi)型名前面②數(shù)據(jù)類(lèi)型是一個(gè)可選項(xiàng),用來(lái)指定常數(shù)值的數(shù)據(jù)類(lèi)型,如果省略了該數(shù)據(jù)類(lèi)型,那么編譯程序認(rèn)為它是int類(lèi)型如:constinta=10;表示定義了一個(gè)初始值為10的整型常量,它在程序中不可改變,但可用于表達(dá)式的計(jì)算中好好的(3)利用const定義正規(guī)常數(shù)(常變量)好好的1.變量的概念及特點(diǎn)程序中的變量是用于保存程序運(yùn)算過(guò)程中所需要的原始數(shù)據(jù)、中間運(yùn)算結(jié)果和最終結(jié)果的,因此,每一變量就相當(dāng)于一個(gè)容器,對(duì)應(yīng)著計(jì)算機(jī)內(nèi)存中的某一塊存儲(chǔ)單元。變量的值具有以下兩個(gè)特點(diǎn):(1)“一充即無(wú)”:即將一個(gè)新數(shù)據(jù)存放到一個(gè)變量中時(shí),該變量中原來(lái)的值消失,變量的值變成了新值。如:執(zhí)行完語(yǔ)句inti;i=10;i=20;后i的值為20,而不是10。變量好好的1.變量的概念及特點(diǎn)變量好好的(2)“取之不盡”:可將某個(gè)變量的值與程序中的其它數(shù)據(jù)進(jìn)行各種運(yùn)算,在運(yùn)算過(guò)程中,如果沒(méi)有改變?cè)撟兞康闹禃r(shí),那么,不管用該變量的值進(jìn)行多少次運(yùn)算,其值始終保持不變。如:語(yǔ)句inti,j,k;i=10;j=i+10;k=i+j*5;其中,i的值可無(wú)限制地多次使用,但它的值始終保持值10,因?yàn)樵诔绦蛑袥](méi)有改變變量i的值。好好的(2)“取之不盡”:好好的2.定義變量(變量聲明)

程序中的每一變量,都要先定義,后使用。定義變量一般有以下三種格式:數(shù)據(jù)類(lèi)型標(biāo)識(shí)符變量名;數(shù)據(jù)類(lèi)型標(biāo)識(shí)符變量名=初始化值;數(shù)據(jù)類(lèi)型標(biāo)識(shí)符變量名1[=初始值1],變量名2[=初始值2],……;好好的2.定義變量(變量聲明)好好的如:chara;

//定義字符型變量ainti=1000; //定義整型變量i,i的初始值為1000;floata=2,b=3,c;/*定義浮點(diǎn)型變量a、b、c,且a、

b的初始值分別為2、3。*/

好好的如:好好的3.定義變量的位置在程序中的不同位置采用不同的變量定義方式,決定了該變量具有不同的特點(diǎn)。變量的定義一般可有以下三種位置:(1)在函數(shù)體內(nèi)部在函數(shù)體內(nèi)部定義的變量稱(chēng)為局部變量,這種局部變量只在進(jìn)入定義它的函數(shù)體時(shí)起作用,離開(kāi)該函數(shù)體后該變量就消失(被釋放),即不再起作用。因此,不同函數(shù)體內(nèi)部可以定義相同名稱(chēng)的變量,而互不干擾。如:好好的3.定義變量的位置好好的voidfunc1(){inty;y=2;}voidfunc2(){inty;y=-100;}好好的voidfunc1()好好的(2)形式參數(shù)當(dāng)定義一個(gè)有參函數(shù)時(shí),函數(shù)名后面括號(hào)內(nèi)的變量,統(tǒng)稱(chēng)為形式參數(shù)。如:intis_in(char*a,charb){while(*a)if(*a==b)return1;elsea++;return0;}好好的(2)形式參數(shù)好好的(3)全局變量:在所有函數(shù)體外部定義的變量,其作用范圍是整個(gè)程序,并在整個(gè)程序運(yùn)行期間有效。如:intcount; //定義count變量是全局變量voidfunc1();voidfunc2();intmain(){count=10;func1();}好好的(3)全局變量:在所有函數(shù)體外部定義的變量,其作用范圍是整個(gè)voidfunc1(){inttemp;temp=count;func2();printf(“countis%d”,count);//輸出10}voidfunc2(){intcount;for(count=1;count<5;count++)putchar(‘.’);}好好的voidfunc1()好好的變量小結(jié)變量有“三要素”:變量名:標(biāo)識(shí)符,要正確、有意義;變量的類(lèi)型:C++支持的數(shù)據(jù)類(lèi)型變量的值:可變,在某一時(shí)刻是一個(gè)確定值;變量要“先說(shuō)明后使用”變量在一個(gè)函數(shù)中不能被定義兩次程序中的變量一定要賦初值(初始化)inta=3;a=3;cin>>a變量名一般要以小寫(xiě)字母開(kāi)頭,且見(jiàn)名知義。

好好的變量小結(jié)變量有“三要素”:好好的算術(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á)式好好的算術(shù)運(yùn)算符和算術(shù)表達(dá)式運(yùn)算符和表達(dá)式好好的運(yùn)算符功能數(shù)據(jù)類(lèi)型例子-負(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ù)值z(mì)--或--z好好的C++的算術(shù)運(yùn)算符好好的(1+x)/(3*x)(((2*x-3)*x+2)*x)-53.14*sqrt(r)b*b-4.0*a*c好好的(1+x)/(3*x)好好的算術(shù)運(yùn)算符注意事項(xiàng)算術(shù)運(yùn)算符/有整除和一般除法兩種功能。如果兩個(gè)操作數(shù)都是整數(shù),/的功能就是整除,否則就是一般除法。例如:

3/2=13/2.0=1.53.0/2=1.5a++與++a(a--與--a)

a++的功能是:a的值增1,a++的值是a增加前的值;

++a的功能是:a的值增1,++a的值是a增加后的值;

++a可以用作左值,即能放在賦值號(hào)的左邊。好好的算術(shù)運(yùn)算符注意事項(xiàng)算術(shù)運(yùn)算符/有整除和一般除法兩種功能。賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符的功能將某個(gè)數(shù)據(jù)的值賦給某個(gè)變量。格式:變量名賦值運(yùn)算符表達(dá)式說(shuō)明:(1)被賦值的目標(biāo),即賦值運(yùn)算符左邊的量必須是變量,而不能是常量或表達(dá)式。好好的賦值運(yùn)算符和賦值表達(dá)式好好的(2)C++中的賦值運(yùn)算符表(3)要注意區(qū)分賦值運(yùn)算符“=”與數(shù)學(xué)上的“等號(hào)”間的區(qū)別賦值運(yùn)算符例子等價(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)好好的(2)C++中的賦值運(yùn)算符表賦值運(yùn)算符例子等價(jià)形式=x=x+關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符就是對(duì)兩個(gè)量之間進(jìn)行比較的運(yùn)算符。關(guān)系運(yùn)算符含義例子<小于i>10<=小于或等于(x+y)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論