《c語言程序設(shè)計》課件-第3章 鍵盤輸入與屏幕輸出_第1頁
《c語言程序設(shè)計》課件-第3章 鍵盤輸入與屏幕輸出_第2頁
《c語言程序設(shè)計》課件-第3章 鍵盤輸入與屏幕輸出_第3頁
《c語言程序設(shè)計》課件-第3章 鍵盤輸入與屏幕輸出_第4頁
《c語言程序設(shè)計》課件-第3章 鍵盤輸入與屏幕輸出_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章鍵盤輸入與屏幕輸出C語言程序設(shè)計本章學(xué)習(xí)內(nèi)容C語句分類字符輸入函數(shù)getchar()/字符輸出函數(shù)putchar()格式輸出函數(shù)printf()/格式輸入函數(shù)scanf()訓(xùn)練:開發(fā)一個包含輸入和輸出的程序C語句分類控制語句if~elsefor()~continueswitchwhile()~~gotobreakdo~while()return變量定義語句inta,b,c;表達(dá)式語句c=a+b;函數(shù)調(diào)用語句printf("HelloWorld!");復(fù)合語句空語句表達(dá)式與表達(dá)式語句表達(dá)式:顯示如何計算值的公式表達(dá)式語句:由表達(dá)式加上分號(;)構(gòu)成。例:c=a+b表達(dá)式c=a+b;

表達(dá)式語句復(fù)合語句與空語句復(fù)合語句:兩條或兩條以上的語句序列,由一對花括號括起來一般形式:{

語句1;

語句2;...

語句n;}例:intx=5,y=3;{inttemp;temp=x;x=y;y=temp;}//intz=temp;//錯誤!課堂練習(xí)輸入兩個整數(shù),交換他們的值后再輸出。例:輸入:35輸出:53復(fù)合語句與空語句空語句:沒有任何代碼,只有一個分號(;)例:main(){; //空語句}順序結(jié)構(gòu)程序的基本操作輸入數(shù)據(jù)從標(biāo)準(zhǔn)輸入設(shè)備上輸入數(shù)據(jù)到計算機(jī)內(nèi)存輸出數(shù)據(jù)將計算機(jī)內(nèi)存中的數(shù)據(jù)送到標(biāo)準(zhǔn)輸出設(shè)備通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)來實現(xiàn)

#include<stdio.h>

在由編譯器指定的文件目錄中找該文件字符輸入輸出函數(shù)字符輸出函數(shù)putchar(ch)輸出一個字符ch字符輸入函數(shù)getchar()無參數(shù)函數(shù)值為從輸入設(shè)備接收的字符#include<stdio.h>main(){

charch;

printf("PressakeyandthenpressEnter:"); ch=getchar();

printf("Youpressed");

putchar(ch);

putchar('\n');}運行程序PressakeyandthenpressEnter:A↙YoupressedA例3.2這條語句是什么意思?格式輸出函數(shù)格式printf(格式控制字符串,輸出項表列);printf("a=%db=%f",a,b);可以輸出若干任意類型的數(shù)據(jù)

函數(shù)名可選輸出表列普通字符格式說明%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格式字符printf函數(shù)–字符輸出字符輸出格式:%c

例:printf("%c%c%c",'U','K','M');UKM_printf函數(shù)–字符輸出例:printf("%c%c%c",'U','K','M');UKM_printf

函數(shù)–字符輸出例:char1='U';char2='K';char3='M';printf("%c%c%c",char1,char2,char3);UKM_char1Uchar2?char3?char1Uchar2Kchar3?char1Uchar2Kchar3M例:

printf("Name:%s\nStudentNo:%s","AliBakar","A92333");Name:AliBakarStudentNo:A92333_Outputformatprintf

函數(shù)–字符串輸出printf函數(shù)–字符串輸出例:

printf("Name:%s\nStudentNo:%s","AliBakar","A92333");Name:AliBakarStudentNo:A92333_printf函數(shù)–浮點數(shù)輸出格式:%f

通用格式:

%[<最小域?qū)?gt;.<小數(shù)位數(shù)>]f例:printf("Valueis:%10.4f",32.6784728);Valueis:32.678510個字符長度4digitsprintf

函數(shù)–浮點數(shù)輸出例:printf("Valueis:%10f",32.6784728);Valueis:32.678473

10個字符長度6digits(default)printf

函數(shù)–浮點數(shù)輸出例:printf("Valueis:%10.5f",32.6784);Valueis:32.6784010個字符長度5digits例:printf("Valueis:%5f",32.6784728);

Valueis:32.678473

6digits(default)printf

函數(shù)–浮點數(shù)輸出9個字符長度最小5個字符例:printf("Valueis:%.3f",32.6784728);

Valueis:32.6783digitsprintf

函數(shù)–浮點數(shù)輸出printf函數(shù)–浮點數(shù)輸出#include<stdio.h>main(){intage;floatheight;age=21;height=1.73;printf("Aliis%dyearsoldandhisheightis%.5fmeters\n",age,height);}Aliis21yearsoldandhisheightis1.73000meters_age?height?211.73例:m表示數(shù)據(jù)占用的最小寬度數(shù)據(jù)寬度大于m,按實際寬度輸出數(shù)據(jù)寬度小于m時,補(bǔ)空格n對實數(shù)表示輸出n位小數(shù)對字符串表示最多輸出的字符個數(shù)l

長整型整數(shù),加在d、o、x、u前Llongdouble型數(shù),加在f、e、g前-改變輸出內(nèi)容的對齊方式缺省為右對齊printf附加格式說明符格式輸入函數(shù)格式scanf(格式控制字符串,地址表列);

scanf("%d,%f",&a,&b);非格式字符輸入數(shù)據(jù)以,分隔沒有時可以空格、Tab或回車分隔格式字符指定輸入數(shù)據(jù)格式輸入數(shù)據(jù)地址表列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格式字符scanf

函數(shù)例:printf("Key-inacharacterandanumber:");scanf("%c%d",&char,&num);printf("Character:%c\n",char);printf("Number:%d\n",num);Key-inacharacterandanumber:char?num?mKey-inacharacterandanumber:m103103Key-inacharacterandanumber:m103Character:m_Key-inacharacterandanumber:m103Character:mNumber:103_#include<stdio.h>main(){intday,month,year;scanf("%d%d%d",&day,&month,&year);printf("Day:%d,Month:%d,Year:%d",day,month,year);}16122005month?year?day?1612200516122005Day:16,Month:12,Year:2005_scanf

函數(shù)m表示數(shù)據(jù)占用的寬度l

加在d、o、x、u前:輸入長整型

加在f、e前:輸入雙精度型L加在f、e前:輸入longdouble型h加在d、o、x前:輸入短整型*本輸入項在讀入后不賦給相應(yīng)的變量scanf附加格式說明符#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↙例3.9跳過一個輸入項#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ù)的格式控制——例3.9#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ù)的格式控制——例3.9#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ù)的格式控制——例3.9#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ù)的格式控制——例3.9#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ù)的格式控制——例3.9#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ù)的格式控制——例3.9%*c#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格式符的問題及解決—例3.10#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格式符的問題及解決—例3.10#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格式符的問題及解決—例3.10#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格式符的問題及解決—例3.11#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格式符的問題及解決—例3.11#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格式符的問題及解決—例3.11#include<stdio.h>main(){

inta;

charb;

floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf(“%c”,&b);/*第2種解決方案:在%c前加一個空格*/printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }C格式符的問題及解決—例3.11#include<stdio.h>main(){

intdata1,data2,sum;

charop;

printf("Pleaseentertheexpression data1+

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論