版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、上一頁上一頁下一頁下一頁主講:何希平 Prof. & Ph.D. :62769115上一頁上一頁下一頁下一頁第第3 3章章 順序構(gòu)造程序設(shè)計(jì)順序構(gòu)造程序設(shè)計(jì)3.1 C3.1 C言語的根本語句言語的根本語句3.2 3.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出3.3 3.3 程序舉例程序舉例上一頁上一頁下一頁下一頁教學(xué)目的和根本要求:教學(xué)目的和根本要求:要求學(xué)生了解語句,尤其是復(fù)合語句的概念和運(yùn)用場(chǎng)所教學(xué)重點(diǎn):教學(xué)重點(diǎn):復(fù)合語句上一頁上一頁下一頁下一頁 程序設(shè)計(jì)言語有順序、選擇、循環(huán)三種根本的控程序設(shè)計(jì)言語有順序、選擇、循環(huán)三種根本的控制構(gòu)造。
2、制構(gòu)造。 BA圖圖3.1 順序構(gòu)造執(zhí)行流程順序構(gòu)造執(zhí)行流程 順序構(gòu)造是最根本的控制構(gòu)造,其包含的語句是順序構(gòu)造是最根本的控制構(gòu)造,其包含的語句是按照書寫的順序執(zhí)行的,且每條語句都將被執(zhí)行。程按照書寫的順序執(zhí)行的,且每條語句都將被執(zhí)行。程序流程如圖序流程如圖3.1 所示,語句按書寫順序執(zhí)行。先執(zhí)行所示,語句按書寫順序執(zhí)行。先執(zhí)行A,再執(zhí)行,再執(zhí)行B。例:例: main() int a,b,temp; scanf(%d%d,&a,&b); temp=a; a=b; b=temp; printf(%d,%d,a,b); 輸入:輸入:14 8 輸出輸出8,14上一頁上一頁下一頁下一頁C
3、言語的語句可分為以下四類:言語的語句可分為以下四類: 簡(jiǎn)單語句包括輸入簡(jiǎn)單語句包括輸入/輸出函數(shù)輸出函數(shù)空語句空語句復(fù)合語句復(fù)合語句流程控制語句。流程控制語句。 3.1 C言語的根本語句言語的根本語句 本章將引見前三種語句。本章將引見前三種語句。上一頁上一頁下一頁下一頁3.1.1 簡(jiǎn)單語句簡(jiǎn)單語句表達(dá)式語句表達(dá)式語句: 由一個(gè)表達(dá)式加上一個(gè)分號(hào)構(gòu)成。由一個(gè)表達(dá)式加上一個(gè)分號(hào)構(gòu)成。如:如:A+; x=1; p+=q*4+5; y=42?6:1; 空語句空語句: 由一個(gè)分號(hào)表示,普通方式為:由一個(gè)分號(hào)表示,普通方式為: ; 空語句在語法上是一條語句,但執(zhí)行時(shí)空語句在語法上是一條語句,但執(zhí)行時(shí)不做任
4、何操作。不做任何操作。上一頁上一頁下一頁下一頁 C 言語有豐富的規(guī)范函數(shù)庫言語有豐富的規(guī)范函數(shù)庫, 可提供各類函可提供各類函數(shù)供用戶調(diào)用,完成預(yù)先設(shè)定好的操作數(shù)供用戶調(diào)用,完成預(yù)先設(shè)定好的操作. 例如調(diào)用規(guī)范庫函數(shù)求數(shù)學(xué)函數(shù)值:例如調(diào)用規(guī)范庫函數(shù)求數(shù)學(xué)函數(shù)值: sin(x) 、cos(x) 、 exp(x) (求求ex ) 、fabs(x) (求求x的絕對(duì)值的絕對(duì)值)、log(x)等。等。3. 函數(shù)調(diào)用語句函數(shù)調(diào)用語句: 由函數(shù)調(diào)用表達(dá)式加分號(hào)構(gòu)成由函數(shù)調(diào)用表達(dá)式加分號(hào)構(gòu)成. 如:如:printf(%d,a); scanf(%f,&b);上一頁上一頁下一頁下一頁調(diào)用規(guī)范庫函數(shù)要留意:調(diào)
5、用規(guī)范庫函數(shù)要留意: 在程序中要包含相應(yīng)的頭文件在程序中要包含相應(yīng)的頭文件例如:例如:#include #include 調(diào)用規(guī)那么:調(diào)用規(guī)那么: 函數(shù)名函數(shù)名(參數(shù)表參數(shù)表)例如:例如: y=sin(1.7); x=pow(3,18);(指數(shù)函數(shù),指數(shù)函數(shù),x的的y次冪次冪p358) 函數(shù)調(diào)用的本質(zhì):函數(shù)調(diào)用的本質(zhì): 在調(diào)用點(diǎn)轉(zhuǎn)去執(zhí)行一段預(yù)先設(shè)計(jì)好的程序在調(diào)用點(diǎn)轉(zhuǎn)去執(zhí)行一段預(yù)先設(shè)計(jì)好的程序,求出求出結(jié)果后前往調(diào)用點(diǎn)。圖例結(jié)果后前往調(diào)用點(diǎn)。圖例 函數(shù)的值又叫函數(shù)的前往值。函數(shù)的值又叫函數(shù)的前往值。上一頁上一頁下一頁下一頁調(diào)用函數(shù)調(diào)用函數(shù)A函數(shù)函數(shù)A執(zhí)執(zhí)行行函函數(shù)數(shù)A函數(shù)執(zhí)行終了函數(shù)執(zhí)行終了繼續(xù)
6、執(zhí)繼續(xù)執(zhí)行剩余行剩余的語句的語句主函數(shù)主函數(shù)mainend上一頁上一頁下一頁下一頁 如如: 數(shù)學(xué)表達(dá)式數(shù)學(xué)表達(dá)式 y=|3sinx+4cosx|+ex ,可以用可以用C言語表達(dá)式表示為:言語表達(dá)式表示為: 其中,其中,fabs,sin,cos,exp都屬于頭文件都屬于頭文件math.h,用,用到這些函數(shù),必需在程序的預(yù)處置語句中用到這些函數(shù),必需在程序的預(yù)處置語句中用#include把數(shù)學(xué)函數(shù)庫包含進(jìn)來。把數(shù)學(xué)函數(shù)庫包含進(jìn)來。y=fabs(3*sin(x)+4*cos(x)+exp(x);上一頁上一頁下一頁下一頁3.1.2 復(fù)合語句復(fù)合語句 語句語句1; 語句語句n; 用一對(duì)花括號(hào),把假設(shè)干條
7、語句括起來,就用一對(duì)花括號(hào),把假設(shè)干條語句括起來,就構(gòu)成了一條復(fù)合語句。方式如下:構(gòu)成了一條復(fù)合語句。方式如下: 花括號(hào)中的語句,可以是簡(jiǎn)單語句、空語句、復(fù)花括號(hào)中的語句,可以是簡(jiǎn)單語句、空語句、復(fù)合語句、流程控制語句,一切這些語句括在一同,在合語句、流程控制語句,一切這些語句括在一同,在語法上看成是一條語句,執(zhí)行時(shí)順序執(zhí)行花括號(hào)中的語法上看成是一條語句,執(zhí)行時(shí)順序執(zhí)行花括號(hào)中的每條語句。復(fù)合語句多用于流程控制語句中。每條語句。復(fù)合語句多用于流程控制語句中。上一頁上一頁下一頁下一頁3.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出格式格式: putchar( c )參數(shù)參數(shù): c為字符常量、變量或表達(dá)式為字
8、符常量、變量或表達(dá)式功能:把字符功能:把字符c輸出到顯示器上輸出到顯示器上返值:正常,為顯示的代碼值;出錯(cuò),為返值:正常,為顯示的代碼值;出錯(cuò),為EOF(-1)5C言語無言語無I/O語句,語句,I/O操作由函數(shù)實(shí)現(xiàn)操作由函數(shù)實(shí)現(xiàn)5 #include 5 3.2.1 數(shù)據(jù)輸出數(shù)據(jù)輸出5字符輸出函數(shù)字符輸出函數(shù)上一頁上一頁下一頁下一頁#include void main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a); getch();運(yùn)轉(zhuǎn)結(jié)果:運(yùn)轉(zhuǎn)結(jié)果:AB例例上一頁上一頁下一頁下一頁格式:格式:printf(prin
9、tf(格式控制串格式控制串 ,輸出表,輸出表) )功能:按指定格式向顯示器輸出數(shù)據(jù)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,前往輸出字節(jié)數(shù);出錯(cuò),前往返值:正常,前往輸出字節(jié)數(shù);出錯(cuò),前往EOF(-1)EOF(-1) 格式輸出函數(shù)格式輸出函數(shù) 輸出表:要輸出的數(shù)據(jù)可以沒有,多個(gè)時(shí)以輸出表:要輸出的數(shù)據(jù)可以沒有,多個(gè)時(shí)以,分隔分隔 格式控制串:包含兩種信息格式控制串:包含兩種信息 格式闡明:格式闡明: %修飾符修飾符格式字符格式字符 ,用于指定,用于指定輸出格式輸出格式 普通字符或本義序列:原樣輸出普通字符或本義序列:原樣輸出 格式字符格式字符上一頁上一頁下一頁下一頁d,ix,Xoucse,E
10、fg%格式字符:格式字符:十六進(jìn)制無符號(hào)整數(shù)十六進(jìn)制無符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)方式浮點(diǎn)小數(shù)指數(shù)方式浮點(diǎn)小數(shù)單一字符單一字符字符串字符串八進(jìn)制無符號(hào)整數(shù)八進(jìn)制無符號(hào)整數(shù)小數(shù)方式浮點(diǎn)小數(shù)小數(shù)方式浮點(diǎn)小數(shù)e和和f中較短一種中較短一種百分號(hào)本身百分號(hào)本身int a=567;printf ( %d,a);int a=255;printf(%x,a);int a=65;printf(%o,a);int a=567;printf(%u,a);char a=65;printf(%c,a);printf(%s,ABC);float a=567.789;printf(%
11、e,a);float a=567.789;printf(%f,a);float a=567.789;printf(%g,a);printf(%);567ff101567AABC5.677890e+02567.789000567.789% 闡明闡明 格式字符要用小寫格式字符要用小寫 格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)一樣,按先后順序一一對(duì)應(yīng)格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)一樣,按先后順序一一對(duì)應(yīng) 輸出轉(zhuǎn)換輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定格式輸出自動(dòng)按指定格式輸出上一頁上一頁下一頁下一頁例例 main()main() unsigned int unsigned int u=65
12、535;u=65535; printf(u=%dn,u);printf(u=%dn,u); 輸出輸出結(jié)果:結(jié)果:u=-1u=-1例例 int a=3,b=4; printf(%d %dn,a,b); printf(a=%d , b=%dn,a,b); 例例 int a=3,b=4; printf(%d %dn,a,b); printf(a=%d , b=%dn,a,b);輸出結(jié)果輸出結(jié)果: 3 4 a=3, b=411 11 11 11 11 11 11 1165535上一頁上一頁下一頁下一頁 附加格式闡明符修飾符附加格式闡明符修飾符.n對(duì)實(shí)數(shù)對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)指定小數(shù)點(diǎn)后位數(shù)(四舍五入
13、四舍五入)對(duì)字符串對(duì)字符串,指定實(shí)踐輸出位數(shù)指定實(shí)踐輸出位數(shù)修飾符修飾符功功 能能m輸出數(shù)據(jù)域?qū)捿敵鰯?shù)據(jù)域?qū)?數(shù)據(jù)長(zhǎng)度數(shù)據(jù)長(zhǎng)度m,左補(bǔ)空格左補(bǔ)空格;否那么按實(shí)踐輸出否那么按實(shí)踐輸出輸出數(shù)據(jù)在域內(nèi)左對(duì)齊缺省右對(duì)齊輸出數(shù)據(jù)在域內(nèi)左對(duì)齊缺省右對(duì)齊)-指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)(+)+輸出數(shù)值時(shí)指定左面不運(yùn)用的空位置自動(dòng)填輸出數(shù)值時(shí)指定左面不運(yùn)用的空位置自動(dòng)填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0 x#在在d,o,x,u前,指定輸出精度為前,指定輸出精度為long型型在在e,f,g前,指定輸出精度為前,指定輸出精度為double型型l上
14、一頁上一頁下一頁下一頁例 int a=1234; float f=123.456; char ch=a; printf(%8d,%2dn,a,a); printf(%f,%8f,%8.1f,%.2f,%.2en,f,f,f,f,f); printf(%3cn,ch);運(yùn)轉(zhuǎn) 1234,1234結(jié)果: 123.456000,123.456000, 123.5,123.46,1.23e+02 a例 static char a=Hello,world! printf(%sn%15sn%10.5sn%2.5sn%.3sn,a,a,a,a,a);運(yùn)轉(zhuǎn)結(jié)果:Hello,world! Hello,world!
15、 Hello Hello Hel 例 m.n上一頁上一頁下一頁下一頁例例 int a=1234; float f=123.456; static char c=Hello,world!; printf(%8d,%-8dn,a,a); printf(%10.2f,%-10.1fn,f,f); printf(%10.5s,%-10.3sn,c,c);運(yùn)轉(zhuǎn)結(jié)果:運(yùn)轉(zhuǎn)結(jié)果: 1234,1234 123.46,123.5 Hello,Hel 例例 -上一頁上一頁下一頁下一頁例 int a=1234; float f=123.456; printf(%08dn,a); printf(%010.2fn,f)
16、; printf(%0+8dn,a); printf(0+10.2fn,f); 例 0 、+例 int a=123; printf(%o,%#o,%X,%#Xn,a,a,a,a); 例 #例 long a=65536; printf(%d,%8ldn,a, a); 例 l00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00/00001234/0000123.46/000+1234/000+123.56/173,0173,7B,0X7B/0, 65536上一頁上一頁下一頁下一頁格式:getchar( )功能:從鍵盤讀一字符返值:正常,前往讀取的代碼值;出
17、錯(cuò),前往EOF(-1) 3.2.2 數(shù)據(jù)輸入數(shù)據(jù)輸入 字符輸入函數(shù)字符輸入函數(shù) 例 #include main() int c; printf(Enter a character:); c=getchar(); printf(%c-hex%xn,c,c);運(yùn)轉(zhuǎn)結(jié)果:Enter a character:AA-hex41上一頁上一頁下一頁下一頁 格式輸入函數(shù)格式輸入函數(shù)格式格式: scanf(: scanf(格式控制串格式控制串 ,地址表,地址表功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的 存儲(chǔ)單元中存儲(chǔ)單元中, ,并按回車鍵終了并按回車鍵終了返
18、值:正常,前往輸入數(shù)據(jù)個(gè)數(shù)返值:正常,前往輸入數(shù)據(jù)個(gè)數(shù) 地址表:變量的地址,常用取地址運(yùn)算符地址表:變量的地址,常用取地址運(yùn)算符& 格式字符格式字符: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ù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符
19、那么終了抑制符,指定輸入項(xiàng)讀入后不賦給變量例 scanf(%4d%2d%2d,&yy,&mm,&dd); 輸入 20191015 那么2019yy, 10 mm, 15 dd上一頁上一頁下一頁下一頁例 scanf(%3d%*4d%f,&k,&f); 輸入 12345678765.43 那么123k, 8765.43f例 scanf(%2d %*3d %2d,&a,&b); 輸入 12 345 67 那么12a, 67b例 scanf(%3c%2c,&c1,&c2); 輸入 abcde 那么ac1, d c2上一頁上一頁下一
20、頁下一頁 輸入分隔符的指定輸入分隔符的指定 普通以空格、普通以空格、TAB或回車鍵作為分隔符或回車鍵作為分隔符 其它字符做分隔符:格式串中兩個(gè)格式符間字其它字符做分隔符:格式串中兩個(gè)格式符間字符符例 scanf(%d%o%x,&a,&b,&c); printf(a=%d,b=%d,c=%dn,a,b,c); 輸入 123 123 123 輸出 a=123,b=83,c=291例 scanf(%d:%d:%d,&h,&m,&s); 輸入 12:30:45 那么12 h, 30 m, 45 s例scanf(%d,%d,&a,&b);
21、輸入 3,4 那么3a, 4 b例 scanf(a=%d,b=%d,c=%d,&a,&b,&c); 輸入 a=12,b=24,c=36 上一頁上一頁下一頁下一頁 闡明: 用%c格式符時(shí),空格和本義字符作為有效字符輸入如 scanf(%c%c%c,&c1,&c2,&c3); 假設(shè)輸入a b c 那么ac1, c2, b c3 輸入數(shù)據(jù)時(shí),遇以下情況以為該數(shù)據(jù)終了: 遇空格、TAB、或回車 遇寬度終了 遇非法輸入如 scanf(%d%c%f,&a,&b,&c); 假設(shè)輸入1234a123o.26 那么 1234 a, a b,
22、 123 c 輸入函數(shù)留下的渣滓:上一頁上一頁下一頁下一頁如 scanf(%d%c%f,&a,&b,&c); 假設(shè)輸入1234a123o.26 那么 1234 a, a b, 123 c例 int x; char ch; scanf(%d,&x); ch=getchar(); printf(x=%d,ch=%dn,x,ch);執(zhí)行:123輸出:x=123,ch=10例 int x; char ch; scanf(%d,&x); scanf(%c,&ch); printf(x=%d,ch=%dn,x,ch);執(zhí)行:123輸出:x=123,ch=10
23、處理方法:1用getchar()去除2用函數(shù)fflush(stdin)去除全部剩余內(nèi)容 (3) 用格式串中空格或%*c來吃掉例 int x; char ch; scanf(%d,&x); scanf( %c,&ch);或 scanf(%*c%c,&ch); 上一頁上一頁下一頁下一頁例例3.1 輸入圓的半徑,輸出圓的周長(zhǎng)和面積。輸入圓的半徑,輸出圓的周長(zhǎng)和面積。分析:分析: 1.定義實(shí)型變量定義實(shí)型變量r、l、s用于存放半徑、周長(zhǎng)、面用于存放半徑、周長(zhǎng)、面積;積;2.調(diào)用輸入函數(shù),輸入調(diào)用輸入函數(shù),輸入r:3.分別利用周長(zhǎng)公式和面積公式求出分別利用周長(zhǎng)公式和面積公式求出l
24、、s;4.調(diào)用輸出函數(shù)輸出調(diào)用輸出函數(shù)輸出l、s。3.3 程序舉例程序舉例上一頁上一頁下一頁下一頁程序:程序:#include main() float r,l,s; scanf( %f ,&r); l = 2 * 3.14159 * r; s = 3.14159 *r * r; printf(n l=%.4f,l); printf(n s=%.4f,s); 上一頁上一頁下一頁下一頁/*ch3_12.c*/#include #include main() float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2fn,a,b,c,s); printf(area=%7.2fn,area);輸入:輸入:3,4,6 輸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 培訓(xùn)干部工作開展情況總結(jié)
- 急救知識(shí)宣傳大使難點(diǎn)解析
- 干完活驗(yàn)收合同模板
- 工廠采購豬肉合同模板
- 寄養(yǎng)小孩合同范例
- 蘇教版九年級(jí)上冊(cè)勞動(dòng)技術(shù) 第27課 汽車發(fā)動(dòng)機(jī)原理與維護(hù)【課件】
- 中考百日誓師大會(huì)教師演講稿
- 農(nóng)村商鋪?zhàn)赓U合同范例
- 南開區(qū)危化品運(yùn)輸合同范例
- 律所加盟協(xié)議合同范例
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》試題及答案解析
- 黑龍江省 哈爾濱市第四十七中學(xué)校2024-2025學(xué)年七年級(jí)上學(xué)期期中考試語文試題
- 期中(1-4單元)(試題)-2024-2025學(xué)年六年級(jí)數(shù)學(xué)上冊(cè)西師大版
- 《烏魯木齊市國土空間總體規(guī)劃(2021-2035年)》
- 河南省城市生命線安全工程建設(shè)指引V1
- 生涯發(fā)展展示
- 報(bào)價(jià)單(報(bào)價(jià)單模板)
- 期中考試表彰大會(huì)成功無捷徑不比聰明比進(jìn)步學(xué)習(xí)當(dāng)奮斗動(dòng)態(tài)PPT
- 硬筆書法練習(xí)米字格田字格(A4紙)word打印版
- 高溫合金PPT課件
- 《藥物過敏反應(yīng)搶救流程》
評(píng)論
0/150
提交評(píng)論