![第3章簡單程序設(shè)計(jì)說課講解_第1頁](http://file4.renrendoc.com/view6/M03/1C/05/wKhkGWea1WKAKRiYAAI-8xq_WdY722.jpg)
![第3章簡單程序設(shè)計(jì)說課講解_第2頁](http://file4.renrendoc.com/view6/M03/1C/05/wKhkGWea1WKAKRiYAAI-8xq_WdY7222.jpg)
![第3章簡單程序設(shè)計(jì)說課講解_第3頁](http://file4.renrendoc.com/view6/M03/1C/05/wKhkGWea1WKAKRiYAAI-8xq_WdY7223.jpg)
![第3章簡單程序設(shè)計(jì)說課講解_第4頁](http://file4.renrendoc.com/view6/M03/1C/05/wKhkGWea1WKAKRiYAAI-8xq_WdY7224.jpg)
![第3章簡單程序設(shè)計(jì)說課講解_第5頁](http://file4.renrendoc.com/view6/M03/1C/05/wKhkGWea1WKAKRiYAAI-8xq_WdY7225.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(jì)主講:何希平
Prof.&Ph.D.
Tel:6276911515923039051E-mail:jsjhxp@1/30/20251第3章順序結(jié)構(gòu)程序設(shè)計(jì)3.1C語言的基本語句3.2數(shù)據(jù)輸入與輸出3.3程序舉例1/30/20252教學(xué)目的和基本要求:要求學(xué)生了解語句,尤其是復(fù)合語句的概念和使用場(chǎng)合教學(xué)重點(diǎn):復(fù)合語句1/30/20253程序設(shè)計(jì)語言有順序、選擇、循環(huán)三種基本的控制結(jié)構(gòu)。BA圖3.1順序結(jié)構(gòu)執(zhí)行流程
順序結(jié)構(gòu)是最基本的控制結(jié)構(gòu),其包含的語句是按照書寫的順序執(zhí)行的,且每條語句都將被執(zhí)行。程序流程如圖3.1所示,語句按書寫順序執(zhí)行。先執(zhí)行A,再執(zhí)行B。例:main(){inta,b,temp;scanf("%d%d",&a,&b);temp=a;
a=b;
b=temp;printf("%d,%d",a,b);}輸入:148輸出8,141/30/202543.1.1簡單語句表達(dá)式語句:
由一個(gè)表達(dá)式加上一個(gè)分號(hào)構(gòu)成。如:A++;x=1;p+=q*4+5;y=4>2?6:1;空語句:
由一個(gè)分號(hào)表示,一般形式為:;空語句在語法上是一條語句,但執(zhí)行時(shí)不做任何操作。1/30/20256C語言有豐富的標(biāo)準(zhǔn)函數(shù)庫,可提供各類函數(shù)供用戶調(diào)用,完成預(yù)先設(shè)定好的操作.例如調(diào)用標(biāo)準(zhǔn)庫函數(shù)求數(shù)學(xué)函數(shù)值:sin(x)、cos(x)、exp(x)(求ex)、fabs(x)(求x的絕對(duì)值)、log(x)等。3.函數(shù)調(diào)用語句:由函數(shù)調(diào)用表達(dá)式加分號(hào)構(gòu)成.如:printf("%d",a);scanf("%f",&b);1/30/20257調(diào)用標(biāo)準(zhǔn)庫函數(shù)要注意:在程序中要包含相應(yīng)的頭文件例如:#include<stdio.h>#include<math.h>
調(diào)用規(guī)則:函數(shù)名(參數(shù)表)例如:y=sin(1.7);x=pow(3,18);(指數(shù)函數(shù),x的y次冪p358)函數(shù)調(diào)用的實(shí)質(zhì):在調(diào)用點(diǎn)轉(zhuǎn)去執(zhí)行一段預(yù)先設(shè)計(jì)好的程序,求出結(jié)果后返回調(diào)用點(diǎn)。圖例函數(shù)的值又叫函數(shù)的返回值。1/30/20258調(diào)用函數(shù)A函數(shù)A執(zhí)行函數(shù)A函數(shù)執(zhí)行結(jié)束繼續(xù)執(zhí)行剩余的語句主函數(shù)main()end例:intmax(intx,inty){intz;z=x>y?x:y;return(z);}
main()
{inta,b;
scanf("%d%d",&a,&b);
printf("\n%d\n",max(a,b));
}函數(shù)調(diào)用語句在主函數(shù)中,可以如使用簡單變量一樣使用max,類型為int型,內(nèi)有值。若輸入34,則max中的值為4。1/30/20259如:數(shù)學(xué)表達(dá)式y(tǒng)=|3sinx+4cosx|+ex,可以用C語言表達(dá)式表示為:其中,fabs,sin,cos,exp都屬于頭文件math.h,用到這些函數(shù),必須在程序的預(yù)處理語句中用#include<math.h>把數(shù)學(xué)函數(shù)庫包含進(jìn)來。y=fabs(3*sin(x)+4*cos(x))+exp(x);1/30/2025103.1.2復(fù)合語句{語句1;……語句n;}用一對(duì)花括號(hào),把若干條語句括起來,就形成了一條復(fù)合語句。形式如下:
花括號(hào)中的語句,可以是簡單語句、空語句、復(fù)合語句、流程控制語句,所有這些語句括在一起,在語法上看成是一條語句,執(zhí)行時(shí)順序執(zhí)行花括號(hào)中的每條語句。復(fù)合語句多用于流程控制語句中。1/30/2025113.2數(shù)據(jù)輸入與輸出格式:putchar(c)參數(shù):c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯(cuò),為EOF(-1)C語言無I/O語句,I/O操作由函數(shù)實(shí)現(xiàn)#include<stdio.h>3.2.1數(shù)據(jù)輸出字符輸出函數(shù)1/30/202512#include<stdio.h>voidmain(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);getch();}運(yùn)行結(jié)果:AB例1/30/202513格式:printf("格式控制串",輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯(cuò),返回EOF(-1)格式輸出函數(shù)輸出表:要輸出的數(shù)據(jù)(可以沒有,多個(gè)時(shí)以","分隔)格式控制串:包含兩種信息格式說明:%[修飾符]格式字符
,用于指定輸出格式普通字符或轉(zhuǎn)義序列:原樣輸出格式字符1/30/202514d,ix,Xoucse,Efg%%格式字符:十六進(jìn)制無符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無符號(hào)整數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和f中較短一種百分號(hào)本身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%說明 格式字符要用小寫格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對(duì)應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定格式輸出1/30/202515例
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=41111111111111111655351/30/202516附加格式說明符(修飾符).n對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對(duì)字符串,指定實(shí)際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度<m,左補(bǔ)空格;否則按實(shí)際輸出輸出數(shù)據(jù)在域內(nèi)左對(duì)齊(缺省右對(duì)齊)-指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)(+)+輸出數(shù)值時(shí)指定左面不使用的空位置自動(dòng)填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l1/30/202517例inta=1234;floatf=123.456;charch='a';printf("%8d,%2d\n",a,a);printf("%f,%8f,%8.1f,%.2f,%.2e\n",f,f,f,f,f);printf("%3c\n",ch);運(yùn)行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);運(yùn)行結(jié)果:Hello,world!
Hello,world!
HelloHelloHel
例m.n1/30/202518例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);運(yùn)行結(jié)果:1234,1234
123.46,123.5
Hello,Hel例-1/30/202519例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,655361/30/202520格式:getchar()功能:從鍵盤讀一字符返值:正常,返回讀取的代碼值;出錯(cuò),返回EOF(-1)3.2.2數(shù)據(jù)輸入字符輸入函數(shù)例#include<stdio.h>main(){intc;printf("Enteracharacter:");c=getchar();printf("%c--->hex%x\n",c,c);}運(yùn)行結(jié)果:Enteracharacter:A
A--->hex411/30/202521格式輸入函數(shù)格式:scanf("格式控制串",地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲(chǔ)單元中,并按回車鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個(gè)數(shù)地址表:變量的地址,常用取地址運(yùn)算符&格式字符:d,i,o,x,u,c,s,f,e例scanf("%d",&a);
輸入:10
則a=10例scanf("%x",&a);
輸入:11
則a=171/30/202522附加格式說明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項(xiàng)讀入后不賦給變量例scanf("%4d%2d%2d",&yy,&mm,&dd);
輸入19991015
則1999yy,10mm,15dd1/30/202523例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'c1,'d'c21/30/202524輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符其它字符做分隔符:格式串中兩個(gè)格式符間字符例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=361/30/202525說明:用"%c"格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入如scanf("%c%c%c",&c1,&c2,&c3);
若輸入abc
則ac1,
c2,bc3輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:遇空格、TAB、或回車遇寬度結(jié)束遇非法輸入如scanf("%d%c%f",&a,&b,&c);若輸入1234a123o.26
則1234a,'a'b,123c輸入函數(shù)留下的"垃圾":1/30/202526如scanf("%d%c%f",&a,&b,&c);若輸入1234a123o.26
則1234a,'a'b,123c例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);1/30/202527例3.1輸入圓的半徑,輸出圓的周長和面積。分析:
1.定義實(shí)型變量r、l、s用于存放半徑、周長、面積;2.調(diào)用輸入函數(shù),輸入r:3.分別利用周長公式和面積公式求出l、s;4.調(diào)用輸出函數(shù)輸出l、s。3.3程序舉例1/30/202528程序:#include<stdio.h>main(){floatr,l,s;scanf("%f",&r);l=2*3.14159*r;s=3.14159*r*r;printf("\nl=%.4f",l);printf("\ns=%.4f",s);}1/30/202529/*ch3_12.c*/#include<math.h>#include<stdio.h>main(){floata,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.2f\n",a,b,c,s);printf(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個(gè)人聘用保姆合同范文(2篇)
- 2025年交換機(jī)遠(yuǎn)端維護(hù)合同范文(2篇)
- 2025年度智能化生產(chǎn)線設(shè)備購銷及售后服務(wù)合同
- 2025年度股權(quán)代持協(xié)議范本:互聯(lián)網(wǎng)公司股權(quán)代持服務(wù)合同
- 2025年度租賃房屋合同糾紛處理協(xié)議
- 2025年度跨境電商支付結(jié)算服務(wù)合同:安全便捷與國際化支付協(xié)議
- 2025年度光伏發(fā)電站基礎(chǔ)工程泥工勞務(wù)合同范本
- 2025年度智能交通系統(tǒng)設(shè)備安裝與維護(hù)服務(wù)合同
- 2025年個(gè)人清潔服務(wù)合同(2篇)
- 2025年二手車合同模板質(zhì)保
- 2023年MRI技術(shù)操作規(guī)范
- 辦公用品、易耗品供貨服務(wù)方案
- 病史采集評(píng)分標(biāo)準(zhǔn)-純圖版
- 自行聯(lián)系單位實(shí)習(xí)申請(qǐng)表
- 醫(yī)療廢物集中處置技術(shù)規(guī)范
- 沖動(dòng)式與反動(dòng)式汽輪機(jī)的優(yōu)劣比較
- 國有企業(yè)內(nèi)部審計(jì)工作制度(3篇)
- 媒介社會(huì)學(xué)備課
- 2023年檢驗(yàn)檢測(cè)機(jī)構(gòu)質(zhì)量手冊(cè)(依據(jù)2023年版評(píng)審準(zhǔn)則編制)
- 興??h索拉溝銅多金屬礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 三相分離器原理及操作
評(píng)論
0/150
提交評(píng)論