A基本數(shù)據(jù)運算與輸入輸出.ppt
《A基本數(shù)據(jù)運算與輸入輸出.ppt》由會員分享,可在線閱讀,更多相關(guān)《A基本數(shù)據(jù)運算與輸入輸出.ppt(63頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第2章基本數(shù)據(jù)運算與輸入輸出(A),C+程序設(shè)計,2,主要內(nèi)容,如何用計算機計算圓面積(2.1-2.4)標(biāo)識符(2.5)基本數(shù)據(jù)類型(2.9)變量定義(2.6)常量(2.8,2.9.1)I/O流控制(3.12)小結(jié)及作業(yè),C+程序設(shè)計,3,2.1如何用計算機計算圓面積,問題描述計算機從鍵盤讀入圓的半徑,輸出其面積程序?qū)⑹褂米兞勘4姘霃胶兔娣e,并用一個表達式計算面積解決思路讀入半徑利用圓面積公式計算面積輸出面積,C+程序設(shè)計,4,2.1如何用計算機計算圓面積,程序主函數(shù)框架程序清單,intmain()/Step1:Readinradius/Step2:Computearea/Step3:Displaythearea,#includeusingnamespacestd;intmain()/Step1:Readinradiusdoubleradius;coutradius;/Step2:Computeareadoublearea=radius*radius*3.14159;/Step3:DisplaytheareacoutTheareaisareaendl;return0;,consolein/out,C+程序設(shè)計,5,2.2標(biāo)識符,字符集字符是指計算機中使用的字母、數(shù)字、單詞和符號用于構(gòu)造有意義語句的一組字符,這也是任何一種語言的特點C+程序的字符集26個大、小寫字母:az,AZ10數(shù)字:09其他符號:+-*/%,C+程序設(shè)計,6,2.2標(biāo)識符,標(biāo)識符由字符集元素組成的一串字符,為變量、常量及函數(shù)等程序?qū)嶓w命名分為系統(tǒng)預(yù)定義標(biāo)識符(如預(yù)編譯指令)和用戶自定義標(biāo)識符(如變量名,函數(shù)名)標(biāo)志符命名規(guī)則由字母、下劃線、數(shù)字組成,且第一個符號不能是數(shù)字中間不能有空格C+是大小寫敏感,即大寫和小寫字母是不同的最好使用英文單詞或其組合,切忌使用漢字或漢語拼音不能使用保留字作為標(biāo)志符(參見附錄A)采用見名思義的原則:sum、name、sex,不要太長,一般以不超過31個字符為宜,C+程序設(shè)計,7,2.2標(biāo)識符,保留字又稱關(guān)鍵字(Keyword),是預(yù)先定義好的標(biāo)識符,對C+編譯程序有特殊含義在程序中用到的其他名字(標(biāo)識符)不能與C+的關(guān)鍵字相同關(guān)鍵字也不能重新定義不同開發(fā)環(huán)境如VC、BC會對保留字有不同擴充C/C+保留字參見教材附錄AC+關(guān)鍵字(P492),C+程序設(shè)計,8,2.3基本數(shù)據(jù)類型,中學(xué)階段數(shù)學(xué)課學(xué)習(xí)的數(shù)據(jù)類型及運算實數(shù)(R)、復(fù)數(shù)(C)355.5,76.8有序?qū)崝?shù)對:2+3i整數(shù)(I)、小數(shù)35,-683.5,0.8自然數(shù)(N),正整數(shù)(Z)0,1,2,3,有理數(shù)、無理數(shù)正數(shù)、負數(shù)常數(shù):,e,C+程序設(shè)計,9,2.3基本數(shù)據(jù)類型,C+語言中的數(shù)據(jù)類型,C+程序設(shè)計,10,2.3基本數(shù)據(jù)類型,C+語言中數(shù)據(jù)為什么要區(qū)分類型?不同類型的數(shù)據(jù)代表不同的數(shù)據(jù)表示形式合法的取值范圍可參與的運算種類占用內(nèi)存空間大小對程序當(dāng)中所用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類型從基本數(shù)據(jù)類型到抽象數(shù)據(jù)類型無數(shù)據(jù)類型void基本數(shù)據(jù)類型構(gòu)造數(shù)據(jù)類型抽象數(shù)據(jù)類型,C+程序設(shè)計,11,2.3基本數(shù)據(jù)類型,基本數(shù)據(jù)類型:系統(tǒng)事先規(guī)定了的數(shù)據(jù)類型(內(nèi)置類型)int,整數(shù),在目前絕大多數(shù)機器上占4個字節(jié)float,單精度浮點數(shù),一般是4個字節(jié)長,VC內(nèi)缺省顯示為6位有效數(shù)字double,雙精度浮點數(shù),一般是8個字節(jié)長,VC內(nèi)缺省顯示為14位有效數(shù)字char字符,一般是1個字節(jié)長用來表示256個ASCII字符,或者0255的整數(shù),注意,數(shù)據(jù)類型標(biāo)識符為小寫字母int大小范圍與機器有關(guān),C+程序設(shè)計,12,2.3基本數(shù)據(jù)類型,基本數(shù)據(jù)類型修飾符:short、long、signed、unsignedshortshortint,短整數(shù),一般2個字節(jié)長,通常簡寫為shortlonglongint,長整數(shù),VC中一般是4個字節(jié)長,通常簡寫為longlongdouble,長雙精度(高精度)浮點數(shù),一般是10個字節(jié)長。signed用來修飾char、int、short和long,說明他們是有符號的整數(shù)(正整數(shù)、0和負整數(shù)),一般缺省都是有符號的,所以這個修飾符通常省略unsigned用來修飾char、int、short和long,說明他們是無符號的整數(shù)(正整數(shù)和0),C+程序設(shè)計,13,一、無符號的整型數(shù)據(jù)大于或等于零的正整數(shù),無符號的短整型,分類,無符號的基本整型,無符號的長整型,unsignedshortint,標(biāo)識符,unsignedint,unsignedlongint,2,對應(yīng)內(nèi)存空間的大小,4,4,0216-1,取值范圍,同上,0232-1,注意,1、的含義2、標(biāo)識符為小寫字母3、int與機器有關(guān),2.3基本數(shù)據(jù)類型,C+程序設(shè)計,14,二、有符號的整型數(shù)據(jù)包括負整數(shù)、零、正整數(shù),有符號的短整型,分類,有符號的基本整型,有符號的長整型,signedshortint,標(biāo)識符,signedint,signedlongint,2,對應(yīng)內(nèi)存空間的大小,4,4,取值范圍-215215,2.3基本數(shù)據(jù)類型,-231231,同上,有符號整數(shù)在計算機內(nèi)存中是以補碼形式存儲,C+程序設(shè)計,15,1.求整數(shù)的補碼規(guī)則,例如:(10)補=(-10)補=,2.由補碼推出原碼,2.3基本數(shù)據(jù)類型,下面以一個字節(jié)存儲有符號整數(shù)為例分析其取值范圍,C+程序設(shè)計,16,補碼,原碼,取值范圍,-128127,-2727-1,2.3基本數(shù)據(jù)類型,C+程序設(shè)計,17,三、實型:一律作為有符號的數(shù)據(jù)使用,2.3基本數(shù)據(jù)類型,分類標(biāo)志符字節(jié)數(shù)缺省有效精度,單精度實數(shù)float46位,雙精度實數(shù)double814位,實數(shù)作為有符號的數(shù)據(jù)使用,可表示為小數(shù)形式和指數(shù)形式,但在計算機內(nèi)部都用浮點方式來實現(xiàn)存儲定點小數(shù):小數(shù)點位置固定,位于符號位和第一個數(shù)值位之間,如-0.34,表示的是純小數(shù);浮點數(shù):小數(shù)點的位置是可以浮動的數(shù),如,浮點數(shù)通用表示是將實數(shù)分為階碼和尾數(shù)兩部分:S為尾數(shù)(正負均可),一般規(guī)定用純小數(shù)形式,r為基數(shù),對二進制而言,r=2,j為階碼(正負均可),但必須是整數(shù),C+程序設(shè)計,18,2.3基本數(shù)據(jù)類型,理論上浮點數(shù)在計算機中的存儲格式為,C+程序設(shè)計,19,浮點數(shù)在VC6中實際的存儲方式為float型,2.3基本數(shù)據(jù)類型,double型,階碼:決定數(shù)的大小,對應(yīng)浮點數(shù):2-1282127,尾數(shù):決定數(shù)的精度,C+程序設(shè)計,20,例:float71.3125轉(zhuǎn)換為二進制為:1000111.0101,將其規(guī)范化之后成為:1.000111010126,這里的規(guī)范化是指移動小數(shù)點使小數(shù)點的左邊只有一個“1”。內(nèi)存里實際存儲實數(shù)的三部分信息:符號(如+)、指數(shù)(如6)和尾數(shù)(即小數(shù)點右邊的位,如000111010100),而小數(shù)點左邊的1并不存儲。01000010100011101010000000000000(428EA000),2.3基本數(shù)據(jù)類型,符號位指數(shù)位小數(shù)部分指數(shù)偏移量單精度浮點數(shù)1位318位30-2323位22-00127雙精度浮點數(shù)1位6311位62-5252位51-001023,尾數(shù)部分占的位數(shù)愈多,實數(shù)的有效數(shù)字愈多,即有效精度愈高。指數(shù)部分占的位數(shù)愈多,則能表示的數(shù)值范圍愈大。實數(shù)在操作中存在誤差,例如:把111111.111作為float型數(shù)據(jù),輸出的結(jié)果是111111.109,C+程序設(shè)計,21,四、字符型采用ASCII碼字符集,即用1個字節(jié)存放字符的ASCII碼值,2.3基本數(shù)據(jù)類型,分類標(biāo)志符內(nèi)存空間取值范圍,有符號字符型signedchar1-128127,無符號字符型unsignedchar10255,C+程序設(shè)計,22,2.3基本數(shù)據(jù)類型,C+程序設(shè)計,23,2.4變量,變量:在程序運行中其值可以改變的量變量是存儲信息的單元,它對應(yīng)某個內(nèi)存空間變量名代表其存儲空間,程序能在變量中存儲值和取出值變量的定義:數(shù)據(jù)類型變量名1=初值,變量名2=初值,;例:floatr1=1.5f,r2=0.5f,r3;charch=A;變量的初始化:為變量賦初值的過程,用賦值運算符“=”進行定義的同時進行初始化單獨進行初始化,inta,b;unsignedlongsum;a=123,sum=0;b=a;,C+程序設(shè)計,24,2.4變量,變量名的含義表示分配給變量的存儲空間表示內(nèi)存空間中存儲的數(shù)據(jù):變量的值每個變量都有一個名字、一個數(shù)據(jù)類型和一個值注意變量名與變量值的區(qū)別,C+程序設(shè)計,25,2.4變量,變量名命名規(guī)定由字母、下劃線、數(shù)字組成,且第一個符號不能是數(shù)字不要與關(guān)鍵字、保留字重名;中間不能有空格C+是大小寫敏感,即大寫和小寫字母是不同的變量名中不能包含”.;,“+-”之類特殊符號變量名不要與C+中的庫函數(shù)、類名和對象名相同不要使用易混淆的字母某些功能的變量采用習(xí)慣命名,如循環(huán)變量習(xí)慣用i,j,k采用見名思義的原則:sum、name、sex,不要太長,一般以不超過31個字符為宜最好使用英文單詞或其組合,切忌使用漢字或漢語拼音,C+程序設(shè)計,26,2.4變量,變量名命名風(fēng)格下劃線和大小寫通常用來增強可讀性Unix風(fēng)格:variable_nameWindows風(fēng)格(匈牙利命名法):chName,strName,指出下列命名的正確性,錯誤的指出原因x_y,x1,X1,x,y姓名2xvarname,指出下列命名的正確性,錯誤的指出原因_y1Case,51select,Alot,-vvSin,cin,cout,stringD6Xy,C+程序設(shè)計,27,2.4變量,匈牙利命名法標(biāo)識符的名字以一個或者多個小寫字母開頭,用這些字母來指定數(shù)據(jù)類型在標(biāo)識符內(nèi),前綴以后就是一個或者多個第一個字母大寫的單詞,這些單詞指出程序中該對象的用途常用的數(shù)據(jù)類型的標(biāo)準(zhǔn)前綴ch字符(char)n整數(shù)(integer)bBOOLl長整數(shù)(long)hHANDLE(無符號int)m_類成員變量fn函數(shù)(function)例如,nCount表示一個計數(shù)器的變量,數(shù)據(jù)類型是整型。,C+程序設(shè)計,28,#includeusingnamespacestd;intmain()intprice=30;intnum,total;/定義變量,在內(nèi)存中開辟區(qū)間num=10;/變量賦值,10為常量total=num*price;couttotal=total;/輸出結(jié)果return0;,其中:num=10total=num*PRICE,是賦值號,不同于數(shù)學(xué)意義上的等號!,num,total,10,300,2.4變量,C+程序設(shè)計,29,2.5常量,在程序運行時保持不變的值,稱為常量根據(jù)常量的數(shù)據(jù)類型,常量可分為整型常量、實型常量、字符常量、字符串常量、枚舉常量根據(jù)常量的聲明,常量可分為文字常量和自定義常量文字常量:在程序中出現(xiàn)的、代表數(shù)據(jù)的文字整型文字常量十進制:78,-132八進制:以數(shù)字0開頭,后跟一串八進制數(shù)字(注意:數(shù)字0),如012(),03256(),0128()十六進制:以0 x開頭,后跟09、AF或af(數(shù)字0,字母x),如0 x123(),0 xabc(),01bc()10進制數(shù)有正負之分,8進制、16進制只能表示無符號整數(shù),C+程序設(shè)計,30,2.5常量,整型文字常量長整型常量123l、123L、123456l、123456L無符號型常量123u、123U實型文字常量小數(shù)形式,例如:0.123,-5.6,.123,2.0,2.指數(shù)形式(科學(xué)記數(shù)法)1.5610-31.56E-3,1.561081.56E8,1.56e+8注意實數(shù)一律用十進制表示:0 x2.5E的左右必須要有數(shù)字:E2(1E2),2E(2E+1、2E1)指數(shù)部分必須為整數(shù):2.5E+2.5,C+程序設(shè)計,31,#includeusingnamespacestd;intmain()intint10,int8,int16;/定義3個整型變量int10=10;/默認(rèn)為十進制int8=010;/八進制int16=0 x10;/十六進制coutint10=int10endl;coutint8=int8endl;coutint16=int16endl;return0;,輸出int10=10int8=8int16=16,2.5常量,C+程序設(shè)計,32,2.5常量,實型文字常量單精度float:一般在內(nèi)存中占4個字節(jié),提供7位有效數(shù)字雙精度double:一般在內(nèi)存中占8個字節(jié),提供15位有效數(shù)字長雙精度longdouble:一般在內(nèi)存中占10個字節(jié),提供19位有效數(shù)字在C+中,一個實型常數(shù)如果沒有任何說明,表示double型;若要表示float型數(shù),則必須在實數(shù)后加上f或F;若要表示longdouble型數(shù),則必須在實數(shù)后加上l或L,34.5f/float型34.5/double型(系統(tǒng)默認(rèn)表示)34.5L/longdouble型34.5l/longdouble型34.5e23f/float型,34.5e23/double型(系統(tǒng)默認(rèn)表示)34.5e23L/longdouble型34.523l/longdouble型34.5e400/longdouble型(范圍超過double表示),C+程序設(shè)計,33,#includeusingnamespacestd;intmain()floata,b;doublec,d;a=0.01;b=3.45678e-2;c=3.45678e-2;d=9.7654e-5;couta=atb=bendl;coutc=ctd=dendl;return0;,a=0.01b=0.0345678c=0.0345678d=9.7654e-005Pressanykeytocontinue,2.5常量,C+程序設(shè)計,34,2.5常量,字符文字常量用一對英文單引號括起來的單個字符或轉(zhuǎn)義序列單個字符:如a,x,$轉(zhuǎn)義序列:以開頭后跟一個字符或幾個數(shù)字n回車鍵,ttab鍵ddd1-3位8進制數(shù)所代表的字符:101與A、65表示同一個字符,不需以0開頭,表示范圍為000377(0255)xhh1-2位16進制數(shù)所代表的字符:x41與A、65表示同一個字符,242、362、xF2表示,必須用x或X引導(dǎo),表示范圍為x00xff(0255)將一個字符常量賦值給字符變量,實際上并不是把該字符本身放到內(nèi)存單元中,而是將該字符的相應(yīng)ASCII碼(整型數(shù))存入,即在內(nèi)存中字符數(shù)據(jù)以ASCII存儲,即以整數(shù)表示,C+程序設(shè)計,35,2.5常量,字符文字常量例:charchVar=b,chVar1=ncharchVar2=007;/1-3位8進制數(shù)charchVar3=xff;/1-2位16進制數(shù)charchVar4=97;C+中字符數(shù)據(jù)和整型數(shù)據(jù)之間可以相互賦值,但要注意其表示的范圍合理性inta=b;/Ok給一個整型變量賦一個字符值charb=97;/Ok給一個字符變量賦一個整型值coutaendl;結(jié)果為98coutbendl;結(jié)果為a0與0的區(qū)別常用轉(zhuǎn)義字符:一些特殊字符(無法從鍵盤輸入或者另有它用)用轉(zhuǎn)義字符表示,C+程序設(shè)計,36,#includeusingnamespacestd;intmain()charc1,c2,c3,c4;charn1,n2;c1=a;/字符常量c2=97;/十進制c3=x61;/轉(zhuǎn)義字符c4=0141;/八進制coutc1=c1tc2=c2endl;coutc3=c3tc4=c4endl;n1=n;/轉(zhuǎn)義字符:回車n2=t;/轉(zhuǎn)義字符:下一個輸出區(qū)(Tab)cout使用轉(zhuǎn)義字符n;coutc1=c1n2c2=c2n1;coutc3=c3n2c4=c4n1;return0;,輸出:c1=ac2=ac3=ac4=a使用轉(zhuǎn)義字符c1=ac2=ac3=ac4=a,2.5常量,C+程序設(shè)計,37,2.5常量,字符串文字常量用一對雙引號括起來的一個或多個字符序列,如:China,CLanguage,hello!字符串的存儲:在內(nèi)存中,依次存放組成字符串的每個字符的ASCII碼值,并且把空字符0(ASCII碼值為0)加到字符串的尾部,作為字符串的結(jié)束標(biāo)志。字符串的長度:等于字符的個數(shù)字符串存儲時占內(nèi)存的大?。鹤址拈L度+1不能將字符串常量賦值給字符變量,如charch=abcd;一個字符占一個內(nèi)存單元,含有一個字符的字符串占2個內(nèi)存單元,區(qū)分A與A,0、0與0,C+程序設(shè)計,38,2.5常量,用戶自定義常量若希望變量的內(nèi)容自初始化后一直保持不變,此時可以定義一常量若程序中多處都要用到一個常數(shù),此時應(yīng)定義一常量以避免常數(shù)值的不一致性constfloatpi=3.14159;常量定義時必須初始化,此后程序中對其只能讀不能修改常量名不能放在賦值語句的左邊constfloatpi;pi=3.14159;常量在編譯時求值constintnSize=100*sizeof(int);constintnMax=fnMax(15,23);/fnMax用戶自定義函數(shù),C+程序設(shè)計,39,2.5常量,用戶自定義常量#defineC+為兼容C而保留#define稱為編譯預(yù)定義指令,其語法格式為#define常量名字符串#definePI3.1415926常量名與字符串之間用空格分隔,行末不用分號,在編譯預(yù)處理階段進行字符串直接替換在C+編程中,常量定義應(yīng)使用const不用define,C+程序設(shè)計,40,#includeusingnamespacestd;#definePI3.1415926/自定義常量intmain()constintPRICE=30;/自定義常量,在程序中保持不變intnum,total;/定義變量,在內(nèi)存中開辟區(qū)間num=10;/變量賦值,10為文字常量total=num*PRICE;couttotal=total;/輸出結(jié)果floatfR,fArea;/定義變量,在內(nèi)存中開辟區(qū)間fR=3.5f;/變量賦值,3.5f為文字常量fArea=fR*fR*PI;coutArea=fArea;/輸出結(jié)果return0;,num,total,10,300,2.5常量,C+程序設(shè)計,41,#includeusingnamespacestd;#definePI3.14156#defineSChinaintmain()constfloatpi=3.14156;/變量作為常量使用coutPI=PIendl;cout10*PI=10*PIendl;coutSendl;/PI=PI+3;/pi=pi+4;coutPI=PIendl;coutpi=piradius;/Step2:Computeareadoublearea=radius*radius*PI;/Step3:DisplaytheareacoutTheareaisareaab;/程序運行至此停下,等待從鍵盤輸入變量值,鍵盤輸入:35或:35均可。,輸入語句自動過濾空白字符!,3,鍵盤,5,鍵盤,輸入語句:cin輸入十進制整數(shù)和實數(shù):cin.,2.6I/O流控制,C+程序設(shè)計,45,floatc,d;cincd;,charch1,ch2;cinch1ch2;,若輸入:ab則ch1為a,ch2為b。,若輸入:ab則ch1為a,ch2為b。,字符型變量過濾空白字符,cin格式過濾空白字符!,輸入語句:cin浮點型數(shù)據(jù)同整型數(shù)據(jù)一樣字符型數(shù)據(jù),2.6I/O流控制,C+程序設(shè)計,46,floata;inti1,i2;charch1,ch2;cini1ai2ch1ch2;,輸入:345.6781ab,i2:1,在缺省的情況下,cin自動跳過輸入的空格,換言之,cin不能將輸入的空格賦給字符型變量;回車鍵也是作為輸入字符之間的分隔符,也不能將輸入的回車鍵字符賦給字符型變量。,a:5.578,i1:34,ch1:a,ch2:b,2.6I/O流控制,輸入語句:cin不同類型數(shù)據(jù)混合輸入,C+程序設(shè)計,47,若要把從鍵盤上輸入的每一個字符,包括空格和回車鍵都作為一個輸入字符賦給字符型變量時,必須使用函數(shù)cin.get(),其格式為:cin.get();,cin.get()從輸入行中取出一個字符,并將它賦給字符型變量,該語句一次只能從輸入行中提取一個字符。,charc1;cin.get(c1);,charch1,ch2,ch3;cin.get(ch1);cin.get(ch2);cin.get(ch3);,則:ch1:A,ch2:空格,ch3:B,輸入:AB,并且在輸入緩沖區(qū)中保留回車鍵!,2.6I/O流控制,C+程序設(shè)計,48,輸入語句:cin輸入十六進制或八進制數(shù)據(jù):缺省情況下,系統(tǒng)約定輸入的整型數(shù)是十進制數(shù)據(jù);當(dāng)要求按八進制或十六進制輸入數(shù)據(jù)時,在cin中必須指明相應(yīng)的數(shù)據(jù)類型:hex為十六進制,oct為八進制,dec為十進制。,inti,j,k,l;cinhexi;/指明輸入為十六進制數(shù)cinoctj;/指明輸入為八進制數(shù)cink;/輸入仍為八進制數(shù)cindecl;/指明輸入為十進制數(shù)當(dāng)執(zhí)行到語句cin時,若輸入的數(shù)據(jù)為:11111212,結(jié)果:i:17,j:9,k:10,l:12,2.6I/O流控制,C+程序設(shè)計,49,2.6I/O流控制,輸入語句:cin使用非十進制數(shù)輸入時,要注意以下幾點八進制或十六進制數(shù)的輸入,只能適用于整型變量,不適用于字符型變量,實型變量當(dāng)在cin中指明使用的數(shù)制輸入后,則所指明的數(shù)制一直有效,直到在接著的cin中指明輸入時所使用的另一數(shù)制為止。如上例中,輸入k的值時,仍為八進制。輸入數(shù)據(jù)的格式、個數(shù)和類型必須與cin中所列舉的變量類型一一對應(yīng)。一旦輸入出錯,不僅使當(dāng)前的輸入數(shù)據(jù)不正確,而且使得后面的提取數(shù)據(jù)也不正確。,cinab;,cinab;,inta,b;,cinab;,C+程序設(shè)計,50,輸出語句:cout與輸入cin對應(yīng)的輸出是cout輸出流當(dāng)要輸出一個表達式的值時,可使用cout來實現(xiàn),其一般格式為:cout.;其中運算符“”稱為插入運算符,它將緊跟其后的表達式的值,輸出到顯示器當(dāng)前光標(biāo)的位置。,2.6I/O流控制,C+程序設(shè)計,51,inta=6;floatf1=12.4;chars1=abcd;coutatf1ts1endl;,t為轉(zhuǎn)義字符Tab,endl為回車或n,顯示器,顯示器,顯示器,6,12.4,abcd,2.6I/O流控制,C+程序設(shè)計,52,cout將雙引號中的字符串常量按其原樣輸出,charch1=a,ch2=b;coutc1=ch1tc2=ch2endl;,c1=a,c2=b,inti1=4,i2=5;floata=3.5;couta*i1=a*i1endla*i2=a*i2endl;,a*i1=14a*i2=17.5,2.6I/O流控制,C+程序設(shè)計,53,2.6I/O流控制,使用控制符用于對I/O流的格式進行控制在頭文件iomanip.h中定義的對象可以直接將控制符插入流中,C+程序設(shè)計,54,2.6I/O流控制,輸出語句:cout輸出八進制或十六進制數(shù):控制符是hex,oct和dec,分別對應(yīng)16進制、8進制和10進制數(shù)的顯示當(dāng)在cout中指明使用的數(shù)制輸出后,則所指明的數(shù)制一直有效,直到在接著的cout中指明輸出時所使用的另一數(shù)制為止,如下例中,輸出j的值時,仍為八進制。,coutdeciendl;couthexiendl;coutoctiendl;coutjendl;,10013e91751,inti=1001,j=127;coutdeciendl;couthexiendl;coutoctiendl;,10013e91751177,C+程序設(shè)計,55,2.6I/O流控制,輸出語句:cout設(shè)置值的輸出寬度:在輸出的數(shù)據(jù)項之間進行隔開的另一種辦法是指定輸出項的寬度setw(6)指明其后的輸出項占用的字符寬度為6,即括號中的值指出緊跟其后的輸出項占用的字符位置個數(shù),并向右對齊,setw是“setwidth”的縮寫,inti=4,j=12,m=7,k=2;coutsetw(6)isetw(10)jendl;coutsetw(5)msetw(10)j*kendl;,_4_12_7_24,C+程序設(shè)計,56,使用setw()應(yīng)注意以下三點:1、在程序的開始位置必須包含頭文件iomanip.h,即在程序的開頭增加:#include2、括號中必須給出一個表達式(值為正整數(shù)),它指明緊跟其后輸出項的寬度。3、該設(shè)置僅對其后的一個輸出項有效。一旦按指定的寬度輸出其后的輸出項后,又回到原來的缺省輸出方式,2.6I/O流控制,C+程序設(shè)計,57,2.6I/O流控制,輸出語句:cout控制浮點數(shù)值顯示setprecision(n)控制輸出流顯示浮點數(shù)的數(shù)字個數(shù),C+默認(rèn)的流輸出數(shù)值有效位是6setprecision(n)與setiosflags(ios:fixed)聯(lián)合控制小數(shù)點右邊的數(shù)字個數(shù)setprecision(n)與setiosflags(ios:scientific)聯(lián)合控制指數(shù)表示法的小數(shù)位數(shù)VC6中setiosflags(ios:scientific)與setiosflags(ios:fixed)不能連續(xù)使用,否則后者失效,doublefSum=22.0/7;coutfSumendl;coutsetprecision(0)fSumendl;coutsetprecision(2)fSumendl;coutsetiosflags(ios:fixed)setprecision(4)fSumendl;coutsetiosflags(ios:scientific)setprecision(6)fSumendl;,C+程序設(shè)計,58,2.6I/O流控制,輸出語句:cout設(shè)置填充字符:缺省時流使用空格符來保證字符間的正確間隔,setfill用于設(shè)置非空字符來填充,inti=4,j=12,m=7,k=2;coutsetfill(*);coutsetw(6)isetw(10)jendl;coutsetw(5)msetw(10)j*kendl;coutsetfill();,C+程序設(shè)計,59,2.6I/O流控制,輸出語句:cout強制顯示小數(shù)點和符號:要強制顯示小數(shù)點,用setiosflags(ios:showpoint)標(biāo)志要強制顯示正數(shù)前的正號,用setiosflags(ios:showpos)標(biāo)志,floatfSum=10.0/5;coutfSumendl;coutsetiosflags(ios:showpoint)fSumendl;coutsetiosflags(ios:showpos)fSumendl;,pos:positive,C+程序設(shè)計,60,2.6I/O流控制,輸出語句:coutios:right,ios:leftios:uppercase,ios:lowercaseios:skipws忽略前導(dǎo)空白printf與scanfC語言中的標(biāo)準(zhǔn)輸入輸出函數(shù)包含在頭文件stdio.h中C+語言中已被I/O流完全替代,C+程序設(shè)計,61,2.6I/O流控制,printf與scanfprintf的簡單使用%d或%i:輸出用十進制表示的int型數(shù)據(jù)%u:輸出用十進制表示的unsigned型數(shù)據(jù)%o:輸出用八進制表示的unsigned型數(shù)據(jù)%x:輸出用十六進制表示的unsigned型數(shù)據(jù)%f:以小數(shù)形式輸出實數(shù),并且自動按四舍五入形式保留6位小數(shù);如果輸出的實數(shù)本身不足6位小數(shù),則在小數(shù)后面自動補數(shù)字0,以湊足6位。%e或%E:以指數(shù)形式輸出實數(shù)%g:以小數(shù)或指數(shù)形式最合適的方式輸出浮點數(shù)%c:輸出一個字符%s:輸出字符串,C+程序設(shè)計,62,2.6I/O流控制,#includeintmain()inta=10,b=-1;unsignedx=65535;printf(a=%dta=%it,a,a);printf(a=%ota=%xta=%Xn,a,a,a);printf(b=%dtb=%in,b,b);printf(x=%utx=%otx=%xtx=%Xn,x,x,x,x);printf(b=%otb=%xtb=%Xtx=%dn,b,b,b,x);return0;,C+程序設(shè)計,63,小結(jié)與作業(yè),這一節(jié)我們主要學(xué)習(xí)了。C+語言中的保留字基本數(shù)據(jù)類型變量常量I/O流作業(yè)教材P46:習(xí)題2.12.4,2.12,2.172.19,2.24教材P72:習(xí)題3.24,3.26預(yù)習(xí)實驗指導(dǎo)書實驗二預(yù)習(xí)教材第2章:2.92.15,- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基本 數(shù)據(jù) 運算 輸入輸出
鏈接地址:http://m.italysoccerbets.com/p-3390473.html