3C語言輸入和輸出及常用運算_第1頁
3C語言輸入和輸出及常用運算_第2頁
3C語言輸入和輸出及常用運算_第3頁
3C語言輸入和輸出及常用運算_第4頁
3C語言輸入和輸出及常用運算_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)的輸入和輸出運算符和表達(dá)式數(shù)據(jù) 的 輸入和輸出n格式化輸入函數(shù) scanfn格式化輸出函數(shù)printfn字符輸入函數(shù) getchar()n字符輸出 函數(shù) putchar()數(shù)據(jù)的輸入和輸出#include stdio.hvoid main() float r; float area; scanf(“%f”,&r); /*通過鍵盤輸入數(shù)據(jù)到變量中*/ area=3.14159 * r* r; printf(“area=%fn”,area); /*輸出結(jié)果到標(biāo)準(zhǔn)輸出設(shè)備上*/一、格式化輸出n格式:格式:printf(“格式控制串格式控制串”,輸出項列表,輸出項列表)n功能:按指定格式向顯示器輸

2、出數(shù)據(jù)功能:按指定格式向顯示器輸出數(shù)據(jù)格式字符:格式字符:%d %f %c 等代換成變量的值,普通字符原樣輸出!等代換成變量的值,普通字符原樣輸出!一、格式化輸出例例IO_001void main() int a; float b; char c; a=12; b=123.456; c=d;printf(“a=%d,b=%f,c=%cn,a,b,c);輸出變量的值輸出變量的值一、格式化輸出void main() int a=4; float b=234.56; char c=a; printf(b=%en,b);常用格式符有:常用格式符有:%d, %f, %e, %c等等格式符歸納如下格式符歸

3、納如下:%修飾符修飾符格式字符格式字符%d或者%i以帶符號十進(jìn)制整數(shù)格式輸出%x或者%X以無符號十六進(jìn)制整數(shù)格式輸出%u以無符號十進(jìn)制整數(shù)格式輸出%o以無符號八進(jìn)制整數(shù)格式輸出%f以小數(shù)形式輸出單、雙精度數(shù)據(jù)%e或者E以指數(shù)形式輸出實數(shù)%c以字符形式輸出單個字符%s輸出字符串%g或者%G選用%f或者%e中輸出寬度較短的一種一、格式化輸出一、格式化輸出例例IO_002void main() int a=4; float b=2; char c=a; printf(a=%5d,b=%5.1f,c=%5cn,a,b,c);printf(a=%-5d,b=%-5.1f,c=%-5cn,a,b,c);%

4、修飾符修飾符格式字符格式字符:修飾符常用的有:整數(shù)、修飾符常用的有:整數(shù)、-、 +、l(小寫字母)(小寫字母)%ld.表示輸出十進(jìn)制長整型表示輸出十進(jìn)制長整型“%lf”:表示按:表示按double型輸出型輸出。%-5d,表示輸出整數(shù)占表示輸出整數(shù)占5個字符寬,左對齊。個字符寬,左對齊。%+d,表示在整數(shù)前加表示在整數(shù)前加+號號二 、格式化輸入nscanf函數(shù):格式輸入函數(shù)n功能:按指定格式從鍵盤讀入數(shù)據(jù),存入指定功能:按指定格式從鍵盤讀入數(shù)據(jù),存入指定的地址對應(yīng)的存儲單元中(并按回車鍵結(jié)束)的地址對應(yīng)的存儲單元中(并按回車鍵結(jié)束)n地址表:變量的地址,常用取地址運算符地址表:變量的地址,常用取

5、地址運算符& &n格式控制字符格式控制字符: :d,i,o,x,u,c,s,f,ed,i,o,x,u,c,s,f,e例 scanf(“%d”,&a); 輸入:10 則 a的值是10例 scanf(“%x”,&a); 輸入:11 則 a=17取地址符號二 、格式化輸入/*例IO_003*/#include stdio.hvoid main() int a,b,c; scanf(“%d%o%x”,&a,&b,&c); printf(“a=%d,b=%d,c=%dn”,a,b,c); 空格、回車是整數(shù)、實數(shù)型數(shù)據(jù)輸入過程合法的 分隔符!二 、格式化輸入/*例 IO_004*/#include std

6、io.hvoid main() int a,b; scanf(%d %d,&a,&b); printf(a=%d,b=%dn,a,b);第2個數(shù)據(jù)沒有正確送到變量b中 二 、格式化輸入例 scanf(“%d:%d:%d”,&h,&m,&s); 輸入 12:30:45 則12 h, 30 m, 45 s例IO_005 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 輸入 a=12,b=24,c=36 例例 scanf(“%4d%2d%2d”,&yy,&mm,&dd);scanf(“%4d%2d%2d”,&yy,&mm,&dd); 輸入輸入 19991015 19991015

7、則則19991999yy, 10 yy, 10 mm, 15 mm, 15 dddd例例 scanf(“%3d% scanf(“%3d%* *4d%f”,&k,&f);4d%f”,&k,&f); 輸入輸入 12345678765.43 12345678765.43 則則123123k, 8765.43k, 8765.43f f例:double x; scanf(“%lf”,&x); 二 、格式化輸入n請大家思考 :如何讓屏幕給出提示 適當(dāng)?shù)?提示信息 ?如 屏幕輸出 ”a=“,然后用戶輸入一個數(shù)據(jù)到a中;緊接著,屏幕輸出 ”b=“,然后用戶輸入一個數(shù)據(jù)到b中 ;例IO_006#include

8、stdio.hvoid main() int a,b,c; printf(a=); scanf(%d,&a); printf(b=); scanf(%d,&b); printf(c=); scanf(%d,&c); printf(a=%d,b=%d,c=%dn,a,b,c);scanf函數(shù)本身沒有輸出功能!一定要借助printf給用戶一個清楚的 提示信息 !二 、格式化輸入例例 :IO_007#include stdio.hvoid main() char a,b,c; scanf(%c%c%c,&a,&b,&c); printf(a=%c,b=%c,c=%cn,a,b,c);二 、格式化輸入

9、n選擇性輸入n%abcd 輸入字符串中的字符a、b、c、d;n%abcd 前面加表示輸入字符串中除a、b、c、d以外的所有字符;n%0123456789 輸入09的數(shù)字;n%0-9 輸入09的數(shù)字,可以用“”號表示范圍,注意:“”前的字符必須小于其后的字符;n%AZ 輸入AZ的所有大寫字母;n%AFNS 輸入AF,NS的所有字母;n%+*/ 輸入運算符+、*、/。二 、格式化輸入字符串的輸入和輸出方式IO_008#include stdio.hvoid main() char c10;scanf(%s,c);printf(“%sn,c);字符的輸入和輸出n字符輸入函數(shù)字符輸入函數(shù)n格式格式:g

10、etchar( )n功能:從鍵盤讀一字符功能:從鍵盤讀一字符n返值:返回讀取的代碼值;返值:返回讀取的代碼值;n字符輸出函數(shù)字符輸出函數(shù)n格式格式: putchar( c )n參數(shù)參數(shù): c為字符常量、變量或表達(dá)式為字符常量、變量或表達(dá)式n功能:把字符功能:把字符c輸出到顯示器上輸出到顯示器上n返值:為顯示的代碼值;返值:為顯示的代碼值;字符的輸入和輸出運行結(jié)果:A B/*IO_009.c*/#include void main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a);注意 :putchar()函數(shù)本身沒有換

11、行 的功能 !字符的輸入和輸出/*IO_010.c*/#include void main() int c; printf(Enter a character:); c=getchar(); printf(%c-hex%xn,c,c);運行結(jié)果:運行結(jié)果:Enter a character:AEnter a character:A A-hex41A-hex41運算符與表達(dá)式運算符與表達(dá)式 n1.算術(shù)運算符算術(shù)運算符n2.賦值運算符賦值運算符n3 .關(guān)系運算符關(guān)系運算符n4 .邏輯運算符邏輯運算符n5. 條件運算符條件運算符n6 .逗號運算符逗號運算符n運算中的類型轉(zhuǎn)換運算中的類型轉(zhuǎn)換本書3.6

12、小節(jié) 簡單了解一下即可運算符與表達(dá)式運算符與表達(dá)式1. 算術(shù)運算符算術(shù)運算符n雙目(二元)雙目(二元)運算符運算符+ - * / %n單目(一元)運算符單目(一元)運算符+ - + -n改變優(yōu)先級()改變優(yōu)先級()#include stdio.hvoid main() int a,b,c; a=10; b=3; c=a/b; printf(c=%dn,c);C=3#include stdio.hvoid main() float a,b,c,; a=10.0; b=3.0; c=a/b; printf(c=%fn,c);C=3.333333注意:注意:/ /的兩個操作數(shù)如果為同種類型,結(jié)果也是

13、同樣的類型,的兩個操作數(shù)如果為同種類型,結(jié)果也是同樣的類型,1/2=1/2=等于?等于?% %只能用于兩個整數(shù)之間!只能用于兩個整數(shù)之間! 10%310%3結(jié)果為結(jié)果為1 1例例ch3_010.c 算術(shù)運算示例算術(shù)運算示例運算符與表達(dá)式運算符與表達(dá)式求余運算符“%”要求左操作數(shù)和右操作數(shù)都是整數(shù),運算結(jié)果是兩個操作數(shù)相除的余數(shù)。求余運算符求余運算符“%”運算符與表達(dá)式運算符與表達(dá)式n單目運算符單目運算符+ - n例例ch3_011.c 示例示例+ -/* ch3_011.C 算術(shù)運算符算術(shù)運算符+ 、-示例示例 */void main() int a=1,b; b=a+; printf( b=

14、%d,a=%dn,b,a);b=1,a=2void main() int a=1,b; b=+a; printf( b=%d,a=%dn,b,a);b=2,a=2注意:注意:1. +1. +和和只能作用于變量,不能用于常量及表達(dá)式!只能作用于變量,不能用于常量及表達(dá)式! 2. + -2. + -若為后綴,則先計算,后自加(減);若為后綴,則先計算,后自加(減); + -若為前綴,則先自加(減),后計算若為前綴,則先自加(減),后計算練習(xí):練習(xí): j=3 j=3,i=2; k=+j/i+;i=2; k=+j/i+; /j=4 , i=3,K=2案例案例ch3_012ch3_012運算符與表達(dá)式運

15、算符與表達(dá)式示例示例ch3_013ch3_013單目運算單目運算+ - 運算符與表達(dá)式運算符與表達(dá)式 n1. 算術(shù)運算符算術(shù)運算符n2. 賦值運算符賦值運算符n3 .關(guān)系運算符關(guān)系運算符n4 .邏輯運算符邏輯運算符n5. 條件運算符條件運算符n6 .逗號運算符逗號運算符n運算中的類型轉(zhuǎn)換運算中的類型轉(zhuǎn)換注意:賦值號左邊只能是變量名,不能是常量、表達(dá)式。注意:賦值號左邊只能是變量名,不能是常量、表達(dá)式。運算符與表達(dá)式運算符與表達(dá)式2. 賦值運算符賦值運算符n簡單賦值運算簡單賦值運算 =n復(fù)合賦值運算符復(fù)合賦值運算符+=,-+,*=,/=,%=,&=,=,|=n改變優(yōu)先級()改變優(yōu)先級()運算符與

16、表達(dá)式運算符與表達(dá)式n簡單賦值運算簡單賦值運算 =例ch3_014 :ab5c55運算符與表達(dá)式運算符與表達(dá)式n復(fù)合賦值運算符復(fù)合賦值運算符(10個)個)+=,-+,*=,/=,%=,&=,=,|=/ch3_015復(fù)合賦值運算符示例復(fù)合賦值運算符示例 #include stdio.hvoid main() int j=3,i=2;i+=3; j+=i; printf(j=%dn,j); i+=3相當(dāng)于相當(dāng)于i=i+3j+=i 相當(dāng)于相當(dāng)于j=j+i;思考:思考: int j=3 int j=3,i=2,k=1;i=2,k=1; k-=j-=i; k-=j-=i; 運算之后運算之后 i,j,k

17、i,j,k 2 1 0運算符與表達(dá)式運算符與表達(dá)式例ch3_016:復(fù)合賦值運算示例運算符與表達(dá)式運算符與表達(dá)式運算符與表達(dá)式運算符與表達(dá)式n1. 算術(shù)運算符算術(shù)運算符n2. 賦值運算符賦值運算符n3 .關(guān)系運算符關(guān)系運算符n4 .邏輯運算符邏輯運算符n5. 條件運算符條件運算符n6 .逗號運算符逗號運算符 n運算過程中的類型轉(zhuǎn)換運算過程中的類型轉(zhuǎn)換在分之結(jié)構(gòu)一起講解!簡單了解運算過程中的類型轉(zhuǎn)換運算過程中的類型轉(zhuǎn)換在表達(dá)式中進(jìn)行運算時,通常會將不同類型的數(shù)據(jù)混合使用,此時就會關(guān)系到類型轉(zhuǎn)化的問題。一般轉(zhuǎn)換規(guī)則:“短” ”長“長” ”短“則會截斷,丟失精度即:由占存儲空間少的數(shù)據(jù)類型向占存儲空

18、間多的由占存儲空間少的數(shù)據(jù)類型向占存儲空間多的數(shù)據(jù)類型轉(zhuǎn)換。數(shù)據(jù)類型轉(zhuǎn)換。 doublefloatlongunsignedintchar,short短長例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubled=f=i=10;i=f=100000;例 int i; float f; double d; long l;橫向箭頭表示必定的橫向箭頭表示必定的轉(zhuǎn)換轉(zhuǎn)換縱向箭頭表示運算對縱向箭頭表示運算對象為異類型時的轉(zhuǎn)換象為異類型時的轉(zhuǎn)換運算過程中的類型轉(zhuǎn)換運算過程中的類型轉(zhuǎn)換類型轉(zhuǎn)換:第一類:自動轉(zhuǎn)換(隱式轉(zhuǎn)換)char c;c= a-32;隱式轉(zhuǎn)換隱式轉(zhuǎn)換1:運算轉(zhuǎn)換,:運算轉(zhuǎn)換,int a=5,b=3;float c; c= a%b;隱式轉(zhuǎn)換隱式轉(zhuǎn)換2:

溫馨提示

  • 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

提交評論