第程序設計和C語言_第1頁
第程序設計和C語言_第2頁
第程序設計和C語言_第3頁
第程序設計和C語言_第4頁
第程序設計和C語言_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

會計學1第程序設計和C語言1.2什么是計算機語言計算機語言:人和計算機交流信息的、計算機和人都能識別的語言第1頁/共51頁計算機語言發展階段:機器語言(由0和1組成的指令)1011011000000000加符號語言(用英文字母和數字表示指令)也稱匯編語言,不同型號的機器間不通用,計算機不識別。如:ADDA,B匯編程序:把匯編語言的指令轉換為機器指令低級語言第2頁/共51頁高級語言

接近于人的自然語言和數學語言面向過程的語言

非結構化的語言(早期的Basic,Fortran)

結構化語言(C順序、選擇、循環三大結構)面向對象的語言編譯程序:把高級語言寫的程序(源程序)轉換為機器指令的程序(目標程序),然后讓計算機執行機器指令程序。計算機語言發展階段:第3頁/共51頁1.3C語言的發展及其特點C語言是國際上流行的、很有發展前途的計算機高級語言。C語言適合于作為“系統描述語言”。既可以用來編寫系統軟件,也可以用來編寫應用程序。

C語言出現的歷史背景:

1)操作系統等系統軟件以前采用匯編語言編寫,而匯編語言可讀性和可移植性都比較差;

2)而當時的高級語言難以實現匯編語言的某些功能(如:內存地址的讀寫-直接硬件、二進制位的操作),不適宜編寫系統軟件。第4頁/共51頁ALGOL60高級語言離硬件較遠CPL較ALGOL60接近一些硬件但規模比較大,難以實現B語言很簡單很接近硬件但功能有限C語言精煉很接近硬件功能強大BCPLBCPL是對CPL進行簡化后的一種語言。C語言的發展歷程第5頁/共51頁C語言的發展歷程1972~1973年貝爾實驗室D.M.Ritchie設計出C語言1973年K.Thompson&D.M.Ritchie用C改寫出UNIX第五版1977年出現了不依賴于具體機器的的C語言編譯文本《可移植C語言編譯程序》1978年C語言先后移植到大、中、小、微型機上,獨立于UNIX和PDP1978年K&R合著了影響深遠的《TheCProgrammingLanguage》1983年美國國家標準化協會制定ANSIC1990年國際標準化組織ISO制定ISOC標準,C891995,1999年ISO又對C89修訂,命名為ISO/IEC9899:1999,即C99第6頁/共51頁常見的C語言版本有:Borland公司:

TurboC, TurboC++ BorlandC++,C++Builder(Windows版本)Microsoft公司:

MicrosoftC

VisualC++,VisualC#(Windows版本)

教材以C99標準為依據,程序基本上都可以在目前所用的編譯系統(如VC++6.0,TurboC++3.0,GCC)上編譯和運行。第7頁/共51頁C語言的主要特點語言簡潔、緊湊,使用方便、靈活。只有37個關鍵字、9種控制語句程序書寫形式自由,源程序短運算符豐富。有34種運算符把括號、賦值、強制類型轉換等都作為運算符處理表達式類型多樣化第8頁/共51頁C語言的主要特點數據類型豐富。包括:整型、浮點型、字符型、數組類型、指針類型、結構體類型、共用體類型、復數浮點類型、超長整型、布爾類型和指針類型數據。具有結構化的控制語句如if…else語句、while語句、do…while語句、switch語句、for語句,用函數作為程序的模塊單位,便于實現程序的模塊化第9頁/共51頁C語言的主要特點語法限制不太嚴格,程序設計自由度大。不要過分依賴C編譯程序去查錯;允許直接訪問物理地址,能進行位操作,可以直接對硬件進行操作C語言具有高級語言的功能和低級語言的許多功能,可用來編寫系統軟件這種雙重性,使它既是成功的系統描述語言,又是通用的程序設計語言。第10頁/共51頁C語言的主要特點用C語言編寫的程序可移植性好。C的編譯系統簡潔,很容易移植到新系統在新系統上運行時,可直接編譯“標準鏈接庫”中的大部分功能,不需要修改源代碼幾乎所有計算機系統都可以使用C語言生成目標代碼質量高,程序執行效率高。

第11頁/共51頁1.4最簡單的C語言程序1.4.1最簡單的C語言程序舉例1.4.2C語言程序的結構第12頁/共51頁1.4.1最簡單的C語言程序舉例例1.1要求在屏幕上輸出以下一行信息。

ThisisaCprogram.解題思路:

在主函數中用printf函數原樣輸出以上文字。第13頁/共51頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}函數的名字,表示主函數C程序必須有一個main函數第14頁/共51頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

主函數類型第15頁/共51頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

函數體第16頁/共51頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

輸出函數輸出語句第17頁/共51頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

輸出語句第18頁/共51頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

換行符第19頁/共51頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

當main函數執行結束前將整數0作為函數值第20頁/共51頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

表示語句結束用到函數庫中的輸入輸出函數時第21頁/共51頁1.4.1最簡單的C語言程序舉例C語言允許用兩種注釋方式://:單行注釋可單獨占一行可出現在一行中其他內容的右側/*……*/:塊式注釋可包含多行第22頁/共51頁例1.2求兩個整數之和。解題思路:設置3個變量a和b用來存放兩個整數sum用來存放和數用賦值運算符“=”把結果傳送給sum第23頁/共51頁#include<stdio.h>intmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(”sumis%d\n”,sum);return0;}定義整型變量a,b,sum對變量a,b賦值將a與b的和賦給sum第24頁/共51頁#include<stdio.h>intmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(”sumis%d\n”,sum);return0;}用sum的值替代希望輸出的字符第25頁/共51頁例1.3求兩個整數中的較大者。解題思路:用一個函數實現求兩個整數中的較大者在主函數中調用此函數并輸出結果第26頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}主函數max函數第27頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}將x和y中較大者值返回給主函數第28頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}第29頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}因max函數的定義在main函數之后,需聲明第30頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}輸入函數第31頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}輸入語句第32頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}輸入的數據放到a,b中輸入格式a的地址第33頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}調用max函數第34頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}8588第35頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}8588第36頁/共51頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}實際參數形式參數第37頁/共51頁1.4.2C語言程序的結構C語言程序的結構特點:1.一個程序由一個或多個源程序文件組成小程序往往只包括一個源程序文件例1.1,例1.2只有一個函數例1.3有兩個函數只包括一個源程序文件第38頁/共51頁1.4.2C語言程序的結構C語言程序的結構特點:一個源程序文件中可以包括三個部分:預處理指令全局聲明函數定義#include<stdio.h>等在函數之外進行的數據聲明每個函數用來實現一定的功能第39頁/共51頁1.4.2C語言程序的結構C語言程序的結構特點:2.函數是C程序的主要組成部分一個C程序是由一個或多個函數組成的必須包含一個main函數(只能有一個)每個函數都用來實現一個或幾個特定功能被調用的函數可以是庫函數,也可以是自己編制設計的函數第40頁/共51頁1.4.2C語言程序的結構C語言程序的結構特點:3.一個函數包括兩個部分:函數首部intmax(intx,inty)函數的第1行函數類型函數名參數類型參數名第41頁/共51頁1.4.2C語言程序的結構C語言程序的結構特點:3.一個函數包括兩個部分:函數首部int

溫馨提示

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

評論

0/150

提交評論