第1章 C語言概述與開發(fā)環(huán)境_第1頁
第1章 C語言概述與開發(fā)環(huán)境_第2頁
第1章 C語言概述與開發(fā)環(huán)境_第3頁
第1章 C語言概述與開發(fā)環(huán)境_第4頁
第1章 C語言概述與開發(fā)環(huán)境_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、C程序設計程序設計主講:袁國剛主講:袁國剛EMAIL: 作業(yè)上交:作業(yè)上交:Ftp:/99 2課程說明n教材教材:C C語言程序設計教程語言程序設計教程 龔本燦龔本燦 高教高教n學時安排學時安排: 48學時學時= =32學時(理論)學時(理論)+ +16學時學時n考試形式考試形式:上機考試:包括理論(選擇題)和操作題上機考試:包括理論(選擇題)和操作題n成績評定成績評定:平時成績平時成績30,考試成績,考試成績70 n答疑答疑:求索學堂:求索學堂3學習方法n難難:學語言,學習(積累)算法n練練:課外課外時間,多上機,多練習多練習n問問:相互啟發(fā)(問老師,問同學)n總結

2、總結:舉一反三(歸類學習和一題多解)n按時完成作業(yè)作業(yè)(上機驗證)n一般方法一般方法:能讀懂模仿獨立編程第一章第一章 C 語言概述51.1計算機程序設計語言發(fā)展n計算機語言的分類n機器(二進制)語言:n匯編語言:指令助記符n高級語言(面向過程、面向對象):語句(C語言面向過程的高級語言高級語言)n程序(某種語言源程序):指令/語句構成n各類計算機語言的特點機器語言機器語言:由0、1組成,編程難,對計算機硬件控制、操作容易,直接執(zhí)行匯編語言匯編語言:由指令助記符組成,編程難(比機器語言容易),需匯編成機器語言匯編程序高級語言高級語言:易使用,對硬件操作有限(一般),需編譯或解釋才能執(zhí)行(轉換為二

3、進制)編譯程序61.1計算機程序設計語言發(fā)展n高級語言的執(zhí)行:必須轉換為機器語言高級語言機器語言n編譯:整個原程序編譯生成一個EXE文件,可以脫離語言環(huán)境(C語言需要編譯)n解釋:翻譯一句,執(zhí)行一句(需要語言環(huán)境)編譯/解釋、鏈接71.2 C語言的發(fā)展及特點語言的發(fā)展及特點 nC語言的發(fā)展簡介1978年產(chǎn)生,隨后出現(xiàn)多個版本。教學使用版本:語法Turbo C環(huán)境VC+C語言源程序,擴展名 .C .CPP81.3 簡單的簡單的C語言程序語言程序 1.函數(shù)#include void main() /主函數(shù) int a,b,s; /定義變量 a=123;b=234; /使用賦值語句賦值 s=a+b;

4、 /求和并賦值 printf(“sum=%dn”,s); /用輸出函數(shù)輸出 1.主函數(shù);主函數(shù);2.每條語句以分號結束;每條語句以分號結束;3.變量小寫;變量小寫;4.輸出函數(shù);輸出函數(shù);5.注釋注釋91.3 簡單的簡單的C語言程序語言程序 #include void main() /主函數(shù) int max(int,int);/函數(shù)說明int a,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b); /調用max函數(shù)printf (“max=%dn”,c); int max(int x,int y) /定義max函數(shù)int z;if(xy) z=x;else

5、 z=y; return(z); /返回函數(shù)體函數(shù)首部101.3 簡單的簡單的C語言程序語言程序 1.C程序是由函數(shù)構成的(函數(shù)語言),一個C源程序至少需要一個主函數(shù)main,同時,輸入、輸出也由函數(shù)(不是語句)完成;2.一個C程序總是由main函數(shù)開始執(zhí)行,無論它在程序中位置如何,因此main函數(shù)必不可少;3.通常一個函數(shù)包括函數(shù)首部和函數(shù)體兩部分。函數(shù)首部是對函數(shù)的類型、名稱及函數(shù)參數(shù)的說明;函數(shù)體由一對括起,它分為變量定義以及語句部分。(函數(shù)體也可以為空)。4.一行可以寫幾個語句,中間用分號隔開即可;111.3 C語言概要5.每條語句必須以 ;(分號)結束;6.用/*.*/或/ 注釋內(nèi)容

6、;7.區(qū)分字母大小寫。 12C程序編程風格1.一個說明或一個語句盡量占一行。 2.一般與該結構語句的第一個字母對齊,并單獨占一行。 3.低一層次的語句或說明可比高一層次的語句或說明縮進一個 Tab鍵位。以便使程序更加清晰,可讀性更強。4.添加必要的注釋 13C程序編程風格VC+C語言上機環(huán)境與上機調試15VC上機環(huán)境程序運行步驟1)進入:開始菜單程序16C語言上機步驟(VC環(huán)境)2)新建vc源文件(文件新建:Ctrl+N)選位置選位置給文件名給文件名選源文件選源文件17C語言上機步驟(VC環(huán)境)3)編寫程序:18C語言上機步驟(VC環(huán)境)4)保存程序:(文件保存/另存為)19C語言上機步驟(V

7、C環(huán)境)5)編譯程序:20C語言上機步驟(VC環(huán)境)6)結果:可執(zhí)行文件可執(zhí)行文件所在位置所在位置C源程序源程序21C語言上機步驟(VC環(huán)境)7)執(zhí)行程序: (工具欄的! 或者 Ctrl+F5)22C語言上機步驟(VC環(huán)境)7)執(zhí)行程序: (工具欄的! 或者 Ctrl+F5)編譯連接執(zhí)行23C語言上機步驟(VC環(huán)境)8)重新開始編寫:(關閉工作區(qū)新建)24C語言上機步驟(VC環(huán)境)9)打開原有源程序:25C語言上機步驟(VC環(huán)境)程序調試流程26C語言上機步驟(VC環(huán)境)10)跟蹤調試:斷點、單步執(zhí)行、WATCH設置或取消斷點斷點標志進入調試27一一.經(jīng)典公式經(jīng)典公式程序 = 數(shù)據(jù)結構 + 算

8、法(Wirth)n數(shù)據(jù)結構:被加工對象n算法:解決特定問題的方法、步驟(怎么做)n描述算法的三種基本結構:順序、選擇、循環(huán)n順序:指令順序執(zhí)行順序執(zhí)行n選擇:根據(jù)條件執(zhí)行不同的語句序列n循環(huán):重復執(zhí)行某個語句序列n算法:程序的靈魂,它決定程序的效率(速度、空間)1.5 算法及其描述算法及其描述 28二二.算法的特點算法的特點有窮性有窮性:有限個步驟(避免死循環(huán))確定性確定性:每個步驟無二意性;只有一個初始和后續(xù)動作有效性有效性:計算機能進行的操作(不能有錯)有零個或多個輸入有零個或多個輸入:可以沒有有一個或多個輸出有一個或多個輸出:一定有1.5 算法及其描述算法及其描述291.5 算法及其描述

9、算法及其描述三三.算法的表示:算法的表示:1流程圖:流程圖:1)元素:處理判斷輸入/輸出預定義過程起止流程線連接注釋301.5 算法及其描述算法及其描述三三.算法的表示:算法的表示:1流程圖:流程圖:2)三種結構:S1S2S3PS1S2真假PS2假真(a)順序結構)順序結構 (b)選擇結構)選擇結構 (c)重復結構)重復結構 311.5 算法及其描述算法及其描述三三.算法的表示:(算法的表示:(重點討論重點討論N-S結構圖結構圖)2.N-S結構圖:省略流程線,用矩形框表示結構圖:省略流程線,用矩形框表示(1)結構化程序設計的三種基本結構:)結構化程序設計的三種基本結構:1)順序結構:2)選擇結

10、構:AB 條件條件 真真 假假A B 條件條件 真真 假假 A 321.5 算法及其描述算法及其描述三三.算法的表示:(重點討論算法的表示:(重點討論N-S結構圖)結構圖)2.N-S結構圖:結構圖: 3)循環(huán)結構: 當型循環(huán)直到型循環(huán)4 .偽代碼偽代碼介于自然語言與計算機語言之間的文字符號算法描述的工介于自然語言與計算機語言之間的文字符號算法描述的工具具。借助某種高級語言的結構,中間的操作可以用自然語。借助某種高級語言的結構,中間的操作可以用自然語言,也可以用程序設計語言,或使用自然語言與程序設計言,也可以用程序設計語言,或使用自然語言與程序設計語言的混合體。一般語言的混合體。一般專業(yè)人員習慣

11、用偽代碼進行算法描述專業(yè)人員習慣用偽代碼進行算法描述。當條件為真當條件為真 A A直到條件為真直到條件為真331.5 算法及其描述算法及其描述四四.算法舉例:算法舉例:例1:從三個數(shù)中取最大數(shù)從三個數(shù)中取最大數(shù)a=b輸入a,b,cmax=a真假max=bmax=c真假輸出max輸出c開始結束i=maxmax=n輸入一個nmax=n341.5 算法及其描述算法及其描述四四.算法舉例:算法舉例:例2:求5!算法(累乘)(x=1*2*3*4*5)1 t2 i直到 i 5t*i ti+1 i 輸出t351.5 算法及其描述算法及其描述四四.算法舉例:算法舉例:例3:求1+2+3+100(累加)0 su

12、m1 i直到 i 100sum+i sumi+1 i 361.5 算法及其描述算法及其描述四四.算法舉例算法舉例: (偽代碼)(偽代碼)【例例1-71-7】從鍵盤輸入一個自然數(shù)從鍵盤輸入一個自然數(shù)n n,求,求n n!。!。371.5.2語句1、控制語句、控制語句1)if ( ) else 2)for ( ) 3)while ( ) 4)do while ( )5)continue6)break7)switch*8)goto9)return條件語句條件語句for循環(huán)語句循環(huán)語句當型當型循環(huán)語句循環(huán)語句直到型直到型循環(huán)語句循環(huán)語句結束本次循環(huán)語句結束本次循環(huán)語句終止執(zhí)行終止執(zhí)行switch或循環(huán)

13、語句或循環(huán)語句多分支選擇語句多分支選擇語句轉向語句轉向語句從函數(shù)返回語句從函數(shù)返回語句2、函數(shù)調用語句、函數(shù)調用語句由一次函數(shù)調用加一個分號構成一個語句由一次函數(shù)調用加一個分號構成一個語句例:例: printf ( “How do you do ?”) ;3、表達式語句表達式語句由一個表達式加一個分號構成一個語句由一個表達式加一個分號構成一個語句例:例:a = 5 ; i + ; y = y+1 ; . if ( ( a = b) 0 ) x = a+1 ; if ( ( a = b ; ) 0 ) x = a+1 ; 注意:沒有分號就是表達式,而不是語句。注意:沒有分號就是表達式,而不是語句

14、。1.5.2語句4、空語句、空語句(什么也不做)什么也不做)只有一個分號的語句只有一個分號的語句例:例: ;5、復合語句復合語句/塊語句塊語句(用于條件語句或循環(huán)體)(用于條件語句或循環(huán)體)用用 把一些語句括起來構成復合語句把一些語句括起來構成復合語句例:例: a = 5 ; b = a+1 ; printf ( “a=%d ,b=%d” , a ,b ) ; 1.5.2語句40 1、printf 函數(shù)(格式函數(shù)(格式輸出函數(shù))輸出函數(shù)) 作用:向控制臺輸出若干個各種類型的數(shù)據(jù)作用:向控制臺輸出若干個各種類型的數(shù)據(jù) 格式:格式:printf ( “格式控制格式控制”,輸出表列,輸出表列 ) ;

15、 非格式字符(含轉義字符)非格式字符(含轉義字符) 原樣輸出原樣輸出 格式說明格式說明 (%和格式字符)和格式字符) 變量變量 表達式表達式格式控制格式控制輸出表列輸出表列(逗號分隔,替換格式(逗號分隔,替換格式符,數(shù)量一致)符,數(shù)量一致)1.6 格式化輸入、輸出函數(shù)格式化輸入、輸出函數(shù) 41%d 或 %md:(按m位)輸出十進制整型數(shù);(負號占1位)%ld 、%mld :(按m位)輸出十進制長整型數(shù);%o、%x、%u:以8進制、16進制、無符號十進制數(shù)輸出;%c:輸出一個字符;%s、%ms、%-ms、%m.ns、%-m.ns:字符串對齊輸出字符串對齊輸出輸出字符串、占m位、輸出n位、- 靠左

16、;%f、%m.nf、%-m.nf: 輸出float(小數(shù)形式)、共占m位、n位小數(shù)、- 靠左;%lf、%m.nlf、%-m.nlf: 輸出double(小數(shù)形式)、共占m位、n位小數(shù)、- 靠左;%e等42例:例:Main ( ) int a = 5 , b = 6 ; float x = 111111.111 , y = 222222.222 ; 運行結果:運行結果: Printf ( “%d %d n ” , a , b ) ; 5 6 Printf ( “a = %d , b = %d n ” , a , b ) ; a = 5 , b = 6 Printf ( “ %f ” , x +

17、y ) ; 333333.32812543 4、scanf 函數(shù)(函數(shù)(格式輸入函數(shù))格式輸入函數(shù)) 作用:由控制臺輸入若干個各種類型的數(shù)據(jù)作用:由控制臺輸入若干個各種類型的數(shù)據(jù) 格式:格式:scanf ( “格式控制格式控制”,地址表列,地址表列 ) ; 格式說明格式說明 (%和格式字符)和格式字符) 非格式字符(非格式字符(照原樣輸入照原樣輸入) 變量地址(取址操作符變量地址(取址操作符 &) 數(shù)組名(數(shù)組名表示地址)數(shù)組名(數(shù)組名表示地址)格式控制:格式控制:地址表列:地址表列:2.4 數(shù)據(jù)的控制臺輸入與輸出44非格式字符:(輸入時照原樣輸入) 注意: 格式串尾不要加n 例:sc

18、anf(“a=%d”,&a); 輸入:a=3格式字符:(l、h可用于d和f,表長和短型) %d、%ld、%o、%x、%c、%s、%f、%lf (常用)注意:1)格式控制中無分隔符,則輸入時用空格、回車、Tab分隔數(shù)據(jù)均可 2)一般無域寬控制,加域寬表示讀取指定長度; 3) * 表示丟棄該項輸入數(shù)據(jù) 4)實數(shù)用%f、%lf; 5)提示信息由printf提供。例:scanf(“%d%d”,&a,&b); 輸入:3 5 或35或3 5 45例:例:Main ( ) int a , b , c , d ; float x , y ; 運行時輸入:運行時輸入: scanf ( “

19、%d %d” , &a , &b) ; 5 6 scanf ( “c=%d,d=%d” , &c , &d) ; c = 5 , d = 6 scanf ( “%f,%f” , &x , &y) ; 3.5 , 4 Printf ( “%d %d n ” , a , b ) ; 運行運行結果結果: 5 6 Printf ( “ %6d%6d n ” , c , d ) ; 5 6 Printf ( “ %8.2f ,%8.2f” , x , y ) ; 3.50, 4.00461、printf ( ) 和和 scanf ( ) 中的中的“格式控制

20、格式控制”中的字符串中的字符串含含 義詳見書義詳見書;2、printf ( ) 中的中的 “輸出表列輸出表列” 是一連串由是一連串由 “ , ” 隔隔開的開的 變量及表達式;變量及表達式;3、scanf ( ) 中是中是變量地址變量地址 , 而不是而不是變量名變量名或或表達式表達式;4、scanf ( ) 的的 “格式控制格式控制” 字串中的字串中的非格式字符非格式字符(盡盡量量 不要有不要有),照原樣輸入;照原樣輸入; 注意:注意:47例:例:scanf ( “%d,%d”,&a,&b); 應輸入:應輸入:23,32 6、# include “stdio.h” 。48n例:輸

21、入3個整數(shù),求它們的和并輸出#include /#include /注明輸入輸出函數(shù)使用的頭文件注明輸入輸出函數(shù)使用的頭文件void main()void main()/定義主函數(shù)定義主函數(shù) int x,y,z,sum;int x,y,z,sum;/定義變量定義變量printf(“printf(“請輸入三個整數(shù):請輸入三個整數(shù):); /); /顯示輸入提示信息顯示輸入提示信息scanf(%d%d%d,&x,&y,&z);scanf(%d%d%d,&x,&y,&z);/調用庫函數(shù)從鍵盤輸調用庫函數(shù)從鍵盤輸入數(shù)據(jù)入數(shù)據(jù)sum=x+y+z;sum=x+

22、y+z;/計算兩個數(shù)之差的絕對值計算兩個數(shù)之差的絕對值printf(printf(結果為:結果為:sum=%dn,sum);sum=%dn,sum);/顯示結果顯示結果 49概述(總結)nC程序的基本結構(函數(shù)語言,main,分號)n函數(shù)的構成和初步使用:函數(shù)首部、函數(shù)體、函數(shù)類型、函數(shù)名、參數(shù)、函數(shù)說明、函數(shù)調用nVC編程環(huán)境:進入、新建、保存、編譯、執(zhí)行、關閉、打開501. 1. 從鍵盤輸入兩個整數(shù),計算這兩個數(shù)之差的絕對值。從鍵盤輸入兩個整數(shù),計算這兩個數(shù)之差的絕對值。#include #include /注明輸入輸出函數(shù)使用的頭文件注明輸入輸出函數(shù)使用的頭文件#include #inc

23、lude /注明絕對值函數(shù)使用的頭文件注明絕對值函數(shù)使用的頭文件void main()void main()/定義主函數(shù)定義主函數(shù) int x,y,z;int x,y,z;/定義變量定義變量printf(printf(請輸入兩個整數(shù):請輸入兩個整數(shù):); /); /顯示輸入提示信息顯示輸入提示信息scanf(%d%d,&x,&y);scanf(%d%d,&x,&y);/調用庫函數(shù)從鍵盤輸入數(shù)據(jù)調用庫函數(shù)從鍵盤輸入數(shù)據(jù)z=abs(x-y);z=abs(x-y);/計算兩個數(shù)之差的絕對值計算兩個數(shù)之差的絕對值printf(printf(結果為:結果為:%dn,z);

24、%dn,z);/顯示結果顯示結果 練習題練習題512.2.從鍵盤輸入直角三角形的兩條直角邊的長度,求斜從鍵盤輸入直角三角形的兩條直角邊的長度,求斜邊的長度和三角形的面積,計算結果保留兩位小數(shù)。邊的長度和三角形的面積,計算結果保留兩位小數(shù)。#include #include /注明輸入輸出函數(shù)使用的頭文件注明輸入輸出函數(shù)使用的頭文件#include #include /注明注明sqrt()sqrt()函數(shù)使用的頭文件函數(shù)使用的頭文件void main()void main()/定義主函數(shù)定義主函數(shù) double x,y,z,area;double x,y,z,area; / /定義變量定義變量p

25、rintf(printf(請輸入兩條直角邊的長度:請輸入兩條直角邊的長度:); /); /顯示輸入提示信息顯示輸入提示信息scanf(%lf%lf,&x,&y);scanf(%lf%lf,&x,&y);/從鍵盤輸入數(shù)據(jù)從鍵盤輸入數(shù)據(jù)z=sqrt(xz=sqrt(x* *x+yx+y* *y);y);/計算斜邊計算斜邊area=xarea=x* *y/2y/2 ; ;/計算面積計算面積printf(printf(斜邊斜邊%7.2lf%7.2lf,面積,面積%7.2lf n,z,area);/%7.2lf n,z,area);/顯示結果顯示結果 523.3.求一元二

26、次方程求一元二次方程3x3x2 2-20 x-100=0-20 x-100=0的根,計算結果保留的根,計算結果保留兩位小數(shù)。兩位小數(shù)。#include #include /注明輸入輸出函數(shù)使用的頭文件注明輸入輸出函數(shù)使用的頭文件#include #include /注明注明sqrt()sqrt()函數(shù)使用的頭文件函數(shù)使用的頭文件void main()void main()/定義主函數(shù)定義主函數(shù) double a=3,b=-20,c=-100,delta,x1,x2;double a=3,b=-20,c=-100,delta,x1,x2;/定義變量定義變量delta=sqrt(bdelta=sqrt(b* *b-4b-4* *a a* *c);c);/計算計算deltadeltax1=(-b+delta)/(2x1=(-b+delta)/(2* *a);a); /計算方程的根計算方程的根x2=(-b-delta)/(2x2=(-b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論