C語(yǔ)言程序設(shè)計(jì)第三章.ppt
《C語(yǔ)言程序設(shè)計(jì)第三章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語(yǔ)言程序設(shè)計(jì)第三章.ppt(48頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
重慶電力高等??茖W(xué)校,C語(yǔ)言是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,提供了功能豐富的控制語(yǔ)句,本章開始陸續(xù)介紹C語(yǔ)言的控制語(yǔ)句:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。本章主要介紹三種結(jié)構(gòu)化設(shè)計(jì)的基本概念,格式輸入輸出函數(shù)printf()和scanf(),字符輸入輸出函數(shù)putchar()和getchar()等內(nèi)容,要求重點(diǎn)掌握順序結(jié)構(gòu)設(shè)計(jì)的基本思想及程序編寫方法,熟練掌握常見輸入、輸出庫(kù)函數(shù)的調(diào)用。,重慶電力高等??茖W(xué)校,3.1C語(yǔ)句概述,3.3賦值語(yǔ)句,3.4格式輸入與輸出,3.2程序的三種基本結(jié)構(gòu),3.5字符數(shù)據(jù)的輸入輸出函數(shù),3.6順序結(jié)構(gòu)程序設(shè)計(jì)舉例,重慶電力高等??茖W(xué)校,3.1C語(yǔ)句概述,C語(yǔ)言的語(yǔ)句分為如下五大類:(1)表達(dá)式語(yǔ)句:表達(dá)式后面加一個(gè)分號(hào)就構(gòu)成了一個(gè)表達(dá)式語(yǔ)句。例如:sum=a+b;/*賦值語(yǔ)句*/i+;/*自加運(yùn)算表達(dá)式語(yǔ)句*/x=1,y=2;/*逗號(hào)表達(dá)式語(yǔ)句*/(2)函數(shù)調(diào)用語(yǔ)句:函數(shù)調(diào)用語(yǔ)句由一個(gè)函數(shù)加一個(gè)分號(hào)構(gòu)成。例如:printf(“ThisisaCstatement.”);,重慶電力高等專科學(xué)校,3.1C語(yǔ)句概述,(3)復(fù)合語(yǔ)句:用花括號(hào)將多個(gè)語(yǔ)句組合在一起稱為復(fù)合語(yǔ)句,又稱為語(yǔ)句塊(block)。例如:intx,y;z=x+y;printf(“d%”,z);(4)空語(yǔ)句:只有一個(gè)分號(hào)(;)的語(yǔ)句稱為空語(yǔ)句。在程序中空語(yǔ)句經(jīng)常被用作循環(huán)體,比如常見的用于延時(shí)的一種循環(huán)語(yǔ)句。例如:for(i=0;i0)t=a;此處if語(yǔ)句中a=b是賦值表達(dá)式而不是賦值語(yǔ)句。,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,信息從計(jì)算機(jī)的外部設(shè)備流入計(jì)算機(jī)稱為輸入。信息從計(jì)算機(jī)主機(jī)流向外部設(shè)備稱為輸出。C語(yǔ)言中沒有輸入輸出語(yǔ)句,而是由輸入輸出函來(lái)實(shí)現(xiàn)的輸入/輸出的。C標(biāo)準(zhǔn)函數(shù)庫(kù)中包含的常用輸入輸出函數(shù)有:格式輸出函數(shù)printf()格式輸入函數(shù)scanf()單個(gè)字符輸出函數(shù)putchar()單個(gè)字符輸入函數(shù)getchar()使用標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)時(shí),要用編譯命令“#include”將有關(guān)頭文件“stdio.h”包括到用戶的源文件當(dāng)中。即:#include或#include“stdio.h”,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),一般格式:printf(格式控制”,輸出列表);例如:printf(“a=%d,b=%cn”,a,b)功能:向默認(rèn)輸出設(shè)備(一般是顯示器)輸出“輸出列表”中各數(shù)據(jù)項(xiàng)。,1.格式控制格式控制也稱“控制字符串”,是由雙引號(hào)括起來(lái)指定輸出格式的字符串。他由格式說(shuō)明、控制字符和普通字符三部分組成。,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),(1)格式說(shuō)明構(gòu)成:由“%”字符開始后面跟有各種格式字符。作用:以說(shuō)明輸出數(shù)據(jù)的類型、形式、長(zhǎng)度、小數(shù)位等格式。,C語(yǔ)言提供的常用printf()函數(shù)格式說(shuō)明:,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),(2)控制字符控制字符用于控制設(shè)備的動(dòng)作,如下表中制表符“t”、換行符“n”等。,例如:printf(“x=%dn”,x);,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),(3)普通字符除格式說(shuō)明和控制字符之外,其他字符均屬普通字符,打印時(shí)按原樣輸出。例如:printf(“x=%d,%c”,12,6*8);其中“x=”和“,”都是普通字符。輸出結(jié)果是:x=12,48,重慶電力高等專科學(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),2.輸出列表輸出列表:就是需要輸出的各數(shù)據(jù)項(xiàng)表達(dá)式,表達(dá)式之間用逗號(hào)分隔。,注意:(1)表達(dá)式可以由變量構(gòu)成,也可以由常量構(gòu)成;(2)表達(dá)式之間的逗號(hào)不是逗號(hào)表達(dá)式,而是確定計(jì)算順序的分隔符,自右向左進(jìn)行的計(jì)算。,重慶電力高等專科學(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),3.附加說(shuō)明符在%與格式字符間插入附加說(shuō)明符,組成:“%”輸出格式來(lái)達(dá)到更高輸出格式要求。,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),重慶電力高等專科學(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),【例3.1】輸出整型、長(zhǎng)整型、無(wú)符號(hào)整型數(shù)據(jù)#include“stdio.h”voidmain()inty=20;longa=1024;unsignedb=54321;printf(“%d,%ld,%un”,y,a,b);printf(“%+8d,%+8ld,%+8un”,y,a,b);printf(“%08d,%08ld,%08un”,y,a,b);printf(“%-8d,%-8ld,%-8un”,y,a,b);printf(“%o,%lo,%on”,y,a,b);printf(“%#x,%#lx,%#xn”,y,a,b);printf(“%8o,%8lo,%8on”,y,a,b);printf(“%-8x,%-8lx,%-8xn”,y,a,b);,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),運(yùn)行結(jié)果如下:(代表空格)20,1024,54321+20,+1024,5432100000020,00001024,0005432120,1024,5432124,2000,1520610 x14,0 x400,0 xd432124,2000,15206114,400,d4321,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),【例3.2】輸出字符和字符串#include“stdio.h”voidmain()charch=a;printf(“%cn”,ch);printf(“%-3cn”,ch);printf(“%3cn”,ch);printf(“%sn”,”programing”);printf(“%15sn”,”programing”);printf(“%-15sn”,”programing”);printf(“%10.5sn”,”programing”);printf(“%-10.5sn”,”programing”);,運(yùn)行結(jié)果如下:aaaprogramingprogramingprogramingprogrprogr,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),【例3.3】輸出實(shí)型數(shù)據(jù)#include“stdio.h”voidmain()floatx,y;doublea;x=111111.111;y=123.468;a=333333333.33333;clrscr();printf(“%fn”,x);printf(“%fn”,a);printf(“%10f,%10.2f,%.2f,%-10.2fn”,x,x,x,x);printf(“%en”,x);printf(“%en”,a);printf(“%10e,%10.2e,%.2e.%-10.2en”,a,a,a,a);printf(“%f,%e,%g”,y,y,y);,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),程序運(yùn)行結(jié)果如下:111111.109375333333333.333330111111.109375,111111.11,111111.11,111111.111.11111e+053.33333e+083.33333e+08,3.3e+08,3.3e+08.3.3e+08123.468002,1.23468e+02,123.468,重慶電力高等專科學(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),4.使用printf()函數(shù)時(shí)應(yīng)注意的問題,(1)調(diào)用printf()函數(shù)時(shí),格式式轉(zhuǎn)換說(shuō)明符與輸出項(xiàng)必須順序和數(shù)據(jù)類型上一一對(duì)應(yīng)一致。(2)VC6.0+規(guī)定:當(dāng)格式說(shuō)明符明個(gè)數(shù)少于輸出項(xiàng)個(gè)數(shù)時(shí),多余的輸出項(xiàng)不予輸出。當(dāng)格式說(shuō)符明個(gè)數(shù)多于輸出項(xiàng)個(gè)數(shù)時(shí),而輸出不定值。(3)當(dāng)printf()函數(shù)中多個(gè)輸出項(xiàng)為表達(dá)式時(shí),VC6.0+規(guī)定先從右到左的順序計(jì)算各表達(dá)式的值,然后再?gòu)淖蟮接业捻樞蜉敵鼋Y(jié)果。(4)在使用“f”格式符輸出實(shí)數(shù)時(shí),并非全部數(shù)字都是有效數(shù)字,單精度實(shí)數(shù)的有效位數(shù)一般為7位,雙精度數(shù)的有效位數(shù)一般為16位。,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),例如:#include“stdio.h”voidmain()floatx=111111.111,y=222222.222;printf(%f,x+y);輸出結(jié)果為:333333.328125/*前7位是有效數(shù)字,后面數(shù)字無(wú)意義*/,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.1printf()函數(shù)(格式輸出函數(shù)),#include“stdio.h”voidmain()doublex=111111.11111,y=222222.22222;printf(%lf,x+y);輸出結(jié)果為:333333.333330/*可達(dá)16位是有效數(shù)字,小數(shù)點(diǎn)保留6位*/,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.2scanf()函數(shù)(格式輸入函數(shù)),一般形式:scanf(格式控制,地址列表);功能:從鍵盤向程序中的變量輸入一個(gè)或若干個(gè)任意類型的數(shù)據(jù)。例如:scanf(%d,%d,scanf(“%d%d%d”,輸入數(shù)據(jù)的格式表示什么意思?,重慶電力高等專科學(xué)校,3.4格式輸入與輸出,3.4.2scanf()函數(shù)(格式輸入函數(shù)),運(yùn)行時(shí)按以下方式輸入a,b,c的值:345(輸入a,b,c的值,用空格間隔)a=3,b=4,c=5(輸出a,b,c的值)注:輸入數(shù)據(jù)時(shí),在兩個(gè)數(shù)據(jù)之間以一個(gè)或多個(gè)空格間隔,也可以用Enter鍵、Tab鍵分隔,不能用逗號(hào)作為兩個(gè)數(shù)據(jù)的分隔符。下面輸入均為合法:3453453(按Tab鍵)45如下面的輸入不合法:3,4,5,重慶電力高等??茖W(xué)校,3.4格式輸入與輸出,3.4.2scanf()函數(shù)(格式輸入函數(shù)),3.使用scanf()函數(shù)時(shí)應(yīng)注意的問題,(1)地址列表中的各個(gè)參量都是變量地址,而不是變量名。例如:設(shè)a、b分別為整型變量和浮點(diǎn)型變量,則scanf(“%d%f”,scanf(“%c”,重慶電力高等專科學(xué)校,3.4格式輸入與輸出,3.4.2scanf()函數(shù)(格式輸入函數(shù)),運(yùn)行該程序時(shí)如果輸入:A輸出結(jié)果為:c1isA,c2is(即C2接收了一個(gè)回車符,而沒有被賦值)如果輸入:AB輸出結(jié)果為:c1isA,c2isB。,(7)對(duì)于unsigned型變量所需的數(shù)據(jù),可以用%u,%d或%o,%x格式輸入。,重慶電力高等專科學(xué)校,3.5字符數(shù)據(jù)的輸入輸出函數(shù),3.5.1putchar函數(shù)(字符輸出函數(shù)),格式:putchar(c);c為字符型或整型常量、變量或表達(dá)式。功能:向終端(顯示器)輸出一個(gè)字符,如果c為整型,則輸出ASCII碼值等于參數(shù)c的字符。例如:putchar(“a”)/*輸出結(jié)果為:a*/putchar(97)/*輸出結(jié)果為:a*/,注意:使用本函數(shù)是必須要用文件包含命令:#include,重慶電力高等??茖W(xué)校,3.5字符數(shù)據(jù)的輸入輸出函數(shù),3.5.1putchar函數(shù)(字符輸出函數(shù)),例如:#includevoidmain()charx,y,z;x=B;y=Y;z=E;putchar(x);putchar(y);putchar(z);運(yùn)行結(jié)果為:BYE,重慶電力高等??茖W(xué)校,3.5字符數(shù)據(jù)的輸入輸出函數(shù),3.5.1putchar函數(shù)(字符輸出函數(shù)),用putchar()函數(shù)可以輸出也可以輸出屏幕控制字符,如果將上面例題的最后一行改為:putchar(x);putchar(n);putchar(y);putchar(n);putchar(z);運(yùn)行結(jié)果為:BYE,重慶電力高等??茖W(xué)校,3.5字符數(shù)據(jù)的輸入輸出函數(shù),3.5.1putchar函數(shù)(字符輸出函數(shù)),其次putchar()函數(shù)還可輸出轉(zhuǎn)義字符。,putchar(101);/*輸出結(jié)果為字母:A*/putchar();/*輸出結(jié)果為單引號(hào):*/putchar(”);/*輸出結(jié)果為雙引號(hào):”*/putchar(255);/*輸出結(jié)果為圖形符號(hào):!*/,重慶電力高等專科學(xué)校,3.5字符數(shù)據(jù)的輸入輸出函數(shù),3.5.2getchar()函數(shù)(字符輸入函數(shù)),格式:getchar();功能:從鍵盤(或系統(tǒng)默認(rèn)的輸入設(shè)備)輸入一個(gè)字符。例如:charx;x=getchar();putchar(x);運(yùn)行結(jié)果:A(通過(guò)鍵盤輸入A,按回車鍵)A(輸出變量x的值A(chǔ)),注意:(1)getchar()函數(shù)沒有參數(shù)。(2)該函數(shù)只能接收一個(gè)字符。(3)使用函數(shù)前需加上文件包含命令:#include。,重慶電力高等??茖W(xué)校,3.5字符數(shù)據(jù)的輸入輸出函數(shù),3.5.2getchar()函數(shù)(字符輸入函數(shù)),【例3.4】字符輸入輸出函數(shù)的使用#includevoidmain()charc1,c2;charc3=X;c1=getchar();c2=getchar();putchar(c1);putchar(c2);putchar(c3);運(yùn)行時(shí)若輸入A輸出結(jié)果為:AX,重慶電力高等專科學(xué)校,3.6順序結(jié)構(gòu)程序設(shè)計(jì)舉例,【例3.5】從鍵盤輸入一個(gè)小寫字母,輸出其對(duì)應(yīng)的大些字母及其相應(yīng)的ASCII碼值。,分析:從ASCII碼表中得知:小寫字母的ASCII碼-32=大寫字母ASCII碼,程序如下:#includevoidmain()charch1,ch2;ch1=getchar();ch2=ch1-32;printf(nletter:%c,ASCII=%d,ch1,ch1);printf(nletter:%c,ASCII=%d,ch2,ch2);,重慶電力高等??茖W(xué)校,3.6順序結(jié)構(gòu)程序設(shè)計(jì)舉例,【例3.6】輸入三角形的三邊長(zhǎng),求三角形的面積。分析:根據(jù)數(shù)學(xué)知識(shí)可知求三角形的面積公式為:,area=,(注:s=(a+b+c)/2),程序如下:#include#includevoidmain()floata,b,c,s,area;scanf(%f,%f,%f,重慶電力高等??茖W(xué)校,3.6順序結(jié)構(gòu)程序設(shè)計(jì)舉例,【例3.7】求方程的根。a,b,c由鍵盤輸入,設(shè)。,分析:根據(jù)數(shù)學(xué)知識(shí)可得一元二次方程的根為:,可以將上面的分式分為兩項(xiàng):,則x1=p+q,x2=p-q,重慶電力高等專科學(xué)校,3.6順序結(jié)構(gòu)程序設(shè)計(jì)舉例,程序如下:#include#includevoidmain()floata,b,c,disc,x1,x2,p,q;scanf(a=%f,b=%f,c=%f,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 語(yǔ)言程序設(shè)計(jì) 第三
鏈接地址:http://www.szxfmmzy.com/p-11495442.html