版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章順序結(jié)構(gòu)程序設(shè)計(jì)【教學(xué)要求】1.了解C語(yǔ)言程序的特點(diǎn):C程序是由函數(shù)組成的2.C程序的三種基本結(jié)構(gòu):掌握C程序的順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。3.掌握賦值語(yǔ)句構(gòu)成與使用要點(diǎn)。4.熟練掌握格式輸入/輸出函數(shù)的使用方法。5.能編寫(xiě)簡(jiǎn)單的順序結(jié)構(gòu)程序。
教學(xué)要點(diǎn)1、C語(yǔ)句概述
C程序結(jié)構(gòu)
C語(yǔ)句的構(gòu)成2、結(jié)構(gòu)化程序的三種基本形式結(jié)構(gòu)化程序的三種形式:順序、選擇、循環(huán)。3、數(shù)據(jù)的輸入與輸出
C語(yǔ)言輸入輸出的實(shí)現(xiàn):C語(yǔ)言沒(méi)有提供輸入輸出語(yǔ)句,而是由輸入輸出函數(shù)來(lái)實(shí)現(xiàn)的。標(biāo)準(zhǔn)的庫(kù)函數(shù)的使用。
輸出函數(shù)putchar()、printf()的使用。輸入函數(shù)getchar()
、scanf()的使用。...C程序結(jié)構(gòu)C程序源程序文件1源程序文件2源程序文件n預(yù)編譯命令函數(shù)1函數(shù)n說(shuō)明部分執(zhí)行部分(語(yǔ)句)C語(yǔ)句的構(gòu)成1、控制語(yǔ)句:用于完成一定的控制功能。組成:例:2、函數(shù)調(diào)用語(yǔ)句:用于完成一次函數(shù)調(diào)用。組成:由一次函數(shù)調(diào)用+“;”構(gòu)成。例:printf(“ThisisaCstatement!”);3、表達(dá)式語(yǔ)句:用于完成一次表達(dá)式操作。組成:由一個(gè)表達(dá)式+“;”構(gòu)成。例:a=3;i++;等4、空語(yǔ)句:用作被轉(zhuǎn)向點(diǎn)或循環(huán)語(yǔ)句中的循環(huán)體。組成:只由一個(gè)“;”構(gòu)成。5、復(fù)合語(yǔ)句:完成一些特定的操作功能。組成:將一些語(yǔ)句用{}括起來(lái)構(gòu)成,在程序中當(dāng)作一個(gè)語(yǔ)句看待。例:main(){…{z=x+y;t=z/100;printf(“%f”,t);}…}控制語(yǔ)句條件語(yǔ)句:if<條件>~else~(或?:)循環(huán)語(yǔ)句:for()~條件循環(huán):while(){~}條件循環(huán):do{~}while();結(jié)束本次循環(huán)語(yǔ)句:continue終止循環(huán)或switch語(yǔ)句:break多分支選擇語(yǔ)句:switch(){case...;~}轉(zhuǎn)向語(yǔ)句:goto由函數(shù)返回語(yǔ)句:return結(jié)構(gòu)化程序設(shè)計(jì)方法1、含義:它要求程序設(shè)計(jì)者按照一定的結(jié)構(gòu)形式來(lái)設(shè)計(jì)和編寫(xiě)程序。2、引入結(jié)構(gòu)化程序設(shè)計(jì)方法的原因:使程序易讀、易理解、易修改,以提高程序設(shè)計(jì)和維護(hù)工作的效率。3、結(jié)構(gòu)化程序的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。4、結(jié)構(gòu)化程序設(shè)計(jì)的方法:自頂向下、逐步精化。例:求一組正數(shù)中的最大者。求一組正數(shù)中的最大者找出這些數(shù)中的最大的數(shù)打印最大數(shù)使max=0逐個(gè)讀入數(shù)據(jù),把最大者送到max中結(jié)構(gòu)化程序的三種形式1、順序結(jié)構(gòu)程序2、選擇結(jié)構(gòu)程序if~else~選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)(switch)3、循環(huán)結(jié)構(gòu)程序while(){~}循環(huán)do{~}while();循環(huán)for(){~}循環(huán)順序結(jié)構(gòu)程序1、基本結(jié)構(gòu)2、執(zhí)行過(guò)程:先執(zhí)行A操作,再執(zhí)行B操作ABAB選擇結(jié)構(gòu)程序1、基本結(jié)構(gòu):2、執(zhí)行過(guò)程:當(dāng)條件P成立時(shí)執(zhí)行A操作,當(dāng)條件P不成立時(shí)執(zhí)行B操作。TFBBAAPPFT循環(huán)結(jié)構(gòu)程序:當(dāng)型循環(huán)當(dāng)P條件成立時(shí),反復(fù)執(zhí)行A操作,直到P為假時(shí)才跳出循環(huán)。TFPA當(dāng)P為真A循環(huán)結(jié)構(gòu)程序:直到型循環(huán)先執(zhí)行A操作,再判斷條件P是否成立,若為假,再執(zhí)行A,直到條件為真跳出循環(huán)。PAFT直到P為假A賦值語(yǔ)句1、構(gòu)成:由賦值表達(dá)式加上一個(gè)分號(hào)(;)構(gòu)成。如:a=12;2、使用要點(diǎn):(1)在賦值表達(dá)式中,“=”作為賦值運(yùn)算符;理解n=n+1的含義與“存儲(chǔ)覆蓋”的原理(2)區(qū)別賦值表達(dá)式與賦值語(yǔ)句是兩個(gè)不同的概念。如:if((a=b)>0)t=a;(正確)
if((a=b;)>0)t=a;(錯(cuò)誤)(3)例題:例exp3_1:main(){inta,b;
scanf(“%d%d”,&a,&b);if(a>=b)c=aelsec=b;
printf(“c=%d”,c);}如果輸入23,輸出為c=3;如果輸入32,輸出為c=3。putchar()函數(shù)1、功能:將一個(gè)字符輸出到標(biāo)準(zhǔn)輸出設(shè)備。2、格式:putchar(c)3、使用要點(diǎn):putchar(c)中的c可以是字符型或整型數(shù)據(jù);
c=98;putchar(c)輸出字符b
putchar(‘a(chǎn)’)輸出字符aputchar(0x41)輸出字符A使用輸出函數(shù)需要調(diào)用c的標(biāo)準(zhǔn)I/O庫(kù)函數(shù),故需用預(yù)編譯命令:
#include<stdio.h>
將stdio.h文件包含在用戶(hù)源程序文件中;putchar()也可以輸出一個(gè)控制字符或其它轉(zhuǎn)義字符。如:putchar(‘\n’)輸出一個(gè)換行符
putchar(‘\101’)輸出字符Aputchar(‘\’’)輸出字符單引號(hào)’4、舉例:例exp3_2:#include<stdio.h>main(){chara,b,c;a=‘B’;b=‘o’;c=‘y’;putchar(a);putchar(b);putchar(c);}輸出結(jié)果為:Boyprintf()函數(shù)1、功能:按指定的格式向終端輸出若干任意類(lèi)型的數(shù)據(jù)。2、格式:printf(格式控制,輸出表列)
如:printf(“x=%d”,x)3、使用要點(diǎn)
(1)格式控制部分的用法:
(2)輸出表列:可以是合法的常量、變量和表達(dá)式,輸出項(xiàng)表中的個(gè)輸出項(xiàng)之間要用“,”分隔。(3)當(dāng)格式符個(gè)數(shù)少于輸出項(xiàng)時(shí),多余的輸出項(xiàng)不予輸出。若格式符多于輸出項(xiàng)時(shí),各系統(tǒng)的處理有所不同,TC對(duì)于缺少的項(xiàng)將輸出不定值。
(4)每次調(diào)用printf函數(shù)之后,將得到一個(gè)整型的函數(shù)值,該值等于正常輸出的字符個(gè)數(shù)。4、舉例:printf()函數(shù)的格式控制1、格式控制字符是用雙引號(hào)括起來(lái)的字符串,用來(lái)確定確定輸出項(xiàng)的格式和需要原樣輸出的字符串。其組成形式為:
“普通字符串%+
0m.nl格式控制字符”其中:輸出數(shù)據(jù)項(xiàng)的順序一般按從左至右的順序輸出。格式控制中的普通字符串,照原樣輸出;
如:printf(“a=%d,b=%d”,a,b);%:為C語(yǔ)言規(guī)定的標(biāo)記符;+
:指定輸出數(shù)據(jù)的對(duì)齊方式:+為右對(duì)齊(可缺?。?為左對(duì)齊;0:指定輸出的數(shù)據(jù)中不使用的位置是否填數(shù)字“0”關(guān)于m.n與l的說(shuō)明:格式控制字符用于指定數(shù)據(jù)的輸出形式,可以包含轉(zhuǎn)義字符,用兩個(gè)連續(xù)的“%%”表示輸出字符“%”。2、舉例:格式控制字符printf()中的m.nl格式說(shuō)明符(1)printf(“%4d,%4d”,a,b);
若a=123,b=12345則輸出為:□123,12345
如果數(shù)據(jù)位數(shù)小于m,則左端補(bǔ)空格,若大于m,則按實(shí)際輸出。(2)longa=135790;
printf(“%ld”,a);
長(zhǎng)整型數(shù)據(jù)應(yīng)采用%ld格式輸出,若采用%d格式則出錯(cuò)。(3)inta=-1;
printf(“%d,%o”,a,a);輸出為:-1,177777
對(duì)于八進(jìn)制輸出不會(huì)輸出帶符號(hào)的數(shù)據(jù),長(zhǎng)整型數(shù)據(jù)用%lo格式輸出,也可以指定寬度。如:printf(“%lo,%8o”,a,a);(4)inta=-1;
printf(“%x,%o,%d”,a,a,a);輸出結(jié)果為:ffff,177777,-1
同樣,也可以用%lx輸出長(zhǎng)整型數(shù)據(jù)或指出輸出寬度,如:printf(“%lx,%12x”,a,a)例exp3_3:#include<stdio.h>main(){unsignedinta=65535;
intb=-2;
printf(“a=%d,%o,%x,%u\n”,a,a,a,a);
printf(“b=%d,%x,%o,%u\n”,b,b,b,b);}輸出為a=-1,177777,ffff,65535b=-2,fffe,177776,65534例exp3_4:字符輸出main(){charc=‘a(chǎn)’;
intk=97;
printf(“%c,%d\n”,c,c);
printf(“%c,%d\n”,k,k);}輸出為:a,97a,97例exp3_5:輸出字符串printf(“%s”,”china”);輸出字符串chinaprintf(“%7s\n”,”china”);輸出字符串□□chinaprintf(“%3s\n”,”china”);輸出字符串chinaprintf(“%5.3s\n”,”china”);輸出字符串□□chiprintf(“%-5.3s\n”,”china”);輸出為chi□□例exp3_6:實(shí)型數(shù)據(jù)#include<stdio.h>main(){floatx,y,z;doublea,b;x=11111.111,y=22222.222,z=123.456;a=1111111111111.111111111;b=2222222222222.222222222
printf(“%f\n%f\n”,x+y,a+b);printf(“%10f,%10.2f\n”,z,z);
printf(“%e\n”,z);
printf(“%g\n”,z);}輸出為:33333.3339843333333333333.333010123.456001,□□□□123.461.234560e+02123.456□□□getchar()函數(shù)1、功能:從標(biāo)準(zhǔn)輸入設(shè)備上讀入一個(gè)字符。2、格式:getchar()3、使用要點(diǎn):getchar()函數(shù)本身沒(méi)有參數(shù),其函數(shù)值就是從輸入設(shè)備得到的一個(gè)字符;由getchar()獲得的字符可以賦值給一個(gè)字符或整型變量,也可以作為表達(dá)式的一部分;如:c=getchar(a);
putchar(getchar());
printf(“%c”,getchar());使用getchar()函數(shù)要調(diào)用c的標(biāo)準(zhǔn)I/O庫(kù)函數(shù),應(yīng)在程序首部加上:#include<stdio.h>4、舉例:例exp3_7:#include<stdio.h>main(){charc;c=getchar();
putchar(c);
printf(“%c\n%d\n”,c,c);}輸入a輸出a 97scanf()函數(shù)1、功能:將從終端(鍵盤(pán))輸入的數(shù)據(jù)傳送給對(duì)應(yīng)的變量。2、格式:scanf(格式控制,輸入項(xiàng)地址表)說(shuō)明:格式控制的含義同printf函數(shù),“%格式控制字符”
輸入項(xiàng)地址表由若干個(gè)地址組成,代表每一個(gè)變量在內(nèi)存的地址。表示為:&變量(或數(shù)組與字符串的首地址)每次調(diào)用scanf()函數(shù)后,函數(shù)將得到一個(gè)整型函數(shù)值,此值等于正常輸入數(shù)據(jù)的個(gè)數(shù)3、使用要點(diǎn):4、舉例:scanf()函數(shù)的使用要點(diǎn)1、格式符的個(gè)數(shù)必須與輸入項(xiàng)的個(gè)數(shù)相等,數(shù)據(jù)類(lèi)型必須從左至右一一對(duì)應(yīng)。2、scanf()函數(shù)中常用的格式符有:3、用戶(hù)可以指定輸入數(shù)據(jù)的域?qū)?,系統(tǒng)將自動(dòng)按此域?qū)捊厝∷x入的數(shù)據(jù),如:scanf(“%3d%3d”,&a,&b);輸入123456系統(tǒng)自動(dòng)將123賦值給a,將456賦值給b.4、輸入實(shí)型數(shù)據(jù)時(shí),用戶(hù)不能規(guī)定小數(shù)點(diǎn)后的位數(shù)。scanf(“%7.2f”,&a);是錯(cuò)誤的.5、輸入實(shí)型數(shù)據(jù)時(shí),可以不帶小數(shù)點(diǎn),即按整型數(shù)方式輸入。scanf()函數(shù)的使用要點(diǎn)6、從終端輸入數(shù)值數(shù)據(jù)時(shí),遇下述情況系統(tǒng)將認(rèn)為該項(xiàng)數(shù)據(jù)結(jié)束:遇到空格、回車(chē)符或制表符(TAB),故可用它們作為數(shù)值數(shù)據(jù)間的分隔符;遇到寬度結(jié)束,如“%4d”表示只取輸入數(shù)據(jù)的前4列。遇到非法輸入,如:假設(shè)a為整型變量,ch為字符型變量,對(duì)于:
scanf(“%d%c”,&a,&ch);
若輸入246a,則系統(tǒng)將認(rèn)為:a=246,ch=a7、在使用%c格式符時(shí),輸入的數(shù)據(jù)之間不需要分隔符標(biāo)志;空格、回車(chē)符都將作為有效字符讀入。scanf(“%c%c%c”,&a,&b,&c);輸入b□o□yb賦值給a,□賦值給b,o賦值給cscanf()函數(shù)的使用要點(diǎn)8、如果格式控制字符串中除了格式說(shuō)明之外,還包含其它字符,則輸入數(shù)據(jù)時(shí),在與之對(duì)應(yīng)的位置上也必須輸入與這些字符相同的字符。如:scanf(“Enteranumber:%d”,&x);
scanf(“%d%d”&a,&b);輸入格式12223
scanf(“%d,%d”,&a,&b);輸入格式122,23
scanf(“a=%d,b=%d”,&a,&b);輸入格式a=123,b=239、格式說(shuō)明%*表示跳過(guò)對(duì)應(yīng)的輸入數(shù)據(jù)項(xiàng)不予讀入。如:scanf(“%2d%*2d%2d”,&a,&b);
若輸入1234567
則12賦給a,67
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 購(gòu)房首付分期合同范例
- 鏟車(chē)挖掘機(jī)合同范例
- 綠豆買(mǎi)賣(mài)合同范例
- 商丘工學(xué)院《中西教育傳統(tǒng)比較研究工作坊》2023-2024學(xué)年第一學(xué)期期末試卷
- 商洛職業(yè)技術(shù)學(xué)院《會(huì)計(jì)信息系統(tǒng)單統(tǒng)計(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 汕尾職業(yè)技術(shù)學(xué)院《政府經(jīng)濟(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西職業(yè)技術(shù)學(xué)院《生物工藝學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024至2030年重型鉗項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年螺母線項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年胡蘿卜種項(xiàng)目投資價(jià)值分析報(bào)告
- 材料力學(xué)第4版單輝祖習(xí)題答案
- 造紙企業(yè)清潔生產(chǎn)報(bào)告2014年
- 診所抗菌藥物管理制度
- 智慧嬰幼兒托管解決方案
- 設(shè)計(jì)構(gòu)成與應(yīng)用 完整全套教學(xué)課件 第1-12章 平面構(gòu)成設(shè)計(jì)元素- 立體構(gòu)成在建筑設(shè)計(jì)中的應(yīng)用
- 2、廣東省高速公路發(fā)展股份有限公司 2019年度內(nèi)控缺陷整改臺(tái)賬
- 物業(yè)公司安全生產(chǎn)檢查表
- 室內(nèi)配套設(shè)備家具、家電及窗簾等項(xiàng)目供貨服務(wù)方案技術(shù)投標(biāo)方案
- 公司規(guī)章制度清單
- 《高效能人士的七個(gè)習(xí)慣》PPT演講模板
- 獨(dú)領(lǐng)風(fēng)騷的古代技術(shù)創(chuàng)造
評(píng)論
0/150
提交評(píng)論