C語言編程實(shí)踐課程介紹-ppt課件_第1頁
C語言編程實(shí)踐課程介紹-ppt課件_第2頁
C語言編程實(shí)踐課程介紹-ppt課件_第3頁
C語言編程實(shí)踐課程介紹-ppt課件_第4頁
C語言編程實(shí)踐課程介紹-ppt課件_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C言語編程實(shí)際言語編程實(shí)際 孫風(fēng)棟孫風(fēng)棟聯(lián)絡(luò)方式:聯(lián)絡(luò)方式:辦公室辦公室A3117: :8483227201 主要內(nèi)容主要內(nèi)容課程體系引見課程體系引見測試測試根本語法回想根本語法回想根底語法練習(xí)根底語法練習(xí)布置大案例布置大案例v第一部分:課程體系引見第一部分:課程體系引見C言言語編語編程程實(shí)際實(shí)際數(shù)據(jù)構(gòu)造數(shù)據(jù)構(gòu)造C言語言語文化根底文化根底內(nèi)容組成內(nèi)容組成C根根底底編編程程60%數(shù)數(shù)據(jù)據(jù)構(gòu)構(gòu)造造25%文文化化根根底底15%100 %C編程實(shí)際編程實(shí)際72學(xué)時(shí)授課內(nèi)容安排學(xué)時(shí)授課內(nèi)容安排 文化文化根底根底數(shù)據(jù)數(shù)據(jù)構(gòu)造構(gòu)造C言語言語3:小案例:小案例200

2、個(gè),任選個(gè),任選=60個(gè)個(gè)大案例大案例8個(gè),任選個(gè),任選=1個(gè)個(gè)1:為每名學(xué)生指定:為每名學(xué)生指定1份無格份無格式的論文,指點(diǎn)學(xué)生完成排式的論文,指點(diǎn)學(xué)生完成排版版 1萬字以上萬字以上+2個(gè)個(gè)Excel案例案例+大案例的設(shè)計(jì)文檔大案例的設(shè)計(jì)文檔+爭爭辯辯PPT2:選擇排序、冒泡排序、插入:選擇排序、冒泡排序、插入排序、快速排序、堆排序、隊(duì)列、排序、快速排序、堆排序、隊(duì)列、堆棧、鏈表、順序表查找、二分堆棧、鏈表、順序表查找、二分法查找、圖的深度優(yōu)先搜索。法查找、圖的深度優(yōu)先搜索。8學(xué)時(shí)學(xué)時(shí)20學(xué)時(shí)學(xué)時(shí)52學(xué)時(shí)學(xué)時(shí)成果物提交成果物提交 1份排好版的論文份排好版的論文1萬字以上,按照大萬字以上,按照

3、大連東軟信息學(xué)院畢業(yè)論文格式要求連東軟信息學(xué)院畢業(yè)論文格式要求+Excel文檔文檔1: 文化根底部分文化根底部分將一切將一切C編程實(shí)際期間實(shí)現(xiàn)的代碼小案例編程實(shí)際期間實(shí)現(xiàn)的代碼小案例+大案例匯總到大案例匯總到1個(gè)工程中,詳見例如。個(gè)工程中,詳見例如。并且至少提交并且至少提交1個(gè)大案例的設(shè)計(jì)文檔。個(gè)大案例的設(shè)計(jì)文檔。2:代碼:代碼+設(shè)計(jì)文檔設(shè)計(jì)文檔3:爭辯:爭辯PPT4.系統(tǒng)測試系統(tǒng)測試1.需求分析需求分析2. 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)3.系統(tǒng)編碼系統(tǒng)編碼5. 初步培育學(xué)生的軟件工程思想,可以完成工程的需求分析、系統(tǒng)設(shè)計(jì)、初步培育學(xué)生的軟件工程思想,可以完成工程的需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)編碼、系統(tǒng)測試等

4、各階段的任務(wù),從而熟習(xí)工程開發(fā)流程,充分鍛煉團(tuán)系統(tǒng)編碼、系統(tǒng)測試等各階段的任務(wù),從而熟習(xí)工程開發(fā)流程,充分鍛煉團(tuán)隊(duì)開發(fā)的協(xié)作才干,積累真實(shí)的工程開發(fā)閱歷,拉近與企業(yè)用人需求的間隔。隊(duì)開發(fā)的協(xié)作才干,積累真實(shí)的工程開發(fā)閱歷,拉近與企業(yè)用人需求的間隔。培育軟件工程思想培育軟件工程思想大案例文檔編寫要求大案例文檔編寫要求排版的排版的論論文、文、excel案例:案例:20分分小案例小案例實(shí)現(xiàn)實(shí)現(xiàn):20分分?jǐn)?shù)數(shù)據(jù)據(jù)構(gòu)構(gòu)造部分造部分實(shí)實(shí)現(xiàn)現(xiàn):20分分大案例大案例實(shí)現(xiàn)實(shí)現(xiàn):20分分文化根底文化根底大案例大案例小案例小案例數(shù)數(shù)據(jù)據(jù)構(gòu)構(gòu)造造共共100分分考核方式考核方式爭辯:爭辯:20分分分級(jí)分級(jí)vA級(jí):級(jí):0

5、最后分?jǐn)?shù)最后分?jǐn)?shù)100;v 提交代碼數(shù)量多、質(zhì)量高。提交代碼數(shù)量多、質(zhì)量高。vB級(jí):級(jí):0最后分?jǐn)?shù)最后分?jǐn)?shù)New-workspace,輸入任務(wù)區(qū)名輸入任務(wù)區(qū)名字字n創(chuàng)建新工程創(chuàng)建新工程nFile-New-Projects-Win 32 Console Application,輸入工程名字,并參輸入工程名字,并參與到任務(wù)區(qū)中與到任務(wù)區(qū)中n創(chuàng)建創(chuàng)建C言語源文件言語源文件nFile-New-Files-C+ Source File,輸入文件名輸入文件名(一定要加后綴一定要加后綴.c),并參與到工程,并參與到工程中中C言語的根本構(gòu)造s程序一程序一/ /* * the first program the

6、 first program* */ / main() main() printf(“welcome printf(“welcome);); C言語的根本構(gòu)造s程序二程序二/ /* * another program another program* */ / main() main() int a, b, m; int a, b, m; scanf(“%d%d scanf(“%d%d, &a, &b);, &a, &b); m = max( a, b ); m = max( a, b ); printf(“ printf(“較大數(shù)是:較大數(shù)是:%dn%dn,

7、m);, m); int max( int x, int y)int max( int x, int y) int r; int r; if( x y ) r = x; if( x y ) r = x; else r = y; else r = y; return r; return r; C數(shù)據(jù)類型根本類型構(gòu)造類型指針類型空類型void定義類型typedef數(shù)值類型字符類型char枚舉類型enum整 型浮點(diǎn)型單精度型float雙精度型double短整型short長整型long整型int數(shù)組構(gòu)造體struct共用體unionC言語的數(shù)據(jù)類型言語的數(shù)據(jù)類型運(yùn)算符和表達(dá)式C運(yùn)運(yùn)算算符符算術(shù)運(yùn)算符:

8、算術(shù)運(yùn)算符:+ - + - * * / % + - / % + -關(guān)系運(yùn)算符:關(guān)系運(yùn)算符: = != = !=邏輯運(yùn)算符:!邏輯運(yùn)算符:! & | & |位運(yùn)算符位運(yùn)算符 : | & | &賦值運(yùn)算符:賦值運(yùn)算符:= = 及其擴(kuò)展及其擴(kuò)展條件運(yùn)算符:條件運(yùn)算符:?:?:逗號(hào)運(yùn)算符:逗號(hào)運(yùn)算符:, ,指針運(yùn)算符:指針運(yùn)算符:* * & &求字節(jié)數(shù)求字節(jié)數(shù) :sizeofsizeof強(qiáng)迫類型轉(zhuǎn)換:類型強(qiáng)迫類型轉(zhuǎn)換:類型分量運(yùn)算符:分量運(yùn)算符:. -. -下標(biāo)運(yùn)算符:下標(biāo)運(yùn)算符:其它其它 :( ) -( ) -C言語中的輸入輸出格式輸出函數(shù)格式輸出函數(shù)

9、-printf格式: printf(“格式控制串,輸出列表數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字關(guān)鍵字修飾符修飾符輸出示例輸出示例整型整型int%dprintf(“%d”, a); printf(“%d%d%d”, x, y, z);雙精度浮點(diǎn)型雙精度浮點(diǎn)型double%lfprintf(“%lf”, m); printf(“%lf%lf”), cm, cn);字符型字符型char%cprintf(“%c”, ch); printf(“%c%c%c%c”, c1, c2, c3, c4);長整型長整型long%ldprintf(“%ld”, b); printf(“%ld%ld”, d1, k2);單精度浮點(diǎn)

10、型單精度浮點(diǎn)型float%fprintf(“%f”, f1); printf(“%f%f%f”, f1, f2, f3);不同數(shù)據(jù)類型變量的混合輸出不同數(shù)據(jù)類型變量的混合輸出printf(“%f%c%d%ld%lf”, f3, ch, x, k2, m);格式輸出函數(shù)格式輸出函數(shù)-printf格式: printf(“格式控制串,輸出列表 printf(“兩個(gè)數(shù)為:兩個(gè)數(shù)為:%d和和%d n, a, b);例:設(shè)例:設(shè)a,b,c變量的值均已賦好,變量的值均已賦好,a=5,b=7,c=7要求屏幕要求屏幕 輸出輸出“三個(gè)數(shù)為:三個(gè)數(shù)為:5,7和和7,較大的為:,較大的為:7。#include mai

11、n()int a,b,c;a=5;b=7;c=7;printf(“三個(gè)數(shù)為:三個(gè)數(shù)為:%d,%d和和%d,較大的為:,較大的為:%dn, a, b,c,c);練習(xí):將上題練習(xí):將上題a,b,c變成變成float類型類型變量應(yīng)該如何修正?變量應(yīng)該如何修正?格式格式: scanf(: scanf(“格式控制串,地址表格式控制串,地址表格式輸入函數(shù)格式輸入函數(shù)-scanf地址表:變量的地址,常用取地址運(yùn)算符地址表:變量的地址,常用取地址運(yùn)算符 &格式修飾符:同格式修飾符:同printf函數(shù)的完全一致函數(shù)的完全一致scanf(“%d%d,&a,&b);例:知三個(gè)例:知三個(gè)int

12、類型變量類型變量a,b,c,從鍵盤輸入它們的值,從鍵盤輸入它們的值分別為分別為3,4,5,并且輸出。,并且輸出。v#include vmain()vvint a,b,c;vprintf(請(qǐng)輸入三個(gè)變量的值:請(qǐng)輸入三個(gè)變量的值:n);vscanf(%d%d%d,&a,&b,&c);vprintf(“三個(gè)數(shù)為:三個(gè)數(shù)為:%d,%d和和%d,較大的,較大的為:為:%dn, a, b,c,c);v練習(xí):將上題練習(xí):將上題a變成變成float類型類型,b,c變成變成char類型變量應(yīng)該如何修正?類型變量應(yīng)該如何修正? if 語句If語句的三種方式語句的三種方式v1if表達(dá)式表達(dá)式

13、語句語句v2if表達(dá)式表達(dá)式v 語句語句1v elsev 語句語句2v3 if -else if-else方式方式 if(表達(dá)式1) 語句1 else if(表達(dá)式2) 語句2 else if(表達(dá)式m) 語句m else 語句nif -else if-else 方式流程圖else if語句構(gòu)造流程圖表達(dá)式1表達(dá)式2假表達(dá)式3表達(dá)式4假語句4語句3語句2語句1語句5假真真真真假switch 語句switch語句是實(shí)現(xiàn)多個(gè)分支的選擇語句語句是實(shí)現(xiàn)多個(gè)分支的選擇語句switch (switch (表達(dá)式表達(dá)式) ) case case 常量表達(dá)式常量表達(dá)式 1 1 :語句:語句1 1 case c

14、ase 常量表達(dá)式常量表達(dá)式 2 2 :語句:語句2 2 case case 常量表達(dá)式常量表達(dá)式 n n :語句:語句n n default default :語句:語句n+1n+1 vswitch語句的執(zhí)行語句的執(zhí)行v入口:入口:v假設(shè)表達(dá)式的值與某一個(gè)假設(shè)表達(dá)式的值與某一個(gè)case后邊的常量表后邊的常量表達(dá)式相等,就從這個(gè)達(dá)式相等,就從這個(gè)case開場,依次執(zhí)行其開場,依次執(zhí)行其后邊的每條語句后邊的每條語句v假設(shè)一切的假設(shè)一切的case語句都不匹配時(shí),就從語句都不匹配時(shí),就從default開場,依次執(zhí)行開場,依次執(zhí)行default后邊的每條語后邊的每條語句句v出口出口v如執(zhí)行到如執(zhí)行到b

15、reak語句,跳出整個(gè)語句,跳出整個(gè)switch語句語句v如沒有遇到如沒有遇到break語句,那么整個(gè)語句,那么整個(gè)switch的的語句執(zhí)行終了后跳出語句執(zhí)行終了后跳出switch語句語句switch 語句語句main() int i=2; switch(i) case 0: printf( i=0); break; case 1: printf( i=1); break; case 2: printf( i=2); break; case 3: printf( i=3); break; default: printf(default); 結(jié)果:結(jié)果:i=2switch 語句語句-例題例題wh

16、ile語句語句whilewhile語句語句while(表達(dá)式表達(dá)式e1) 語句語句s1; s1; e1 真真假假例題例題: 求求s=1+2+3+10 ;s=s+ii=i+1s=0,i=1輸出s當(dāng)當(dāng)i=10時(shí),循時(shí),循環(huán)執(zhí)行環(huán)執(zhí)行這兩條這兩條語句語句 i=10s=s+i;i=i+1;處理該問題的處理該問題的N-S圖圖 定義變量定義變量i,s; i=1,s=0; 輸出輸出s的值的值 例題例題: 求求s=1+2+3+10 ;#include void sumFromOneToTen( )int i, s; /定義循環(huán)變量定義循環(huán)變量i和累加變量和累加變量si=1; /循環(huán)變量賦初始值循環(huán)變量賦初始值

17、s=0; /累加變量根據(jù)實(shí)踐賦初始值累加變量根據(jù)實(shí)踐賦初始值while(i=10) /i從從1變到變到10(即當(dāng)即當(dāng)i=10都需求循環(huán)都需求循環(huán))s += i; /累加累加i+; /循環(huán)變量改動(dòng)值循環(huán)變量改動(dòng)值printf(“s=%d, s);循環(huán)構(gòu)造的三個(gè)要素:循環(huán)構(gòu)造的三個(gè)要素:1、循環(huán)條件:循環(huán)構(gòu)造中的條件表達(dá)式如、循環(huán)條件:循環(huán)構(gòu)造中的條件表達(dá)式如while (i=10)其中,其中,i=10就是循環(huán)條件。就是循環(huán)條件。2、循環(huán)體:在每個(gè)循環(huán)周期均要執(zhí)行一次的語、循環(huán)體:在每個(gè)循環(huán)周期均要執(zhí)行一次的語句序列。如句序列。如while下用下用 括起來的語句序列。括起來的語句序列。3、循環(huán)控制

18、變量:可以決議控制條件是真是假、循環(huán)控制變量:可以決議控制條件是真是假的量,如上例中的變量的量,如上例中的變量i。普通來說,在循環(huán)。普通來說,在循環(huán)體中要有改動(dòng)循環(huán)變量的語句,使得循環(huán)條體中要有改動(dòng)循環(huán)變量的語句,使得循環(huán)條件可以為假,即循環(huán)可以終了而不是無限循件可以為假,即循環(huán)可以終了而不是無限循環(huán)死循環(huán)。環(huán)死循環(huán)。while語句語句for語句forfor語句語句語法:語法:for(e1;e2;e3) 語句語句s1; 語法上要求語法上要求s1是一條語句,是一條語句,假設(shè)有多條語句,必需用假設(shè)有多條語句,必需用 ,使之成為一條復(fù)合語句,使之成為一條復(fù)合語句,從而滿足語法要求。從而滿足語法要求。

19、 e2 e1;真真假假e3;s1;for語句執(zhí)行流程語句執(zhí)行流程#include void sum_1_to_100( )int i, s;s = 0;for( i = 1; i = 100; i+ )s += i; /循環(huán)體循環(huán)體printf(“s=%d, s);例題:求例題:求s=1+2+3+100 ,用,用for語句實(shí)語句實(shí)現(xiàn)?,F(xiàn)。v第四部分:根底語法練習(xí)第四部分:根底語法練習(xí)v標(biāo)題標(biāo)題1:有:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互個(gè)數(shù)字,能組成多少個(gè)互不一樣且無反復(fù)數(shù)字的三位數(shù)?都是多少?不一樣且無反復(fù)數(shù)字的三位數(shù)?都是多少?程序分析:可填在百位、十位、個(gè)位的數(shù)字都是程序分析:可填在百

20、位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成一切的陳列后再去掉不滿足條。組成一切的陳列后再去掉不滿足條件的陳列。件的陳列。v參考答案:參考答案:main()int i,j,k;printf(n);for(i=1;i5;i+) /*以下為三重循環(huán)以下為三重循環(huán)*/for(j=1;j5;j+)for (k=1;k5;k+)if (i!=k&i!=j&j!=k) /*確確保保i、j、k三位互不一樣三位互不一樣*/printf(%d,%d,%dn,i,j,k); v標(biāo)題標(biāo)題2:一個(gè)整數(shù),它加上:一個(gè)整數(shù),它加上100后是一個(gè)完后是一個(gè)完全平方數(shù),再加上全平方數(shù),再加上168又是一個(gè)完全

21、平方數(shù),又是一個(gè)完全平方數(shù),請(qǐng)問該數(shù)是多少?請(qǐng)問該數(shù)是多少? 程序分析:程序分析:在程序分析:程序分析:在10萬以內(nèi)判別,先將該萬以內(nèi)判別,先將該數(shù)加上數(shù)加上100后再開方,再將該數(shù)加上后再開方,再將該數(shù)加上268后再開方,后再開方,假設(shè)開方后的結(jié)果滿足如下條件,即是結(jié)果。假設(shè)開方后的結(jié)果滿足如下條件,即是結(jié)果。 v參考答案:參考答案:#include math.hmain()long int i,x,y,z;for (i=1;iy那么將那么將x與與y的值進(jìn)展交換,的值進(jìn)展交換,然后再用然后再用x與與z進(jìn)展比較,假設(shè)進(jìn)展比較,假設(shè)xz那么將那么將x與與z的值進(jìn)的值進(jìn)行交換,這樣能使行交換,這樣

22、能使x最小。最小。 v參考答案:參考答案:main()int x,y,z,t;scanf(%d%d%d,&x,&y,&z);if (xy) t=x;x=y;y=t; /*交換交換x,y的值的值*/if(xz) t=z;z=x;x=t;/*交換交換x,z的值的值*/if(yz) t=y;y=z;z=t;/*交換交換z,y的值的值*/printf(small to big: %d %d %dn,x,y,z); v標(biāo)題標(biāo)題4:用:用*號(hào)輸出字母號(hào)輸出字母C的圖案。的圖案。程序分析:程序分析:可先用程序分析:程序分析:可先用*號(hào)在紙上寫出號(hào)在紙上寫出字母字母C,再分行輸出。,再

23、分行輸出。v參考答案:參考答案:#include stdio.hmain()printf(Hello C-world!n);printf( *n);printf( *n);printf( * n);printf( *n); v標(biāo)題標(biāo)題5:輸出:輸出9*9口訣??谠E。程序分析:分行與列思索,共程序分析:分行與列思索,共9行行9列,列,i控制行,控制行,j控制列??刂屏?。v參考答案:參考答案:#include stdio.hmain()int i,j,result;printf(n);for (i=1;i10;i+) for(j=1;j10;j+)result=i*j;printf(%d*%d=%

24、-3d,i,j,result); /*-3d表示左對(duì)齊,占表示左對(duì)齊,占3位位*/printf(n);/*每一行后換行每一行后換行*/ v標(biāo)題標(biāo)題6:有一分?jǐn)?shù)序列:有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13.求出這個(gè)數(shù)列的前求出這個(gè)數(shù)列的前20項(xiàng)之和。項(xiàng)之和。程序分析:請(qǐng)抓住分子與分母的變化規(guī)律。程序分析:請(qǐng)抓住分子與分母的變化規(guī)律。v參考答案:參考答案:main()int n,t,number=20;float a=2,b=1,s=0;for(n=1;n2)/*假設(shè)是閏年且月份大于假設(shè)是閏年且月份大于2,總天數(shù)應(yīng)總天數(shù)應(yīng)該加一天該加一天*/sum+;printf(It is the %dth day.,sum);v v 標(biāo)題標(biāo)題8:標(biāo)題:企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤提成。利潤低于:標(biāo)題:企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤提成。利潤低于或等于或等于10萬元時(shí),獎(jiǎng)金可提萬元時(shí),獎(jiǎng)金可提10%;利潤高于;利潤高于10萬元,低萬元,低于于20萬元時(shí),低于萬元時(shí),低于10萬元的部分按萬元的部分按10%提成,高于提成,高于10萬萬元

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論