版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
會計學(xué)1C語言程序設(shè)計第四章課件本章學(xué)習(xí)內(nèi)容
字符常量與轉(zhuǎn)義字符字符輸出函數(shù)putchar()字符輸入函數(shù)getchar()
數(shù)據(jù)的格式化輸出函數(shù)printf()數(shù)據(jù)的格式化輸入函數(shù)scanf()第1頁/共38頁字符常量字符常量是用單引號括起來的一個字符'a'是字符常量,而a則是一個標(biāo)識符'3'表示一個字符常量,而3則表示一個整數(shù)轉(zhuǎn)義字符(EscapeCharacter)一些特殊字符(無法從鍵盤輸入或者另有他用)用轉(zhuǎn)義字符表示第2頁/共38頁字符型變量的取值范圍取決于計算機系統(tǒng)所使用的字符集ASCII(美國標(biāo)準(zhǔn)信息交換碼)字符集規(guī)定了每個字符所對應(yīng)的編碼一個字符以其對應(yīng)的ASCII碼的二進(jìn)制形式存儲在內(nèi)存中一個字節(jié),保存一個字符(英文字母、數(shù)字、符號)字符常數(shù)就是一個普通整數(shù),也可參與各種數(shù)學(xué)運算每個字符具有一個0~255之間的數(shù)值,可從ASCII表查出注意:'5'和整數(shù)5的區(qū)別'5'的ASCII碼值是53字符常量第3頁/共38頁4.1單個字符的輸入/輸出通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)來實現(xiàn)
#include<stdio.h>字符輸出函數(shù)putchar(ch)輸出一個字符ch字符輸入函數(shù)getchar()無參數(shù)函數(shù)值為從輸入設(shè)備接收的字符第4頁/共38頁【例4.1】大小寫英文字母轉(zhuǎn)換PressakeyandthenpressEnter:B↙b
ch=ch-('a'–'A');
Whatdoesthisstatementmean?第5頁/共38頁4.2數(shù)據(jù)的格式化屏幕輸出格式printf(格式控制字符串,輸出項列表);printf("a=%db=%f",a,b);可以輸出若干任意類型的數(shù)據(jù)
函數(shù)名可選輸出列表普通字符格式說明第6頁/共38頁%ccharacter以字符形式輸出單個字符%sstring輸出一個字符串%ddecimal以帶符號十進(jìn)制整數(shù)輸出%ffloat以小數(shù)形式輸出浮點數(shù)(6位小數(shù))%eexponent以標(biāo)準(zhǔn)指數(shù)形式輸出(6位小數(shù))%g選用%f,%e中輸出寬度較小的一種格式%ooctal以八進(jìn)制無符號整數(shù)輸出(無前導(dǎo)0)%xhex以十六進(jìn)制無符號整數(shù)輸出(無前導(dǎo)0x)%uunsigned以十進(jìn)制無符號整數(shù)輸出printf()格式字符第7頁/共38頁【例4.2】大小寫英文字母轉(zhuǎn)換PressakeyandthenpressEnter:B↙b,98第8頁/共38頁m表示數(shù)據(jù)占用的最小寬度數(shù)據(jù)寬度大于m,按實際寬度輸出數(shù)據(jù)寬度小于m時,補空格n對實數(shù)表示輸出n位小數(shù)對字符串表示最多輸出的字符個數(shù)l長整型整數(shù),加在d、o、x、u前Llongdouble型數(shù),加在f、e、g前-
改變輸出內(nèi)容的對齊方式默認(rèn)為右對齊printf()的格式修飾符第9頁/共38頁printf()的格式修飾符Formatforfloat:%f
Generalformat:
%[<最小域?qū)?gt;.<小數(shù)位數(shù)>]fExample:printf("Valueis:%10.4f",32.6784728);Valueis:32.6785
10characters4digits第10頁/共38頁printf()的格式修飾符Example:printf("Valueis:%10f",32.6784728);Valueis:32.67847310characters6digits(default)第11頁/共38頁Example:printf("Valueis:%.3f",32.6784728);
Valueis:32.6783digitsprintf()的格式修飾符第12頁/共38頁Inputr:5.3↙printfWITHOUTwidthorprecisionspecifications:circumference=33.300854,area=88.247263printfWITHwidthandprecisionspecifications:circumference=33.30,area=88.25【例4.3】計算圓的周長和面積
#include<stdio.h>main(){constdoublepi=3.14159;doubler,circum,area;printf("Inputr:");scanf("%lf",&r);circum=2*pi*r;area=pi*r*r;printf("printfWITHOUTwidthorprecisionspecifications:\n");printf("circumference=%f,area=%f\n",circum,area);printf("printfWITHwidthandprecisionspecifications:\n");printf("circumference=%7.2f,area=%7.2f\n",circum,area);}第13頁/共38頁4.3數(shù)據(jù)的格式化鍵盤輸入格式scanf(格式控制字符串,地址列表);
scanf("%d,%f",&a,&b);格式字符指定輸入數(shù)據(jù)格式輸入數(shù)據(jù)地址列表非格式字符輸入數(shù)據(jù)以,分隔沒有時可以空格、Tab或回車分隔第14頁/共38頁c以字符形式輸入單個字符s輸入字符串,以非空字符開始,遇第一個空白字符結(jié)束d以帶符號十進(jìn)制形式輸入整型數(shù)據(jù)f以小數(shù)形式輸入浮點數(shù)e以標(biāo)準(zhǔn)指數(shù)形式輸入o以八進(jìn)制無符號形式輸入(無前導(dǎo)0)x以十六進(jìn)制無符號形式輸入(無前導(dǎo)0x)scanf()的格式字符第15頁/共38頁m表示數(shù)據(jù)占用的寬度l加在d、o、x、u前:輸入長整型加在f、e前:輸入雙精度型L加在f、e前:輸入longdouble型h加在d、o、x前:輸入短整型*本輸入項在讀入后不賦給相應(yīng)的變量scanf()的格式修飾符第16頁/共38頁#include<stdio.h>main(){
inta,b; printf("Pleaseinputaandb:"); scanf("%2d%*2d%2d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=56,a+b=68123456↙跳過一個輸入項輸入數(shù)據(jù)的格式控制第17頁/共38頁#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題1:當(dāng)要求程序輸出結(jié)果為
a=12,b=34時,用戶應(yīng)該如何輸入數(shù)據(jù)?
1234↙輸入數(shù)據(jù)的格式控制——例4.4第18頁/共38頁#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題2:當(dāng)限定用戶輸入數(shù)據(jù)以逗號為分隔符,即輸入數(shù)據(jù)格式為:12,34↙時,應(yīng)修改程序中的哪條語句?怎樣修改?,
輸入數(shù)據(jù)的格式控制——例4.4第19頁/共38頁#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題3:語句scanf("%d%d",&a,&b);修改為scanf("a=%d,b=%d",&a,&b);時,用戶應(yīng)該如何輸入數(shù)據(jù)?a=12,b=34↙輸入數(shù)據(jù)的格式控制——例4.4第20頁/共38頁#include<stdio.h>main(){
inta,b;
scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}
問題4:限定用戶輸入數(shù)據(jù)為以下格式
1234↙
同時要求程序輸出結(jié)果為a=12,b=34%2d%2d
輸入數(shù)據(jù)的格式控制——例4.4第21頁/共38頁#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}
問題5:限定用戶輸入數(shù)據(jù)為以下格式12↙34↙
同時要求程序輸出結(jié)果為a="12",b="34"\"%d\",b=
\"%d\"輸入數(shù)據(jù)的格式控制——例4.4第22頁/共38頁#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題6:設(shè)計程序使得用戶可以以任意字符(回車、空格、制表符、逗號、其他字符)作為分隔符進(jìn)行數(shù)據(jù)的輸入輸入數(shù)據(jù)的格式控制——例4.4%*c第23頁/共38頁#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題7:輸入123456時程序的輸出結(jié)果是什么?輸入數(shù)據(jù)的格式控制——例4.4%*2da=12,b=56第24頁/共38頁#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題8:如果用戶輸入了非法字符,例如輸入了123a,那么程序運行結(jié)果如何?輸入數(shù)據(jù)的格式控制——例4.4123a↙a=12,b=3第25頁/共38頁#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題9:如果用戶輸入的是123a,那么結(jié)果又會如何呢?輸入數(shù)據(jù)的格式控制——例4.4123a↙a=123,b=-858993460第26頁/共38頁#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題10:如果修改程序第5行語句,那么結(jié)果又會如何呢?輸入數(shù)據(jù)的格式控制——例4.4
a,b第27頁/共38頁#include<stdio.h>main(){
intdata1,data2,sum;
charop;
printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2
第1次測試12+3↙124199288=4199300C格式符的問題及解決—例4.5第28頁/共38頁#include<stdio.h>main(){
intdata1,data2,sum;
charop;
printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2
第2次測試123↙123=15C格式符的問題及解決—例4.5第29頁/共38頁#include<stdio.h>main(){
intdata1,data2,sum;
charop;
printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2
第3次測試12+3↙12+3=15C格式符的問題及解決—例4.5第30頁/共38頁#include<stdio.h>main(){
inta;
charb;
floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }Pleaseinputaninteger:希望得到的運行結(jié)果12↙Pleaseinputancharacter
:a↙Pleaseinputafloatnumber:3.5↙integer:12character
:afloatnumber:3.500000C格式符的問題及解決—例4.6第31頁/共38頁#include<stdio.h>main(){
inta;
charb;
floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }Pleaseinputaninteger:結(jié)果好像很奇怪呀!12↙Pleaseinputancharacter
:a↙Pleaseinputafloatnumber:3.5↙integer:12floatnumber:3.500000C格式符的問題及解決—例4.6第32頁/共38頁#include<stdio.h>main(){
inta;
charb;
floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");
getchar();/*將存于緩沖區(qū)中的回車字符讀入,避免被后面的變量作為有效字符讀入*/scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }Pleaseinputaninteger:程序修改后得到的運行結(jié)果12↙Pleaseinputancharacter
:a↙Pleaseinputafloatnumber:3.5↙integer:12character
:afloatnumber:3.500000C格式符的問題及解決—例4.6第33頁/共38頁#include
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度寵物用品連鎖店承包經(jīng)營服務(wù)協(xié)議4篇
- 二零二五版明星代言合同合作方責(zé)任與義務(wù)協(xié)議4篇
- 建設(shè)工程設(shè)計合同(2篇)
- 聚氨酯管殼施工方案
- 二零二五版數(shù)碼產(chǎn)品典當(dāng)借款服務(wù)協(xié)議4篇
- 2025年度個人貸款還款計劃合同模板8篇
- 中央處理器GPU:性能躍遷與行業(yè)應(yīng)用的深度剖析 頭豹詞條報告系列
- 班會安全教育模板
- 二零二五年度民間擔(dān)保機構(gòu)與企業(yè)合作協(xié)議4篇
- 鯨的自述200字5篇
- 刀模檢測、保養(yǎng)記錄
- 小學(xué)五年級脫式計算題300道-五年級上冊脫式計算題及答案
- 鋁礬土進(jìn)口合同中英文
- 最新臺灣藥事法
- 2022年金礦采選項目可行性研究報告
- 氧氣吸入法操作并發(fā)癥預(yù)防及處理規(guī)范草稿
- 2022版云南財經(jīng)大學(xué)推免管理辦法
- 門診特定病種待遇認(rèn)定申請表
- 混合離子交換器使用說明書正本
- 工傷保險待遇及案例分析PPT課件
- 自控工程識圖
評論
0/150
提交評論