版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C++語言基礎(chǔ)青少年信息奧賽C++語言基礎(chǔ)C++程序?qū)嵗?#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"Hello!\n";cout<<"WelcometoC++!\n";return0;}運行結(jié)果:Hello!WelcometoC++!青少年信息奧賽C++語言基礎(chǔ)C++字符集C++字符集是C++程序中可以使用的基本符號大小寫的英文字母:A~Z,a~z數(shù)字字符:0~9特殊字符:例如空格 ! # % ^ & *
_(下劃線) + = - ~ < > / \ ‘
“ ; . , () [] {}青少年信息奧賽C++語言基礎(chǔ)C++詞法記號(類似單詞)關(guān)鍵字
C++預(yù)定義的單詞標識符 程序員聲明的單詞,它命名程序正文中的一些實體文字 在程序中直接使用符號表示的數(shù)據(jù)操作符 用于實現(xiàn)各種運算的符號分隔符 如{};
用于分隔各個詞法記號或程序正文空白符 空格、制表符(TAB鍵產(chǎn)生的字符)、 換行符(Enter鍵所產(chǎn)生的字符)和注釋的總稱青少年信息奧賽C++語言基礎(chǔ)C++字符集類似英語的字母或者漢語的筆畫。C++的詞法符號類似英語的單詞或漢語的字。C++程序類似英語的十四行詩或者漢語的詩詞歌賦。C++字符集、詞法符號、程序關(guān)系青少年信息奧賽C++語言基礎(chǔ)C++詞法記號——關(guān)鍵字關(guān)鍵字又稱保留字,是C++預(yù)定義的單詞關(guān)鍵字是C++中具有固定意義的一批英文單詞或其縮寫,有專門的用途,用在固定的位置,不能移作它用。C++中共有74個關(guān)鍵字/保留字,每一個都有自己的故事。
青少年信息奧賽C++語言基礎(chǔ)C++常用關(guān)鍵字及分類數(shù)據(jù)類型說明符與修飾符boolcharwchar_tclassconstdoubleenumfloatintlongshortsignedstructunionunsignedvoidvolatile存儲類型說明符autoexterninlineregisterstatic訪問說明符friendprivateprotectedpublic其它說明符asmoperatortemplatethistypedefvirtual語句與標號breakcasecatchcontinuedefaultdoelseforgotoifreturnswitchthrowtrywhile
運算符及邏輯值deletefalsenewsizeoftrue青少年信息奧賽C++語言基礎(chǔ)C++詞法記號——標識符構(gòu)成規(guī)則:以大寫字母、小寫字母或下劃線(_)開始,由大寫字母、小寫字母、下劃線(_)或數(shù)字0~9組成。注意事項標識符區(qū)分大小寫標識符長度任意(取決于操作系統(tǒng))提倡使用“見名知義”的標識符避免使用系統(tǒng)已定義的標識符(系統(tǒng)保留字)青少年信息奧賽C++語言基礎(chǔ)例:判斷下面哪些是合法的標識符:MyFile94SalarySalary94Salary94amount$amountvoid
f3.5Num_of_Student
青少年信息奧賽C++語言基礎(chǔ)C++程序?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++語言基礎(chǔ)數(shù)據(jù)類型數(shù)據(jù)類型告訴我們存儲單元中的數(shù)據(jù)的形式,及可以對存儲單元中的數(shù)據(jù)執(zhí)行哪些操作。C++的數(shù)據(jù)類型可以分為基本類型、構(gòu)造類型、指針類型、空類型(void)四個大類。青少年信息奧賽C++語言基礎(chǔ)基本數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字字節(jié)數(shù)數(shù)值范圍字符型char1-128~127整型int4-2147483648~2147483647單精度浮點型float4±(3.4E-38~3.4E38)雙精度符點型double8±(1.7E-308~1.7E308布爾型bool1true,false青少年信息奧賽C++語言基礎(chǔ)類型修飾符C++還允許在基本數(shù)據(jù)類型前加上類型修飾符,來更具體地表示數(shù)據(jù)類型。C++的類型修飾符包括:signed 有符號unsigned
無符號short 短型long
長型
青少年信息奧賽C++語言基礎(chǔ)數(shù)據(jù)類型標識符字節(jié)數(shù)數(shù)值范圍常量寫法舉例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青少年信息奧賽C++語言基礎(chǔ)數(shù)據(jù)類型標識符字節(jié)數(shù)數(shù)值范圍常量寫法舉例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青少年信息奧賽C++語言基礎(chǔ)說明:(1)表中帶[]的部分表示是可以省略的,如short[int]可以寫為shortint或簡寫為short,二者的含義是相同的。(2)四種修飾符都可以用來修飾整型。用signed修飾的類型的值可以為正數(shù)或負數(shù),用unsigned修飾的類型的值只能為正數(shù)。(3)用short修飾的類型,其值一定不大于對應(yīng)的整數(shù),用long修飾的類型,其值一定不小于對應(yīng)的整數(shù)。青少年信息奧賽C++語言基礎(chǔ)C++的構(gòu)造類型是基本類型的組合,包括數(shù)組、結(jié)構(gòu)體和聯(lián)合體等指針類型是對基本類型或構(gòu)造類型的地址進行操作的一種數(shù)據(jù)類型??疹愋?void)是什么也沒有的一種特殊數(shù)據(jù)類型,僅用在有限的一些情況下,通常用作無返回值函數(shù)的返回類型。有時也被歸類到基本類型青少年信息奧賽C++語言基礎(chǔ)常量在C++語言中,數(shù)據(jù)分為常量和變量兩大類。由于程序中的數(shù)據(jù)是有類型的,所以常量和變量都是有類型之分的。。常量按照不同的數(shù)據(jù)類型可以分為:字符型常量、整型常量、浮點型常量,以及字符串常量等。程序是根據(jù)程序中常量的書寫格式來區(qū)分它是哪種類型常量的。青少年信息奧賽C++語言基礎(chǔ)整型常量在程序中書寫整型常量時,沒有小數(shù)部分。用戶可根據(jù)需要分別可以用十進制、八進制和十六進制的形式書寫:十進制格式:由數(shù)字0至9和正、負號組成,書寫時直接寫出數(shù)字,如:123,-516,+1000等。八進制格式:以數(shù)字0開頭的數(shù)字(0至7)序列,0111,010007,等。十六進制格式:以0x或0X開頭的數(shù)字(數(shù)字0至9、字母A至Z)序列,如0x78AC,0xFFFF等。青少年信息奧賽C++語言基礎(chǔ)浮點型常量
只能用十進制來表示??梢杂眯?shù)或指數(shù)形式表示,不分單精度和雙精度類型。如:34.5,.345,1.5e-3青少年信息奧賽C++語言基礎(chǔ)字符型常量
(1)用一對單引號括起來的一個字符,單引號只是字符與其他部分的分割符,不是字符的一部分,并且,不能用雙引號代替單引號。在單引號中的字符不能是單引號或反斜杠。如:
‘a(chǎn)’,‘A’,‘#’合法的字符常量‘’’,‘\’非法的字符常量
“A”不代表字符常量(2)另一種表示字符常量的方法是使用轉(zhuǎn)義字符。C++規(guī)定,采用反斜杠后跟一個字母來代表一個控制字符,具有新的含義。青少年信息奧賽C++語言基礎(chǔ)C++中常用的轉(zhuǎn)義字符轉(zhuǎn)義字符含義ASCII碼值(十進制)\a響鈴(BEL)7\b退格(BS)8\n換行(LF)10\r回車(CR)13\t水平制表(HT)9\v垂直制表(VT)11\\反斜杠92\’單引號39\”雙引號34\0空格符(NULL)0\ddd任意字符3位八進制數(shù)\xhh任意字符2位十六進制數(shù)青少年信息奧賽C++語言基礎(chǔ)字符串常量
用一對雙引號括起來的一個或多個字符的序列稱為字符串常量或字符串。字符串以雙引號為定界符,雙引號不作為字符串的一部分。如:“Hello”,“GoodMorning!”
,“Isay:\“Goodbye!\””
字符串中的字符數(shù)稱為該字符串的長度,在存儲時,系統(tǒng)自動在字符串的末尾加以字符串結(jié)束標志,即轉(zhuǎn)義字符‘\0’。青少年信息奧賽C++語言基礎(chǔ)符號常量常量也可用一個標識符來代表,稱為符號常量。如:#definePRICE30intmain(){cout<<PRICE<<endl;return0;}使用符號常量應(yīng)注意以下幾個方面:(1)它不同于變量,在作用域內(nèi)其值不能改變和賦值。如:在上例中如再用PRICE=40;這一語句進行賦值則是錯誤的。(2)符號常量名一般用大寫,而變量名用小寫,以示區(qū)別。青少年信息奧賽C++語言基礎(chǔ)在程序中的常量有以下三種表示方法:(1)在程序中直接寫入常量(詞法記號中的文字)如:-200,3.4E-10,‘A’,‘1’,0x120,045,5.35,1000l(2)利用#define定義宏常量(符號常量)一般格式:#define宏名常數(shù)如:#definePI3.14…………s=2*PI*r;…………程序中常量的表示方法青少年信息奧賽C++語言基礎(chǔ)(3)利用const定義正規(guī)常數(shù)(常變量)格式:const數(shù)據(jù)類型標識符常量名=常量值;說明:①const必須放在被修飾類型符和類型名前面②數(shù)據(jù)類型是一個可選項,用來指定常數(shù)值的數(shù)據(jù)類型,如果省略了該數(shù)據(jù)類型,那么編譯程序認為它是int類型如:constinta=10;表示定義了一個初始值為10的整型常量,它在程序中不可改變,但可用于表達式的計算中青少年信息奧賽C++語言基礎(chǔ)1.變量的概念及特點程序中的變量是用于保存程序運算過程中所需要的原始數(shù)據(jù)、中間運算結(jié)果和最終結(jié)果的,因此,每一變量就相當于一個容器,對應(yīng)著計算機內(nèi)存中的某一塊存儲單元。變量的值具有以下兩個特點:(1)“一充即無”:即將一個新數(shù)據(jù)存放到一個變量中時,該變量中原來的值消失,變量的值變成了新值。如:執(zhí)行完語句inti;i=10;i=20;后i的值為20,而不是10。變量青少年信息奧賽C++語言基礎(chǔ)(2)“取之不盡”:可將某個變量的值與程序中的其它數(shù)據(jù)進行各種運算,在運算過程中,如果沒有改變該變量的值時,那么,不管用該變量的值進行多少次運算,其值始終保持不變。如:語句inti,j,k;i=10;j=i+10;k=i+j*5;其中,i的值可無限制地多次使用,但它的值始終保持值10,因為在程序中沒有改變變量i的值。青少年信息奧賽C++語言基礎(chǔ)2.定義變量(變量聲明)
程序中的每一變量,都要先定義,后使用。定義變量一般有以下三種格式:數(shù)據(jù)類型標識符變量名;數(shù)據(jù)類型標識符變量名=初始化值;數(shù)據(jù)類型標識符變量名1[=初始值1],變量名2[=初始值2],……;青少年信息奧賽C++語言基礎(chǔ)如:chara;
//定義字符型變量ainti=1000; //定義整型變量i,i的初始值為1000;floata=2,b=3,c;/*定義浮點型變量a、b、c,且a、
b的初始值分別為2、3。*/
青少年信息奧賽C++語言基礎(chǔ)3.定義變量的位置在程序中的不同位置采用不同的變量定義方式,決定了該變量具有不同的特點。變量的定義一般可有以下三種位置:(1)在函數(shù)體內(nèi)部在函數(shù)體內(nèi)部定義的變量稱為局部變量,這種局部變量只在進入定義它的函數(shù)體時起作用,離開該函數(shù)體后該變量就消失(被釋放),即不再起作用。因此,不同函數(shù)體內(nèi)部可以定義相同名稱的變量,而互不干擾。如:青少年信息奧賽C++語言基礎(chǔ)voidfunc1(){inty;y=2;}voidfunc2(){inty;y=-100;}青少年信息奧賽C++語言基礎(chǔ)(2)形式參數(shù)當定義一個有參函數(shù)時,函數(shù)名后面括號內(nèi)的變量,統(tǒng)稱為形式參數(shù)。如:intis_in(char*a,charb){while(*a)if(*a==b)return1;elsea++;return0;}青少年信息奧賽C++語言基礎(chǔ)(3)全局變量:在所有函數(shù)體外部定義的變量,其作用范圍是整個程序,并在整個程序運行期間有效。如:intcount; //定義count變量是全局變量voidfunc1();voidfunc2();intmain(){count=10;func1();}青少年信息奧賽C++語言基礎(chǔ)voidfunc1(){inttemp;temp=count;func2();printf(“countis%d”,count);//輸出10}voidfunc2(){intcount;for(count=1;count<5;count++)putchar(‘.’);}青少年信息奧賽C++語言基礎(chǔ)變量小結(jié)變量有“三要素”:變量名:標識符,要正確、有意義;變量的類型:C++支持的數(shù)據(jù)類型變量的值:可變,在某一時刻是一個確定值;變量要“先說明后使用”變量在一個函數(shù)中不能被定義兩次程序中的變量一定要賦初值(初始化)inta=3;a=3;cin>>a變量名一般要以小寫字母開頭,且見名知義。
青少年信息奧賽C++語言基礎(chǔ)算術(shù)運算符和算術(shù)表達式算術(shù)運算符就是對數(shù)據(jù)進行算術(shù)運算,如:加、減、乘、除等,是在程序中使用最多的一種運算符,C++的算術(shù)運算符如表所示。運算符和表達式青少年信息奧賽C++語言基礎(chǔ)運算符功能數(shù)據(jù)類型例子-負號數(shù)值x=-y;+加數(shù)值z=x+y;-減數(shù)值z=x-y;*乘數(shù)值z=x*y/除數(shù)值z=x/y;%求余整數(shù)z=x%y++自加數(shù)值z++或++zC++的算術(shù)運算符--自減數(shù)值z--或--z青少年信息奧賽C++語言基礎(chǔ)(1+x)/(3*x)(((2*x-3)*x+2)*x)-53.14*sqrt(r)b*b-4.0*a*c青少年信息奧賽C++語言基礎(chǔ)算術(shù)運算符注意事項算術(shù)運算符/有整除和一般除法兩種功能。如果兩個操作數(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可以用作左值,即能放在賦值號的左邊。青少年信息奧賽C++語言基礎(chǔ)賦值運算符和賦值表達式賦值運算符的功能將某個數(shù)據(jù)的值賦給某個變量。格式:變量名賦值運算符表達式說明:(1)被賦值的目標,即賦值運算符左邊的量必須是變量,而不能是常量或表達式。青少年信息奧賽C++語言基礎(chǔ)(2)C++中的賦值運算符表(3)要注意區(qū)分賦值運算符“=”與數(shù)學(xué)上的“等號”間的區(qū)別賦值運算符例子等價形式=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)青少年信息奧賽C++語言基礎(chǔ)關(guān)系運算符和關(guān)系表達式關(guān)系運算符就是對兩個量之間進行比較的運算符。關(guān)系運算符含義例子<小于i>10<=小于或等于(x+y)*2<=100>大于x+y>z>=大于或等于x-y>=a*b+2==等于x+y==a+b!=不等于x-y!=0青少年信息奧賽C++語言基礎(chǔ)
由關(guān)系運算符將兩個表達式連接形成的運算式子是關(guān)系表達式,一個關(guān)系表達式的值是一個邏輯值,當為真時,值為1,為假時,值為0。如:假設(shè)a=1,b=20,c=3,則a<b 表達式成立,其值為1b==c 表達式不成立,其值為0(a+b)!=c 表達式成立,其值為1青少年信息奧賽C++語言基礎(chǔ)邏輯運算符和邏輯表達式邏輯運算符是對兩個邏輯量間進行運算的運算符。邏輯運算符含義例子!邏輯非!(x>10)&&邏輯與(i>1)&&(i<10)||邏輯或(c==0)||(c==9)青少年信息奧賽C++語言基礎(chǔ)注意:(1)C或C++中在給出一個邏輯表達式的最終計算結(jié)果值時,用1表示真,用0表示假。但在進行邏輯運算的過程中,凡是遇到非零值時就當真值參加運算,遇到0值時就當假值參加運算。如:inta=10,b=15,c=14;則(a+6)&&(b>c)的值為1(真)。青少年信息奧賽C++語言基礎(chǔ)(2)在邏輯表達式的求值過程中,并不是所有的邏輯運算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運算符才能求出表達式的值時,才執(zhí)行該運算符。①a&&b&&c只有a為真時,才需要判別b的值,只有a和b的值都為真時才需要判別c的值。如:inti=10;則表達式i&&(i=0)&&(++i)的值為0(假),該表達式運算結(jié)束后,變量i的值為0,而不是1。青少年信息奧賽C++語言基礎(chǔ)②a||b||c只要a為真,就不必須判斷b和c;只有a為假,才判別b;a和b都為假才判別c。如:inti=1,j;則表達式i++||i++||i++的值為1(真),運算結(jié)束后,變量i的值為2,而不是4。青少年信息奧賽C++語言基礎(chǔ)intn=3,m=6;if((n>4)&&(m++<10)) cout<<“mshouldnotchanged.\n”;cout<<“m=“<<m<<endl;青少年信息奧賽C++語言基礎(chǔ)③對于數(shù)學(xué)上的表示多個數(shù)據(jù)間進行比較的表達式,在C++中要拆寫成多個條件并用邏輯運算符連接形成一個邏輯表達式。如:在數(shù)學(xué)上,要表示一個變量a的值處于-1和-9之間時,可以用-9<a<-1。但在C++語言中必須寫成(a>-9)&&(a<-1),而不能寫成-9<a<-1。因為,假設(shè)變量a當前的值為-5,它的值確實處在-1和-9之間,但在C++語言中求-9<a<-1時,從左向右進行計算,先計算-9<a,得1(真),此時該表達式可簡化為1<-1,結(jié)果為0(假)。因此必須寫成(a>-9)&&(a<-1)的形式。青少年信息奧賽C++語言基礎(chǔ)條件運算符在C++中只提供了一個三目運算符—即條件運算符“?:”,其一般形式為:表達式1?表達式2:表達式3條件運算的規(guī)則是:首先判斷表達式1的值,若其值為真(非0),則取表達式2的值為整個表達式的值;若其值為假(0),則取表達式3的值為整個表達式的值。如:若a=3,b=4,則條件表達式a>b?a:b的值為4青少年信息奧賽C++語言基礎(chǔ)條件表達式可以嵌套:x>y?”greatthan”:x==y?”equalto”:”lessthan”它等價于:(x>y)?”greatthan”:((x==y)?”equalto”:”lessthan”)在條件表達式中,如果后面兩個表達式的值類型相同,均為左值,則該條件表達式的值為左值表達式。intx=5;longa,b;(x?a:b)=1;(x?x:a)=2;//error:x和a不同類型(x==2?1:a)=3;//error:1非左值青少年信息奧賽C++語言基礎(chǔ)位運算符1.位運算符及其運算規(guī)則所謂位運算符是指能進行二進制位運算的運算符。C++提供的位運算符:運算符含義例子&按位與i&128|按位或j|64^按位異或j^12~按位取反~j<<按位左移i<<2>>按位右移j>>2青少年信息奧賽C++語言基礎(chǔ)位運算的運算規(guī)則為:(1)按位與&:兩個運算量相應(yīng)的位都是1,則該位的結(jié)果值為1,否則為0;(2)按位或|:兩個運算量相應(yīng)的位只要有一個是1,則該位的結(jié)果值為1,否則為0;(3)按位異或^:兩個運算量相應(yīng)的位不同,則該位的結(jié)果值為1,否則為0;(4)按位取反~:將運算量的每一位取反。青少年信息奧賽C++語言基礎(chǔ)(5)按位左移<<:將操作數(shù)中的每一位向左移動指定的位數(shù),移出的位被舍棄,空出的位補0。(6)按位右移>>:將操作數(shù)中的每一位向右移動指定的位數(shù),移出的位被舍棄,空出的位補0或補符號位。青少年信息奧賽C++語言基礎(chǔ)例子如:a=5,b=6,則:a0000010100000101
b&00000110|^00000110~00000110 00000100 00000111 00000011
即:a&b=4,a|b=7,a^b=3,~b=249。
青少年信息奧賽C++語言基礎(chǔ)2.復(fù)合位運算符位運算符與賦值運算符結(jié)合可以形成復(fù)合位運算符。運算符例子等價形式&=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)青少年信息奧賽C++語言基礎(chǔ)逗號運算符逗號運算符的運算優(yōu)先級是最低的。一般形式為:表達式1,表達式2,……,表達式N在計算逗號表達式的值時,按從左至右的順序依次分別計算各個表達式的值,而整個逗號表達式的值和類型是由最右邊的表達式?jīng)Q定。如:有語句inta=3,b=4;則表達式a++,b++,a+b的值為9。再如:設(shè)有inti;則表達式i=1,i++==2?i+1:i+4的值為6。青少年信息奧賽C++語言基礎(chǔ)該運算符的功能是將某一數(shù)據(jù)從一種數(shù)據(jù)類型向另一種數(shù)據(jù)類型進行轉(zhuǎn)換。其使用的一般形式:數(shù)據(jù)類型標識符(表達式)(數(shù)據(jù)類型標識符)表達式如:inti=2;
floata,b;
a=float(i);
//將變量i的類型強制轉(zhuǎn)換為浮點型,并將其值賦給變量a
b=(float)i;
//將變量i的類型強制轉(zhuǎn)換為浮點型,并將其值賦給變量b強制類型轉(zhuǎn)換運算符青少年信息奧賽C++語言基礎(chǔ)每個運算符都有自己優(yōu)先級和結(jié)合性。當一個表達式中包含多個運算符時,要確定運算的結(jié)果,必須首先確定運算的先后順序,即運算符的優(yōu)先級和結(jié)合性。C++中運算符的優(yōu)先級和結(jié)合性如表2.11所示。
運算符的優(yōu)先級與結(jié)合性青少年信息奧賽C++語言基礎(chǔ)優(yōu)先級運算符結(jié)合性1()::[]->..*->*自左至右2!~++--+-*&(類型)sizeofnew[]delete[]自右至左3*/%自左至右4+-自左至右5<<>>自左至右6<<=>>=自左至右7==!=自左至右8&自左至右9^自左至右10|自左至右11&&自左至右12||自左至右13?:自右至左14=+=-=*=/=%=<<=>>=&=^=|=自右至左15,自左至右C++中運算符的優(yōu)先級和結(jié)合性青少年信息奧賽C++語言基礎(chǔ)
輸出流對象輸出數(shù)據(jù)的語句格式為:
cout<<數(shù)據(jù)1<<數(shù)據(jù)2<<……<<數(shù)據(jù)n;說明:(1)cout是系統(tǒng)預(yù)定義的一個標準輸出設(shè)備(一般代表顯示器);“<<”是輸出操作符,用于向cout輸出流中插入數(shù)據(jù)。(2)cout的作用是向標準輸出設(shè)備上輸出數(shù)據(jù),被輸出的數(shù)據(jù)可以是常量、已有值的變量或是一個表達式。數(shù)據(jù)的輸出cout青少年信息奧賽C++語言基礎(chǔ)(3)可以在cout輸出流中插入C++中的轉(zhuǎn)義字符。如:cout<<“Inputthevalueofa:\n";cout<<a;
表示輸出完字符串Inputthevalueofa:后,在下一行輸出變量a的值。(4)可以將多個被輸出的數(shù)據(jù)寫在一個cout中,各輸出項間用“<<”操作符隔開即可,但要注意cout首先按從右向左的順序計算出各輸出項的值,然后再輸出各項的值。青少年信息奧賽C++語言基礎(chǔ)如:cout<<"valueofa:"<<a<<"valueofb:"<<b<<"Theresultis:"<<sqrt(a*a+b*b);再如:設(shè)變量i的值為10,則cout<<i<<","<<i++<<","<<i++;的輸出結(jié)果為:12,11,10(5)一個cout語句也可拆成若干行書寫,但注意語句結(jié)束符“;”只能寫在最后一行上。如:對于上面的語句也可寫成如下形式:青少年信息奧賽C++語言基礎(chǔ)cout<<"valueofa:"http://注意行末無分號
<<a<<"valueofb:"<<b<<"Theresultis:"<<sqrt(a*a+b*b);//在此處書寫分號青少年信息奧賽C++語言基礎(chǔ)(6)在cout中,實現(xiàn)輸出數(shù)據(jù)換行功能的方法:既可使用轉(zhuǎn)義字符“\n”,也可使用表示行結(jié)束的流操作endl。如:cout<<"ThisisfirstLine.\n"<<"Thisissecondline.";上面語句可等價地寫為:cout<<"ThisisfirstLine."<<endl<<"Thisissecondline.";青少年信息奧賽C++語言基礎(chǔ)(7)在cout中還可以使用流控制符控制數(shù)據(jù)的輸出格式。I/O流的常用控制符控制符功能dec十進制數(shù)輸出hex十六進制數(shù)輸出oct八進制數(shù)輸出setfill(c)在給定的輸出域?qū)挾葍?nèi)填充字符csetprecision(n)設(shè)顯示小數(shù)精度為n位setw(n)設(shè)域?qū)挒閚個字符setiosflags(ios::fixed)固定的浮點顯示青少年信息奧賽C++語言基礎(chǔ)setiosflags(ios::scientific)指數(shù)顯示setiosflags(ios::left)左對齊setiosflags(ios::right)右對齊setiosflags(ios::skipws)忽略前導(dǎo)空白setiosflags(ios::uppercase)十六進制數(shù)大寫輸出setiosflags(ios::lowercase)十六進制數(shù)小寫輸出setiosflags(ios::showbase)按十六/八進制輸出數(shù)據(jù)時,前面顯示前導(dǎo)符0x/0;青少年信息奧賽C++語言基礎(chǔ)①設(shè)置域?qū)挘核^域?qū)捑褪潜惠敵鰯?shù)據(jù)所占的輸出寬度(單位是字符數(shù))。設(shè)置域?qū)捒梢允褂昧骺刂品鹲etw(n)和cout的方法cout.width(n)
其中n為正整數(shù),表示域?qū)挕5?,cout.width(n)和setw(n)二者都只對下一個被輸出的數(shù)據(jù)有作用,若一個輸出語句內(nèi)有多個被輸出的數(shù)據(jù),而要保持一定格式域?qū)挄r,需要在每一輸出數(shù)據(jù)前加上cout.width(n)或setw(n)。
青少年信息奧賽C++語言基礎(chǔ)
此外,當參數(shù)n的值比實際被輸出數(shù)據(jù)的寬度大時,則在給定的域?qū)拑?nèi),數(shù)據(jù)靠右輸出,不足部分自動填充空格符;若被輸出數(shù)據(jù)的實際寬度比n值大時,則數(shù)據(jù)所占的實際位數(shù)輸出數(shù)據(jù),設(shè)置域?qū)挼膮?shù)n不再起作用。青少年信息奧賽C++語言基礎(chǔ)例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;}青少年信息奧賽C++語言基礎(chǔ)其輸出結(jié)果是:︼21︼︼21︼︼︼21//程序中第一個cout的輸出結(jié)果999︼999青少年信息奧賽C++語言基礎(chǔ)②設(shè)置域內(nèi)填充字符:在默認情況下,當被輸出的數(shù)據(jù)未占滿域?qū)挄r,會自動在域內(nèi)靠左邊填充相應(yīng)個數(shù)的空格符。但我們也可以設(shè)置在域內(nèi)填充其他的字符,方法是利用cout的fill方法cout.fill(c)或setfill(c)。cout.fill(c)上和setfill(c)可以對所有被輸出的數(shù)據(jù)起作用。青少年信息奧賽C++語言基礎(chǔ)例在例2-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;青少年信息奧賽C++語言基礎(chǔ)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;}青少年信息奧賽C++語言基礎(chǔ)其輸出結(jié)果是:#21##21###21//程序中第一個cout的輸出結(jié)果,未占滿域?qū)挼牟糠痔畛?字符。999#999##999//程序中第二個cout的輸出結(jié)果10201020%1020//程序中第三個cout的輸出結(jié)果,未占滿域?qū)挼牟糠痔畛?字符。青少年信息奧賽C++語言基礎(chǔ)③設(shè)置輸出數(shù)據(jù)的進位計數(shù)制:在默認情況下,被輸出的數(shù)據(jù)按十進制格式輸出。但可以使用流控制符hex和oct控制數(shù)據(jù)的輸出格式為十六進制和八進制,一旦設(shè)置成某種進位計數(shù)制后,數(shù)據(jù)的輸出就以該種數(shù)制為主,可利用流控制符dec將數(shù)制重新成十進制。青少年信息奧賽C++語言基礎(chǔ)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;青少年信息奧賽C++語言基礎(chǔ)程序的輸出結(jié)果為:#15//以十六進制格式輸出數(shù)據(jù)3e7#25//以八進制格式輸出數(shù)據(jù)1747#21//以十進制格式輸出數(shù)據(jù)999青少年信息奧賽C++語言基礎(chǔ)④設(shè)置浮點數(shù)的輸出格式:對于浮點數(shù),既可以用小數(shù)格式輸出,也可以用指數(shù)格式輸出。這可以分別通過setiosflags(ios::fixed)和setiosflags(ios::scientific)來控制。青少年信息奧賽C++語言基礎(chǔ)例已知圓的半徑r=6.779,計算并輸出圓的周長和面積,要求分別用指數(shù)和小數(shù)兩種格式輸出。#include<bits/stdc++.h>usingnamespacestd;constdoublepi=3.14159;intmain(){doubler=6.779,c,s;c=2.0*pi*r;//計算圓的周長
s=pi*r*r;//計算圓的
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶文化教育在小學(xué)商業(yè)素養(yǎng)培養(yǎng)中的作用
- 董海霞二年級語文《葡萄溝》教學(xué)設(shè)計新
- DB4415T 48-2025茶角胸葉甲綜合防控技術(shù)規(guī)程
- LED廣告屏幕安裝與維護合同模板
- 個人消費貸款合同范例
- 二手住宅買賣合同正規(guī)范本
- 二手房分期付款合同書
- 不履行購銷合同糾紛案解析
- 專利權(quán)轉(zhuǎn)讓及合作協(xié)議合同書
- 專項企業(yè)產(chǎn)(股)權(quán)托管合同文本
- 老客戶維護方案
- 高處作業(yè)安全教育培訓(xùn)講義課件
- dk膠原蛋白培訓(xùn)課件
- 萬科物業(yè)管理公司全套制度(2016版)
- 動物檢疫技術(shù)-動物檢疫處理(動物防疫與檢疫技術(shù))
- 英語經(jīng)典口語1000句
- 進模模具設(shè)計
- 2021年高考化學(xué)真題和模擬題分類匯編專題20工業(yè)流程題含解析
- 2023年北京市高考作文評分標準及優(yōu)秀、滿分作文
- 2023年大唐尿素投標文件
- 縮窄性心包炎課件
評論
0/150
提交評論