C語言程序設(shè)計(jì):1 引言_第1頁
C語言程序設(shè)計(jì):1 引言_第2頁
C語言程序設(shè)計(jì):1 引言_第3頁
C語言程序設(shè)計(jì):1 引言_第4頁
C語言程序設(shè)計(jì):1 引言_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第1章章 引言引言主要內(nèi)容主要內(nèi)容程序與程序設(shè)計(jì)語言程序與程序設(shè)計(jì)語言C語言的發(fā)展歷史與特點(diǎn)語言的發(fā)展歷史與特點(diǎn)實(shí)際問題的求解過程實(shí)際問題的求解過程計(jì)算機(jī)的工作原理(補(bǔ)充)計(jì)算機(jī)的工作原理(補(bǔ)充)教學(xué)目標(biāo)、重點(diǎn)和難點(diǎn)教學(xué)目標(biāo)、重點(diǎn)和難點(diǎn)n教學(xué)目標(biāo)教學(xué)目標(biāo)q掌握掌握 C 程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)q熟悉熟悉DEV C+(或(或VC+ 6.0)集成開發(fā)環(huán)境,集成開發(fā)環(huán)境,掌握掌握在集成開發(fā)環(huán)境在集成開發(fā)環(huán)境中編輯、編譯、連接中編輯、編譯、連接和運(yùn)行和運(yùn)行C程序的程序的過程,初步認(rèn)識(shí)程序調(diào)試的方法過程,初步認(rèn)識(shí)程序調(diào)試的方法q了解程序、算法和流程圖的概念了解程序、算法和流程圖的概念n教學(xué)重點(diǎn)教學(xué)

2、重點(diǎn)qC語言程序的基本結(jié)構(gòu)語言程序的基本結(jié)構(gòu)qC程序執(zhí)行過程程序執(zhí)行過程n教學(xué)難點(diǎn)教學(xué)難點(diǎn)q程序流程圖程序流程圖qC程序的運(yùn)行調(diào)試程序的運(yùn)行調(diào)試程序程序:為了讓計(jì)算機(jī)解決某個(gè)問題而編寫的一系列:為了讓計(jì)算機(jī)解決某個(gè)問題而編寫的一系列有序有序 的計(jì)算機(jī)指令的集合的計(jì)算機(jī)指令的集合。什么是程序?什么是程序?n問題:輸入問題:輸入3個(gè)數(shù)個(gè)數(shù)A、B、C,求,求A+B-C的值。的值。 Input A; /輸入第輸入第1個(gè)數(shù)據(jù)到存儲(chǔ)單元個(gè)數(shù)據(jù)到存儲(chǔ)單元A中中 Input B; /輸入第輸入第2個(gè)數(shù)據(jù)到存儲(chǔ)單元個(gè)數(shù)據(jù)到存儲(chǔ)單元B中中 Input C; /輸入第輸入第3個(gè)數(shù)據(jù)到存儲(chǔ)單元個(gè)數(shù)據(jù)到存儲(chǔ)單元C中中

3、Add A B D; /將將A、B中的數(shù)據(jù)相加,結(jié)果存到中的數(shù)據(jù)相加,結(jié)果存到D中中 Sub D C D; /將將D、C中的數(shù)據(jù)相減,結(jié)果存到中的數(shù)據(jù)相減,結(jié)果存到D中中 Output D; /輸出輸出D中的數(shù)據(jù)中的數(shù)據(jù)實(shí)質(zhì):用于編制程序的計(jì)算機(jī)實(shí)質(zhì):用于編制程序的計(jì)算機(jī)指令集合指令集合。問題:輸入問題:輸入3個(gè)數(shù)個(gè)數(shù)A、B、C,求,求A+B-C的值。的值。匯編語言匯編語言 機(jī)器語言機(jī)器語言 高級(jí)語言高級(jí)語言10111000000100101011100000010011101110000001010011000000什么是程序設(shè)計(jì)語言?什么是程序設(shè)計(jì)語言?種類:機(jī)器語言、匯編語言、高級(jí)語言種

4、類:機(jī)器語言、匯編語言、高級(jí)語言Input A; Input B; Input C; Add A B D; Sub D C D; Output D;以以C語言為例語言為例#include void main() int a,b,c,d; scanf(“%d%d%d”,&a,&b,&c); d=a+b-c; printf(%dn, d); 匯編匯編編譯編譯n表示數(shù)據(jù)表示數(shù)據(jù)q數(shù)據(jù)類型數(shù)據(jù)類型n存儲(chǔ)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)q常量常量/變量變量n處理數(shù)據(jù)處理數(shù)據(jù)q運(yùn)算符運(yùn)算符/表達(dá)式表達(dá)式q數(shù)據(jù)處理的流程控制數(shù)據(jù)處理的流程控制n順序結(jié)構(gòu)n選擇 (分支)結(jié)構(gòu)n循環(huán)結(jié)構(gòu)程序設(shè)計(jì)語言的功能程序

5、設(shè)計(jì)語言的功能n例題:在屏幕上顯示例題:在屏幕上顯示: :C 語言語法語言語法編譯預(yù)處理命令編譯預(yù)處理命令主函數(shù)主函數(shù)塊注釋塊注釋行行(尾尾)注釋注釋#include int main( ) /返回值為整型返回值為整型 int a,b,sum; /* 變量定義變量定義*/ a = 3; /* 變量使用變量使用*/ b = 2; sum = a+b; printf(“The sum is %d n”, sum ); /輸出結(jié)果輸出結(jié)果 return 0; /返回返回0 = 賦值運(yùn)算符賦值運(yùn)算符例題:計(jì)算并顯示兩個(gè)數(shù)的和例題:計(jì)算并顯示兩個(gè)數(shù)的和%d 輸入輸出函數(shù)中的輸入輸出函數(shù)中的“格式字符串格

6、式字符串”,表示以十進(jìn)制整數(shù)的,表示以十進(jìn)制整數(shù)的 形式形式在在%d的位置輸出的位置輸出sum的值。的值。#include int main() int a,b,sum; /* 變量定義變量定義*/ a=3; b=2; /* 變量使用變量使用*/ sum=a+b; printf( ); /*輸出結(jié)果輸出結(jié)果*/ return 0;“%d+%d=%dn”,a,b,sum例題:計(jì)算兩個(gè)數(shù)的和例題:計(jì)算兩個(gè)數(shù)的和,以算式形式顯示以算式形式顯示能否為:能否為:printf(“a+b=sumn”);NO例題:輸入兩個(gè)數(shù),顯示它們的和值。例題:輸入兩個(gè)數(shù),顯示它們的和值。a,b的地址的地址小結(jié):小結(jié):C語

7、言程序的語言程序的語法成分語法成分n關(guān)鍵字關(guān)鍵字(保留字保留字)qC語言規(guī)定的具有特殊意義的詞匯語言規(guī)定的具有特殊意義的詞匯n運(yùn)算符運(yùn)算符n常量常量n注釋注釋n分隔符分隔符q逗號(hào)和空格逗號(hào)和空格n標(biāo)識(shí)符標(biāo)識(shí)符不是關(guān)鍵字不是關(guān)鍵字標(biāo)識(shí)符標(biāo)識(shí)符n概念概念q由程序員自由命名的由程序員自由命名的字符序列字符序列。類似。類似變量名變量名、函數(shù)名函數(shù)名等。等。q說明:說明:C語言要求語言要求“先定義、后使用先定義、后使用”。n命名規(guī)則命名規(guī)則q字母字母、數(shù)字?jǐn)?shù)字、下劃線下劃線組成,且組成,且首首字字符不能為數(shù)字符不能為數(shù)字符號(hào)。符號(hào)。q不能使用不能使用關(guān)鍵字關(guān)鍵字,嚴(yán)格區(qū)分嚴(yán)格區(qū)分大小寫大小寫。例例如如:

8、 :試指出試指出下列標(biāo)識(shí)符下列標(biāo)識(shí)符中不中不合法合法的哪些?的哪些?sum Sum M.D.John Int Date 3days student_name #33 lotus_1_2_3 char M.D.John3days#33char例例題題1-1:輸入:輸入n,顯示,顯示n!#include /* 編譯預(yù)處理命令編譯預(yù)處理命令 */int fact(int n); /*計(jì)算計(jì)算n的階乘的函數(shù)聲明的階乘的函數(shù)聲明*/void main(void) /* 主函數(shù)主函數(shù) */ int n; /* 變量定義變量定義 */scanf(%d, &n); /* 輸入一個(gè)整數(shù)輸入一個(gè)整數(shù) */

9、printf(%dn, fact(n); /* 調(diào)用計(jì)算階乘的函數(shù)調(diào)用計(jì)算階乘的函數(shù)*/n程序如下:程序如下:int fact(int n) /* 定義一個(gè)求定義一個(gè)求 n! 的自定義函數(shù)的自定義函數(shù) fact*/ int i, result = 1; /* 定義計(jì)算定義計(jì)算 n! 的函數(shù)的函數(shù) */ for(i = 1; i = n; i+) /* 循環(huán)循環(huán) */ result = result * i; return result; /* 返回函數(shù)的計(jì)算結(jié)果返回函數(shù)的計(jì)算結(jié)果 */函數(shù)函數(shù)定義:兩部分構(gòu)成定義:兩部分構(gòu)成n第一部分:第一部分:函數(shù)首部函數(shù)首部 int fact ( int

10、n )函數(shù)的第函數(shù)的第1 1行行返回值返回值類型類型函數(shù)名函數(shù)名參數(shù)類型參數(shù)類型參數(shù)參數(shù)名名 說明說明:若若函數(shù)函數(shù)無返回值,則使用無返回值,則使用void表示;表示; 例如:例如:int main(void) 或或 void main()例如:例如:void main( )若若函數(shù)函數(shù)無無參參數(shù)數(shù),在括弧中寫,在括弧中寫voidvoid或或空括弧空括弧函數(shù)函數(shù)定義定義n第二部分:第二部分:函數(shù)函數(shù)體體q由由 括起的括起的0到多條語句構(gòu)成,到多條語句構(gòu)成, 不能省略不能省略;q語句以語句以;作為結(jié)束標(biāo)志作為結(jié)束標(biāo)志,標(biāo)點(diǎn)符號(hào)為標(biāo)點(diǎn)符號(hào)為英文半角英文半角形式。形式。q一一條條語句可以語句可以分寫

11、在多行分寫在多行,一行內(nèi)一行內(nèi)也也可寫可寫0到多條到多條語語句句;q若函數(shù)返回值類型若函數(shù)返回值類型不為不為void,則函數(shù)內(nèi)需使用則函數(shù)內(nèi)需使用return語句語句返回指定類型的運(yùn)算結(jié)果。返回指定類型的運(yùn)算結(jié)果。int fact(int n) int i, result = 1; for(i = 1; i = n; i+) result = result * i; return result;int fact(int n) int i,result=1;for(i=1;i=n; i+) result=result*i;return result;小結(jié):小結(jié):C語言程序的結(jié)構(gòu)語言程序的結(jié)構(gòu)特點(diǎn)

12、特點(diǎn)n函數(shù)是函數(shù)是構(gòu)成構(gòu)成C語言程序的語言程序的基本單位基本單位,一個(gè),一個(gè)C程序由程序由一到多個(gè)函數(shù)組成(一到多個(gè)函數(shù)組成(C語言也稱為語言也稱為函數(shù)式的語言函數(shù)式的語言););n每個(gè)函數(shù)都每個(gè)函數(shù)都可可實(shí)現(xiàn)一個(gè)特定功能實(shí)現(xiàn)一個(gè)特定功能,一個(gè)函數(shù)內(nèi)可以一個(gè)函數(shù)內(nèi)可以調(diào)調(diào)用另一個(gè)函數(shù)用另一個(gè)函數(shù)(函數(shù)之間通過相互調(diào)用建立聯(lián)系)(函數(shù)之間通過相互調(diào)用建立聯(lián)系);n被調(diào)用函數(shù)可以是被調(diào)用函數(shù)可以是自定義自定義函數(shù)函數(shù),也可以也可以是是庫函數(shù)庫函數(shù);n在在一個(gè)一個(gè)C語言語言程序程序中中有且只有有且只有一個(gè)一個(gè)main函數(shù)函數(shù)(又稱主又稱主函數(shù)函數(shù)),程序總是程序總是從從main函數(shù)開始執(zhí)行函數(shù)開始執(zhí)

13、行,最終,最終在在main函數(shù)函數(shù)中結(jié)束中結(jié)束,main函數(shù)在程序中的函數(shù)在程序中的位置任意位置任意;#include int main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum); return 0;采用鋸齒形書寫格式采用鋸齒形書寫格式使用使用TABTAB縮進(jìn)縮進(jìn) 對齊對齊有足夠的注釋有足夠的注釋有合適的空行有合適的空行形成良好的程序設(shè)計(jì)風(fēng)格形成良好的程序設(shè)計(jì)風(fēng)格第第1章章 引言引言主要內(nèi)容主要內(nèi)容程序與程序設(shè)計(jì)語言程序與程序設(shè)計(jì)語言C語言的發(fā)展歷史與特點(diǎn)語言

14、的發(fā)展歷史與特點(diǎn)實(shí)際問題的求解過程實(shí)際問題的求解過程計(jì)算機(jī)的工作原理(補(bǔ)充)計(jì)算機(jī)的工作原理(補(bǔ)充)編程語言低級(jí)高級(jí)C 語言是貝爾實(shí)驗(yàn)室的 Dennis Ritchie 在1973 年設(shè)計(jì)的。主要版本:ANSI C(1983)、 ANSI C(1989)、ISO C(1999)C語言的歷史(語言的歷史(自學(xué)自學(xué))在微機(jī)上,有許多性能良好的C語言系統(tǒng)可用。包括Turbo C、Borland C/C+;Microsoft Visual C/C+;Dev C+ 等。 C語言的特點(diǎn)(語言的特點(diǎn)(自學(xué)自學(xué))n語言語言簡潔簡潔、緊湊,使用方便、靈活。、緊湊,使用方便、靈活。37(32:C89)個(gè)關(guān)鍵字,個(gè)

15、關(guān)鍵字,9種控制語句種控制語句n運(yùn)算符運(yùn)算符豐富豐富。 34種運(yùn)算符種運(yùn)算符(將括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等作將括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等作為運(yùn)算符為運(yùn)算符)。n數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)豐富豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。標(biāo)準(zhǔn)類型、,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。標(biāo)準(zhǔn)類型、構(gòu)造類型、指針類型。構(gòu)造類型、指針類型。n語法限制不太嚴(yán)格,程序設(shè)計(jì)語法限制不太嚴(yán)格,程序設(shè)計(jì)自由自由度大。例如:整型數(shù)據(jù)與度大。例如:整型數(shù)據(jù)與字符型數(shù)據(jù)可以通用。字符型數(shù)據(jù)可以通用。nC語言可以直接訪問物理地址。能實(shí)現(xiàn)匯編語言的大部分功能,語言可以直接訪問物理地址。能實(shí)現(xiàn)匯編語言的大部分功能,可以直接對硬件進(jìn)行操作可以直接對硬

16、件進(jìn)行操作-功能功能強(qiáng)大強(qiáng)大。n目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高-高效高效。n程序可移植性好程序可移植性好-易移植易移植。第第1章章 引言引言主要內(nèi)容主要內(nèi)容程序與程序設(shè)計(jì)語言程序與程序設(shè)計(jì)語言C語言的發(fā)展歷史與特點(diǎn)語言的發(fā)展歷史與特點(diǎn)實(shí)際問題的求解過程實(shí)際問題的求解過程計(jì)算機(jī)的工作原理(補(bǔ)充)計(jì)算機(jī)的工作原理(補(bǔ)充)n問題分析與算法設(shè)計(jì)問題分析與算法設(shè)計(jì)q算法算法:解決某一問題的具體方法與步驟。解決某一問題的具體方法與步驟。實(shí)際問題的求解過程實(shí)際問題的求解過程定義累加變量定義累加變量i,和變量,和變量sum=0;i=1當(dāng)當(dāng)i=100時(shí)轉(zhuǎn),否則轉(zhuǎn)時(shí)轉(zhuǎn),否則轉(zhuǎn)若若i是

17、偶數(shù)則轉(zhuǎn),否則轉(zhuǎn)是偶數(shù)則轉(zhuǎn),否則轉(zhuǎn) sum=sum+ii=i+1,轉(zhuǎn),轉(zhuǎn)輸出輸出sum的值的值問題問題:求:求1到到100之間所有偶數(shù)的和。之間所有偶數(shù)的和。自然語言描述自然語言描述的算法的算法n自然語言自然語言n流程圖流程圖算法的描述方法算法的描述方法假標(biāo)準(zhǔn)流程圖標(biāo)準(zhǔn)流程圖結(jié)構(gòu)化流程圖結(jié)構(gòu)化流程圖順序順序結(jié)構(gòu)結(jié)構(gòu)分支分支結(jié)構(gòu)結(jié)構(gòu)循環(huán)循環(huán)結(jié)構(gòu)結(jié)構(gòu)AB真真假假PAB真真假假A條件P P真真假假當(dāng)為當(dāng)為“真真”求求1到到100之間所有偶數(shù)的和的流程圖之間所有偶數(shù)的和的流程圖顯示顯示sumsum=0;i=1i=100真真假假sum=sum+i;i=i+1P真真假假sum=0 ;i=1;i=100 輸

18、出輸出sumsum的值的值sum=sum+i; i=i+1;P真真假假標(biāo)準(zhǔn)流程圖標(biāo)準(zhǔn)流程圖結(jié)構(gòu)化流程圖結(jié)構(gòu)化流程圖P:i是偶數(shù)?是偶數(shù)?n編輯程序編輯程序?qū)嶋H問題的求解過程實(shí)際問題的求解過程sum=0 ;i=1;i=100 輸出輸出sumsum的值的值sum=sum+i; i=i+1;P真真假假q程序如下程序如下#include int main( ) int i=1,sum=0; while( imax?真真假假cmax?max=c真真假假輸出輸出max的值的值繪制繪制NS算法流程圖算法流程圖-課堂練習(xí)課堂練習(xí)nC語言實(shí)現(xiàn)的程序:語言實(shí)現(xiàn)的程序:#include int main( ) in

19、t a,b,c,max; scanf(%d%d%d,&a,&b,&c); max=a; if ( bmax ) max=b; if ( cmax ) max=c; printf(%d,%d,%d,max=%dn,a,b,c,max); return 0; if (maxb) max=b; if (maxc) max=c; 繪制繪制NS算法流程圖算法流程圖-課堂練習(xí)課堂練習(xí)n問題:輸入問題:輸入10個(gè)數(shù),求其中的最大值。個(gè)數(shù),求其中的最大值。輸入數(shù)輸入數(shù)m mmax=mk max真真假假輸出輸出 maxmaxk=k+1k=1max=mk max真真假假輸出輸出 maxmaxk=k+1k=0max=mk= =0真真假假max=m第第1章章 引言引言主要內(nèi)容主要內(nèi)容程序與程序設(shè)計(jì)語言程序與程序設(shè)計(jì)語言C語言的發(fā)展歷史與特點(diǎn)語言的發(fā)展歷史與特點(diǎn)實(shí)際問題的求解過程實(shí)際問題的求解過程計(jì)算機(jī)的工作原理計(jì)算機(jī)的工作原理實(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論