C3順序結(jié)構(gòu)程序設(shè)計_第1頁
C3順序結(jié)構(gòu)程序設(shè)計_第2頁
C3順序結(jié)構(gòu)程序設(shè)計_第3頁
C3順序結(jié)構(gòu)程序設(shè)計_第4頁
C3順序結(jié)構(gòu)程序設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計第3章順序結(jié)構(gòu)程序設(shè)計問題:一年有春夏秋冬四季,按序執(zhí)行,做事亦有先后順序,那么C語言在編寫程序時可以采用這樣的順序結(jié)構(gòu)嗎?

按程序書寫的前后順序依次按序執(zhí)行。順序結(jié)構(gòu)程序設(shè)計

C語言同樣提供了這種最簡單的程序設(shè)計結(jié)構(gòu):順序結(jié)構(gòu)。引子

本章要點第3章順序結(jié)構(gòu)程序設(shè)計

本章難點

C語言的基本語句字符輸入輸出函數(shù)格式化輸入輸出函數(shù)

格式化輸入輸出函數(shù)的格式控制3.13.23.33.4C語言語句概述字符數(shù)據(jù)的輸入輸出格式化輸入輸出函數(shù)順序結(jié)構(gòu)程序設(shè)計舉例本章主要內(nèi)容說明語句變量定義或說明數(shù)據(jù)類型定義函數(shù)聲明等語句可執(zhí)行語句:用來向計算機發(fā)出操作指令。簡單語句表達(dá)式語句:表達(dá)式;例:i++;函數(shù)調(diào)用語句控制語句空語句:只有分號“;”組成的語句,程序執(zhí)行時不產(chǎn)生任何動作。復(fù)合語句:把多個語句用括號“{}”括起來組成的一個語句C語言無I/O語句,I/O操作由函數(shù)實現(xiàn)#include<stdio.h>1)條件判斷語句:if語句、switch語句等;2)循環(huán)執(zhí)行語句:do-while語句、while語句、for語句;3)轉(zhuǎn)向語句:break語句、goto語句、continue語句、return語句。3.1C語言語句概述3.13.23.33.4C語言語句概述字符數(shù)據(jù)的輸入輸出格式化輸入輸出函數(shù)順序結(jié)構(gòu)程序設(shè)計舉例本章主要內(nèi)容格式:putchar(c)參數(shù):c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯,為EOF(-1)字符輸出函數(shù)3.2字符數(shù)據(jù)的輸入輸出/*ch3_1.c*/#include<stdio.h>main(){charch='B';putchar(ch);/*輸出變量的值字符B*/putchar('\n');/*輸出一個換行符*/putchar('B');/*直接輸出字符B*/putchar('\n');/*輸出一個換行符*/putchar(0x42);/*使用ASCII值輸出字符B*/putchar('\n');/*輸出一個換行符*/}運行結(jié)果:BBB例格式:getchar()功能:從鍵盤讀一字符返值:正常,返回讀取的代碼值;出錯,返回EOF(-1)/*ch3_4.c*/#include<stdio.h>main(){charc;c=getchar();putchar(c);}運行結(jié)果:abc↙a字符輸入函數(shù)例3.13.23.33.4C語言語句概述字符數(shù)據(jù)的輸入輸出格式化輸入輸出函數(shù)順序結(jié)構(gòu)程序設(shè)計舉例本章主要內(nèi)容格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯,返回EOF(-1)輸出表:要輸出的數(shù)據(jù)(可以沒有,多個時以“,”分隔)格式控制串:包含兩種信息格式說明:

%[修飾符]格式字符,用于指定輸出格式普通字符或轉(zhuǎn)義序列:原樣輸出格式字符格式輸出函數(shù)3.3格式化輸入輸出函數(shù)d,ix,Xoucse,Efg%%十六進(jìn)制無符號整數(shù)不帶符號十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點小數(shù)單一字符字符串八進(jìn)制無符號整數(shù)小數(shù)形式浮點小數(shù)e和f中較短一種百分號本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%說明 格式字符要用小寫格式字符與輸出項個數(shù)應(yīng)相同,按先后順序一一對應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項類型不一致,自動按指定格式輸出例main(){unsignedintu=65535;printf(”u=%d\n",u);}

輸出結(jié)果:u=-1例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);

例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);輸出結(jié)果:34a=3,b=4111111111111111165535格式字符附加格式說明符(修飾符).n對實數(shù),指定小數(shù)點后位數(shù)(四舍五入)對字符串,指定實際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度<m,左補空格;否則按實際輸出輸出數(shù)據(jù)在域內(nèi)左對齊(缺省右對齊)-指定在有符號數(shù)的正數(shù)前顯示正號(+)+輸出數(shù)值時指定左面不使用的空位置自動填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l例inta=1234;floatf=123.456;charch=‘a(chǎn)’;printf(“%8d,%2d\n”,a,a);printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);printf(“%3c\n”,ch);運行

1234,1234結(jié)果:

123.456000,123.456000,123.5,123.46,1.23e+02

a例staticchara[]=“Hello,world!”printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a);運行結(jié)果:Hello,world!

Hello,world!HelloHelloHel

例m.n例inta=1234;floatf=123.456;staticcharc[]=“Hello,world!”;printf(“%8d,%-8d\n”,a,a);printf(“%10.2f,%-10.1f\n”,f,f);printf(“%10.5s,%-10.3s\n”,c,c);運行結(jié)果:1234,1234123.46,123.5Hello,Hel例-例inta=1234;floatf=123.456;printf(“%08d\n”,a);printf(“%010.2f\n”,f);printf(“%0+8d\n”,a);printf(“0+10.2f\n”,f);例0、+例inta=123;printf(“%o,%#o,%X,%#X\n”,a,a,a,a);

例#例longa=65536;printf(“%d,%8ld\n”,a,a);

例l00000000000000010000000000000000//00001234//0000123.46//000+1234//000+123.56//173,0173,7B,0X7B//0,65536格式輸入函數(shù)格式:scanf(“格式控制串”,地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲單元中,并按回車鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個數(shù)地址表:變量的地址,常用取地址運算符&格式字符:d,i,o,x,u,c,s,f,e例scanf(“%d”,&a);

輸入:10

則a=10例scanf(“%x”,&a);

輸入:11

則a=17附加格式說明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項讀入后不賦給變量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);

輸入19991015

則1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);輸入12345678765.43則123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);

輸入1234567則12a,67b例scanf(“%3c%2c”,&c1,&c2);

輸入abcde

則‘a(chǎn)’c1,‘d’c2輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符其它字符做分隔符:格式串中兩個格式符間字符例scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);輸入123123123輸出a=123,b=83,c=291例scanf(“%d:%d:%d”,&h,&m,&s);

輸入12:30:45則12h,30m,45s例scanf(“%d,%d”,&a,&b)

輸入3,4

則3a,4b例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);輸入a=12,b=24,c=36說明:用“%c”格式符時,空格和轉(zhuǎn)義字符作為有效字符輸入如scanf(“%c%c%c”,&c1,&c2,&c3);

若輸入abc

則ac1,

c2,bc3輸入數(shù)據(jù)時,遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:遇空格、TAB、或回車遇寬度結(jié)束遇非法輸入如scanf(“%d%c%f”,&a,&b,&c);若輸入1234a123o.26則1234a,‘a(chǎn)’b,123c輸入函數(shù)留下的“垃圾”:例intx;charch;scanf(“%d”,&x);ch=getchar();printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10解決方法:(1)用getchar()清除(2)用函數(shù)fflush(stdin)清除全部剩余內(nèi)容(3)用格式串中空格或“%*c”來“吃掉”例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);或scanf(“%*c%c”,&ch);

3.13.23.33.4C語言語句概述字符數(shù)據(jù)的輸入輸出格式化輸入輸出函數(shù)順序結(jié)構(gòu)程序設(shè)計舉例本章主要內(nèi)容例輸入圓半徑,輸出圓周長和面積。#include<stdio.h>#definePI3.14159main(){floatr,l,s;scanf("%f",&r);l=2*PI*r;s=PI*r*r;printf("\nl=%8.4f",l);printf("\ns=%8.4f",s);}運行情況如下:

5↙l=ㄩ31.4159s=ㄩ78.5397文件包含預(yù)處理命令變量定義輸入數(shù)據(jù)輸出數(shù)據(jù)3.4順序結(jié)構(gòu)程序設(shè)計舉例#include<stdio.h>main(){inta,b;intx,y;printf("Inputthehead:");scanf("

溫馨提示

  • 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

提交評論