《C語言程序設計基礎與實訓教程》第1章:基礎知識.ppt_第1頁
《C語言程序設計基礎與實訓教程》第1章:基礎知識.ppt_第2頁
《C語言程序設計基礎與實訓教程》第1章:基礎知識.ppt_第3頁
《C語言程序設計基礎與實訓教程》第1章:基礎知識.ppt_第4頁
《C語言程序設計基礎與實訓教程》第1章:基礎知識.ppt_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第1章 基礎知識,(時間:1次課,2學時),第1章 基礎知識,學習目的與要求: C語言由于其功能強、使用靈活、可移植性好、目標程序質量好而受到廣泛的歡迎。C語言既具有高級語言的優點,又具有低級語言的許多特點,既可以用來編寫系統軟件,又可以用來編寫應用軟件。C語言已成為軟件工作者必須掌握的一個工具。 本章主要介紹C語言的特點,通過簡單C語言程序,了解并掌握C語言程序的特點、C語言程序的結構和書寫規則。 學習C語言時有一點應當注意:應該把精力放在最基本、最常用的內容上。開始時不要鉆牛角尖,有一些細節,隨著對C語言的了解逐步深入和實踐經驗的逐步豐富,會自然地掌握的,而有些細節則要通過長期的實踐才能真正熟練掌握,第1章 基礎知識,1.1 程序設計基礎 1.2 C語言簡介 1.3 C語言程序結構與書寫規則 1.4 C語言的基本符號,1.1 程序設計基礎,今天,人們所講的計算機是一個計算機系統,而不是一臺“裸機”。一個完整的計算機系統由計算機硬件系統和計算機軟件系統(俗稱程序系統)組成。前者一般為組成計算機的物資設備,后者為管理和使用計算機的各種程序。 計算機每做一次動作、一個步驟,都是按照已經用計算機語言編好的程序來執行的。程序是計算機要執行的指令集合,而程序全部都是用人們所掌握的計算機語言來編寫的。所以人們要控制計算機就一定要通過計算機語言向計算機發出命令。,因此可以說,程序設計就是程序員根據實際任務提出問題,然后確定計算方法,構造數學模型,畫出流程圖,選擇合適的語言,編寫程序并上機反復調試,直到滿足實際需要為止。程序設計基礎是掌握計算機語言。 計算機語言的種類非常多,總的來說可以分成機器語言、匯編語言、高級語言3大類。計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時不采用機器語言,因為它非常難以記憶和識別。 目前通用的編程語言有兩種形式:匯編語言和高級語言。,匯編語言的實質和機器語言是相同的,都是直接對硬件進行操作,只不過指令采用了英文縮寫的標識符,這樣更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,因此匯編程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識。但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件比較小,而且執行速度很快。,高級語言是目前絕大多數編程者的選擇。與匯編語言相比,它不但能將許多相關的機器指令合成單條指令,并且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大地簡化了程序中的指令。同時,由于省略了很多的細節,因此編程者也就不需要有太多的專業知識。 高級語言主要是針對匯編語言而言,它并不是特指某一具體的語言,而是包括了很多的編程語言,如目前流行的VB、VC、Foxpro、C等,這些語言的語法、命令格式不相同。 用高級語言所編寫的程序不能直接被計算機識別,必須經過轉換才能被執行。,按照轉換的方式可將它們分為以下兩類: 解釋類:執行方式類似我們日常生活的“同聲翻譯”,應用程序源代碼一邊用相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執行,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器。但這種方式比較靈活,可以動態地調整、修改應用程序。 編譯類:編譯是指應用源程序執行之前,就將程序源代碼“翻譯”成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改就必須先修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行。現在大多數編程語言都是編譯型的,例如 C、Visual C+、Foxpro 等。,1.2 C語言簡介,C語言的出現是與UNIX操作系統緊密聯系在一起,C語言本身也有一個發展過程,下表給出C語言的發展過程。,1.2 C語言簡介,1978年以后,C語言已先后移植到大、中、小、微型機上,以獨立于UNIX和PDP了。現在C語言已風靡全世界,成為世界上應用最廣泛的幾種計算機語言之一。 以1978年發表的UNIX第7版本中的C編譯程序為基礎,Brian W.Kernighan和Dennis M.Ritchie(合稱K&R)合著了影響深遠的名著The C Programming Language,這本書中介紹的C語言成為后來廣泛使用的C語言版本的基礎,它被稱為標準C。 1983年,美國國家標準化協會(ANSI)根據C語言問世以來各種版本對C的發展和擴充,制定了新的標準,稱為ANSI C。1987年,ANSI又公布了新標準87 ANSI C。,1.2 C語言簡介,語言是以與PASCAL及ALGOL等語言相類似的思想為基礎而設計出來的面向結構的程序設計語言。其主要特征如下: () 以英文小寫字母為基礎。 () 程序是以函數集合構成的,函數的參數是按“值調用”方式進行。 () 程序表示簡潔、緊湊,使用方便、靈活。 () 指針可以作為數據來處理。 () 運算符非常豐富,有利于編寫程序。 () 沒有處理字符串的特別功能,但能區分字符及字符串。 () 沒有作為語言組成部分的輸入輸出功能,但能通過函數程序來實現。 () 語言能進行位(bit)操作,能實現匯編語言的大部分功能,可以直接對硬件操作。 () 生成目標代碼質量高,程序執行效率高。 (10)C語言寫的程序可移植性好(與匯編語言比)。基本上不做修改就能用于各種型號的計算機和各種操作系統。,1.2 C語言簡介,當然,C語言也有缺點,至今還缺少一個國際公認的完整的語法定義,語法關系的嚴格性不如FORTRAN及PASCAL語言,不太適合于數值計算。 總之,C語言對程序員要求較高。程序員使用C語言編寫程序會感到限制少,靈活性大,功能強,可以編寫出任何類型的程序。現在,C語言已經不僅用來編寫系統軟件,也用來編寫應用軟件。學習和使用C的人已經越來越多。,1.3 C語言程序結構與書寫規則,上一節中談到C語言的特征時說:“程序是以函數集合 構成的”,也就是說,任何C語言程序都是由一個或幾個 函數所組成。,1.3.1 C語言程序結構,一個完整的語言程序,是由一個main( )函數(又稱主函數)和若干個其它函數結合而成的,或僅由一個main( )函數構成 【例1. 1】僅由main( )函數構成的語言程序。 /*功能:僅由main ()函數構成的語言程序示例*/ main( ) printf(“This is a C program.n”); 程序運行結果: This is a C program.,1.3.1 C語言程序結構,【例1. 2】由main( )函數和1個其它函數max( )構成的語言程序。 int max(int m, int n) return(mn ? m : n ); main( ) int num1,num2; printf(“Input the first integer number: ”); scanf(“%d”, ,1.3.1 C語言程序結構,1函數是語言程序的基本單位。 main( )函數的作用,相當于其它高級語言中的主程序;其它函數的作用,相當于子程序。 2C語言程序總是從main( )函數開始執行。 一個語言程序,總是從main( )函數開始執行,而不論其在程序中的位置。當主函數執行完畢時,亦即程序執行完畢。 習慣上,將主函數main( )放在最前頭。,1.3.2 函數的一般結構,任何函數(包括主函數main( ))都是由函數說明和函數體兩部分組成。其一般結構如下: 函數類型 函數名(函數參數表) 說明語句部分; 執行語句部分; ,1.3.2 函數的一般結構,1使用的語法符號約定 . 方括號表示可選(即可以指定,也可以缺省) 省略號表示前面的項可以重復 | 多(含2)中選1 2函數說明 由函數類型(可缺省)、函數名和函數參數表三部分組成,其中函數參數表的格式為: 數據類型 形參 , 數據類型 形參2 例如,例1.2中的函數max( ),其函數說明各部分如下所示。 函數類型 函數名 函數參數表 int max (int x , int y),1.3.2 函數的一般結構,3函數體 在函數說明部分的下面、大括號(必須配對使用)內的部分。 函數體一般由說明語句和可執行語句兩部分構成: (1)說明語句部分 說明語句部分由變量定義、自定義類型定義、自定義函數說明、外部變量說明等組成。 (2)可執行語句 一般由若干條可執行語句構成。,1.3.2 函數的一般結構,4說明 (1)函數體中的變量定義語句,必須在所有可執行語句之前。 下面程序中變量定義語句“int max;”的位置是非法的: main( ) int m,n; /*變量定義語句:定義2個整型變量x、y*/ m=3; /*可執行的賦值語句:將3賦值給變量x*/ n=6; /*可執行的賦值語句:將6賦值給變量y*/ int max; /*變量定義出現在可執行的賦值語句“m=3; n=6;”之后,非法!*/ max=xy?x:y; printf(“max=%dn”,max); 解決辦法很簡單,請讀者自己思考。 (2)如果不需要,也可以缺省變量定義語句。,1.3.3 源程序書寫格式,1所有語句都必須以分號“;”結束,函數的最后一個語句也不例外。 2程序行的書寫格式自由,既允許1行內寫幾條語句,也允許1條語句分寫在幾行上。 例如,例1.2的主函數main( ),也可改寫成如下所示的格式: main( ) int num1,num2; printf(“Input the first integer number: ”);scanf(“%d”, ,1.3.3 源程序書寫格式,如果某條語句很長,一般需要將其分寫在幾行上。 3允許使用注釋。 C語言的注釋格式為: /* */ 例如,在例1.1和例1.2中,以及本節其它部分給出的源程序中,凡是用“/*”和“*/”括起來的文字,都是注釋。注釋可以出現在程序的任何部分,在簡單的程序中可以沒有注釋。 (1)“/*”和“*/”必須成對使用,且“/”和“*”、以及“*”和“/”之間不能有空格,否則都出錯。 技巧 (2)注釋的位置,可以單占1行,也可以跟在語句的后面。 (3)如果1行寫不下,可另起1行繼續寫。 ( (4)注釋中允許使用漢字。在非中文操作系統下,看到的是一串亂碼,但不影響程序運行。,1.4 C語言的基本符號,任何一個計算機系統所使用的字符都是固定的、有限的。它要受硬件設備的限制。C語言與其它語言一樣。它的基本符號有英文字母、阿拉伯數字以及其它特殊符號。其中有: 英文字母 26個(包括大寫和小寫) 阿拉伯數字 10,即從0 到9 其它特殊符號主要指運算符,運算符通常由一至兩個特殊符號組成。比如: +,-,*,/,%,=,等。 標識符用來表示函數、類型或變量的名稱,它是字母和數字的排列,但必須是字母開頭。連字符_(低短橫線)也稱為字母。它在書寫名稱時很方便,大小寫字母含義不同。標識符中只有前八個字符有意義,可以相互區別。但各種匯編程序和裝入程序使用的外部標識符限制較多,用戶必須注意有關資料的規定。,1.4 C語言的基本符號,按照C語言的習慣,變量名用小寫字母,符號常數全部用大寫字母,函數名及外部變量名由六個字符組成。 根據程序設計的經驗,標識符的選擇采用“常用從簡,專用從繁”的原則。一般不必太長,通常在六個字符之內能適應各種系統。 應盡量做到“見名知意”,即選有含義的英文單詞(或其縮寫)或其漢語拼音作標識符,如sum,name,year,total,zongshu等。 在操作系統中,C語言源程序的文件屬性為“.c”。因此,完整的文件名稱為*.c,這樣有利于編譯程序對C語言源程序進行編譯。 C語言與其它語言一樣,有一些具有特定含義的關鍵字,它們不允許做為用戶標識符使用,一旦使用了就會出錯。,1.4 C語言的基本符號,C語言的關鍵字共有32個,根據關鍵字的作用,可分其為數據類型關鍵字、控制語句關鍵字、存儲類型關鍵字和其它關鍵字四類。 (1)數據類型關鍵字(12個):char,

溫馨提示

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

最新文檔

評論

0/150

提交評論