c++程序語言設(shè)計(jì)第三章_2_.ppt_第1頁
c++程序語言設(shè)計(jì)第三章_2_.ppt_第2頁
c++程序語言設(shè)計(jì)第三章_2_.ppt_第3頁
c++程序語言設(shè)計(jì)第三章_2_.ppt_第4頁
c++程序語言設(shè)計(jì)第三章_2_.ppt_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章數(shù)據(jù)的輸入輸出,為了讓計(jì)算機(jī)處理各種數(shù)據(jù),首先就應(yīng)該把源數(shù)據(jù)輸入到計(jì)算機(jī)中;計(jì)算機(jī)處理結(jié)束后,再將目標(biāo)數(shù)據(jù)信息以人能夠識別的方式輸出。C語言中的輸入輸出操作,是由C語言編譯系統(tǒng)提供的庫函數(shù)來實(shí)現(xiàn)。3.1格式化輸出printf()函數(shù)3.2格式化輸入scanf()函數(shù)3.3單個(gè)字符輸入輸出getchar()和putchar()函數(shù)3.4順序結(jié)構(gòu)程序設(shè)計(jì)良好的源程序書寫風(fēng)格順序程序段左對齊,3.1格式化輸出printf()函數(shù),printf()函數(shù)的作用:向計(jì)算機(jī)系統(tǒng)默認(rèn)的輸出設(shè)備(一般指終端或顯示器)輸出一個(gè)或多個(gè)任意類型的數(shù)據(jù)。3.1.1printf()函數(shù)的一般格式,printf(格式字符串,輸出項(xiàng)表);1格式字符串?!案袷阶址币卜Q“轉(zhuǎn)換控制字符串”,可以包含三種字符:(1)格式指示符。格式指示符的一般形式如下:%類型,(2)轉(zhuǎn)義字符表3.1(3)普通字符除格式指示符和轉(zhuǎn)義字符之外的其它字符。格式字符串中的普通字符,原樣輸出。2輸出項(xiàng)表輸出項(xiàng)表是可選的。如果要輸出的數(shù)據(jù)不止1個(gè),相鄰2個(gè)之間用逗號分開。下面的printf()函數(shù)都是合法的:(1)printf(Iamastudent.n);(2)printf(%d,3+2);(3)printf(a=%fb=%5dn,a,a+3);必須強(qiáng)調(diào):“格式字符串”中的格式指示符,必須與“輸出項(xiàng)表”中、輸出項(xiàng)的數(shù)據(jù)類型一致,否則會(huì)引起輸出錯(cuò)誤。,案例3.1已知圓半徑radius=1.5,求圓周長和圓面積。main()floatradius,length,area,pi=3.1415926;radius=1.5;length=2*pi*radius;/*求圓周長*/area=pi*radius*radius;/*求圓面積*/printf(“radius=%fn”,radius);/*輸出圓半徑*/printf(“l(fā)ength=%7.2f,area=%7.2fn”,length,area);/*輸出圓周長、面積*/,3.1.2格式指示符輸出不同類型的數(shù)據(jù),要使用不同的類型轉(zhuǎn)換字符。1類型轉(zhuǎn)換字符d以帶符號的十進(jìn)制整數(shù)形式輸出。main()intnum1=123;longnum2=123456;/*用3種不同格式,輸出int型數(shù)據(jù)num1的值*/printf(num1=%d,num1=%5d,num1=%-5d,num1=%2dn,num1,num1,num1,num1);/*用3種不同格式,輸出long型數(shù)據(jù)num2的值*/printf(num2=%ld,num2=%8ld,num2=%5ldn,num2,num2,num2);printf(num1=%ldn,num1);,程序運(yùn)行結(jié)果如下:num1=123,num1=123,num1=123,num1=123num2=123456,num2=123456,num2=123456num1=16908411對于整數(shù),還可用八進(jìn)制、無符號形式(%o(小寫字母o))和十六進(jìn)制、無符號形式(%x)輸出。對于unsigned型數(shù)據(jù),也可用%u格式符,以十進(jìn)制、無符號形式輸出。所謂無符號形式是指,不論正數(shù)還是負(fù)數(shù),系統(tǒng)一律當(dāng)作無符號整數(shù)來輸出。例如,printf(%d,%o,%xn,-1,-1,-1);,2類型轉(zhuǎn)換字符f以小數(shù)形式、按系統(tǒng)默認(rèn)的寬度,輸出單精度和雙精度實(shí)數(shù)。案例3.3類型轉(zhuǎn)換字符f的使用。/*案例代碼文件名:AL3_3.C。*/main()floatf=123.456;doubled1,d2;d1=1111111111111.111111111;d2=2222222222222.222222222;printf(%f,%12f,%12.2f,%-12.2f,%.2fn,f,f,f,f,f);printf(d1+d2=%fn,d1+d2);程序運(yùn)行結(jié)果如下:123.456001,123.456001,123.46,123.46,123.46d1+d2=3333333333333.333010,本案例程序的輸出結(jié)果中,數(shù)據(jù)123.456001和3333333333333.333010中的001和010都是無意義的,因?yàn)樗鼈兂隽擞行?shù)字的范圍。對于實(shí)數(shù),也可使用格式符%e,以標(biāo)準(zhǔn)指數(shù)形式輸出:尾數(shù)中的整數(shù)部分大于等于1、小于10,小數(shù)點(diǎn)占一位,尾數(shù)中的小數(shù)部分占5位;指數(shù)部分占4位(如e-03),其中e占一位,指數(shù)符號占一位,指數(shù)占2位,共計(jì)11位。也可使用格式符%g,讓系統(tǒng)根據(jù)數(shù)值的大小,自動(dòng)選擇%f或%e格式、且不輸出無意義的零。,3類型轉(zhuǎn)換字符c輸出一個(gè)字符(只占一列寬度)。案例3.4類型轉(zhuǎn)換字符c的使用。/*案例代碼文件名:AL3_4.C。*/main()charc=A;inti=65;printf(c=%c,%5c,%dn,c,c,c);printf(i=%d,%c,i,i);程序運(yùn)行結(jié)果如下:c=A,A,65i=65,A需要強(qiáng)調(diào)的是:在C語言中,整數(shù)可以用字符形式輸出,字符數(shù)據(jù)也可以用整數(shù)形式輸出。將整數(shù)用字符形式輸出時(shí),系統(tǒng)首先求該數(shù)與256的余數(shù),然后將余數(shù)作為ASCII碼,轉(zhuǎn)換成相應(yīng)的字符輸出。,4類型轉(zhuǎn)換字符s輸出一個(gè)字符串。案例3.5類型轉(zhuǎn)換字符s的使用。main()printf(%s,%5s,%-10s,Internet,Internet,Internet);printf(%10.5s,%-10.5s,%4.5sn,Internet,Internet,Internet);程序運(yùn)行結(jié)果如下:Internet,Internet,Internet,Inter,Inter,Inter注意:系統(tǒng)輸出字符和字符串時(shí),不輸出單引號和雙引號。,3.1.3使用說明(1)printf()可以輸出常量、變量和表達(dá)式的值。但格式控制中的格式說明符,必須按從左到右的順序,與輸出項(xiàng)表中的每個(gè)數(shù)據(jù)一一對應(yīng),否則出錯(cuò)。例如,printf(str=%s,f=%d,i=%fn,Internet,1.0/2.0,3+5,CHINA);是錯(cuò)誤的。(2)格式字符x、e、g可以用小寫字母,也可以用大寫字母。使用大寫字母時(shí),輸出數(shù)據(jù)中包含的字母也大寫。除了x、e、g格式字符外,其它格式字符必須用小寫字母。例如,%f不能寫成%F。(3)格式字符緊跟在“%”后面就作為格式字符,否則將作為普通字符使用(原樣輸出)。例如,“printf(”c=%c,f=%fn“,c,f);”中的第一個(gè)c和f,都是普通字符。,3.2格式化輸入scanf()函數(shù),scanf()函數(shù)是用來從外部輸入設(shè)備向計(jì)算機(jī)主機(jī)輸入數(shù)據(jù)的。3.2.1scanf()函數(shù)的一般格式,main()floatradius,high,vol,pi=3.1415926;printf(Pleaseinputradius,在程序中給計(jì)算機(jī)提供數(shù)據(jù),可以用賦值語句,也可以用輸入函數(shù)。在C語言中,可使用scanf()函數(shù),通過鍵盤輸入,給計(jì)算機(jī)同時(shí)提供多個(gè)、任意的數(shù)據(jù)。1.scanf()函數(shù)的一般格式scanf(格式字符串,輸入項(xiàng)首地址表);(1)格式字符串。格式字符串可以包含3種類型的字符:格式指示符、空白字符(空格、Tab鍵和回車鍵)和非空白字符(又稱普通字符)。格式指示符與printf()函數(shù)的相似,空白字符作為相鄰2個(gè)輸入數(shù)據(jù)的缺省分隔符,非空白字符在輸入有效數(shù)據(jù)時(shí),必須原樣一起輸入。,(2)輸入項(xiàng)首地址表由若干個(gè)輸入項(xiàng)首地址組成,相鄰2個(gè)輸入項(xiàng)首地址之間,用逗號分開。輸入項(xiàng)首地址表中的地址,可以是變量的首地址,也可以是字符數(shù)組名或指針變量。變量首地址的表示方法:putchar(ch1);putchar(ch2);putchar(ch3);/*輸出*/putchar(n);putchar(ch1);putchar(n);/*輸出ch1的值,并換行*/putchar(E);putchar(n);/*輸出字符E,并換行*/putchar(ch3);putchar(n);,1putchar()函數(shù)的格式:putchar(ch);其中ch可以是一個(gè)字符變量或常量,也可以是一個(gè)轉(zhuǎn)義字符。2putchar()函數(shù)的作用:向終端輸出一個(gè)字符。(1)putchar()函數(shù)只能用于單個(gè)字符的輸出,且一次只能輸出一個(gè)字符。另外,從功能角度來看,printf()函數(shù)可以完全代替putchar()函數(shù)。(2)在程序中使用putchar()函數(shù),務(wù)必牢記:在程序(或文件)的開頭加上編譯預(yù)處理命令(也稱包含命令),即:#includestdio.h表示要使用的函數(shù),包含在標(biāo)準(zhǔn)輸入輸出(stdio)頭文件(.h)中。,3.3.2單個(gè)字符的輸入getchar()函數(shù)案例3.9說明getchar()函數(shù)的格式和作用。#includestdio.h/*文件包含*/main()charch;printf(Pleaseinputtwocharacter:);ch=getchar();/*輸入1個(gè)字符并賦給ch*/putchar(ch);putchar(n);putchar(getchar();/*輸入一個(gè)字符并輸出*/putchar(n);,程序運(yùn)行情況如下:Pleaseinputtwocharacters:abab,1getchar()函數(shù)的格式:getchar();2getchar()函數(shù)的作用:從系統(tǒng)隱含的輸入設(shè)備(如鍵盤)輸入一個(gè)字符。另外,從功能角度來看,scanf()函數(shù)可以完全代替getchar()函數(shù)。(1)getchar()函數(shù)只能用于單個(gè)字符的輸入,一次輸入一個(gè)字符。(2)程序中要使用getchar()函數(shù),必須在程序(或文件)的開頭加上編譯預(yù)處理命令:#includestdio.h“,3.4順序結(jié)構(gòu)程序設(shè)計(jì),在順序結(jié)構(gòu)程序中,各語句(或命令)是按照位置的先后次序,順序執(zhí)行的,且每個(gè)語句都會(huì)被執(zhí)行到。案例3.10輸入任意三個(gè)整數(shù),求它們的和及平均值。,main()intnum1,num2,num3,sum;floataver;printf(Pleaseinputthreenumbers:);scanf(%d,%d,%d,案例3.11求方程ax2+bx+c=0的實(shí)數(shù)根。a,b,c由鍵盤輸入,a0且b2-4ac0。,#includemath.h“/*為使用求平方根函數(shù)sqrt(),包含math.h頭文件*/main()floata,b,c,disc,x1,x2;printf(Inputa,b,c:);scanf(%f,%f,%f,案例3.12從鍵盤輸入一個(gè)小寫字母,要求用大小寫字母形式輸出該字母及對應(yīng)的ASCII碼值。,#includestdio.hmain()charc1,c2;printf(Inputalowercaseletter:);c1=getchar();putchar(c1);printf(,%dn,c1);c2=c1-32;/*將大寫字母轉(zhuǎn)換成對應(yīng)的小寫字母*/printf(%c,%dn,c2,c2);,程序運(yùn)行情況如下:Inputalowercaseletter:aa,

溫馨提示

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

評論

0/150

提交評論