高級語言編程基礎_第1頁
高級語言編程基礎_第2頁
高級語言編程基礎_第3頁
高級語言編程基礎_第4頁
高級語言編程基礎_第5頁
已閱讀5頁,還剩54頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

課程內容第1章計算機系統初步知識第2章計算機軟件

第3章C編程基礎

第4章C結構第5章C數組第6章C函數1回顧

準備好紙和筆,紙的左上角寫上姓名、學號、班級2回顧

1、計算機由哪幾部分組成,怎樣聯系起來的?2、什么是按位存儲,按字節尋址?3、什么是程序,什么是計算機程序,什么是計算機程序設計?4、什么是語言,構成語言的三要素是?什么是計算機程序設計語言?5、什么是機器語言,什么是指令,指令的一般格式,指令的執行過程?6、什么是源程序,實現源程序變成機器語言(指令)的程序稱為什么,需要哪些過程?3馮·諾依曼型計算機存儲器輸出輸入運算器控制器數據信號控制信號地址信號

回顧4主存結構:按位存儲,按字節尋址

回顧5回顧2.指令的執行過程6回顧1.編寫源程序:編輯源程序代碼2.執行編譯:產生與源程序等價的目標程序3.連接:連接所需庫函數和其它目標程序4.調試程序:對產生的錯誤進行修改,重新編譯5.執行程序:生成最終正確的可運行的.exe程序。7教學內容

第3章C編程基礎3.1C介紹3.2C程序基本構成3.3C語法8教學目標

了解計算機語言的發展、C語言的特點;掌握C語言程序的基本構成:頭文件、main()函數、輸入語句、輸出語句、注釋等;掌握C語言程序的基本語法:熟悉C語言的數據類型;算術、賦值運算符,能夠根據要求構造相應的表達式;能夠區分常量與變量的不同,掌握基本數據類型的常量與變量的定義、使用;9教學重點

C語言程序的基本構成C語言程序的基本語法10(1)C語言的發展C語言是國際上廣泛流行的計算機高級語言。C語言的發展:BCPL語言B語言C語言精練、接近硬件,但過于簡單,無數據類型具有多種數據類型最初的C語言只是為描述和實現UNIX操作系統提供一種工作語言而設計的。3.1C語言的發展及其特點111983年,美國國家標準協會(ANSI)制定了第一個C語言標準草案(’83ANSIC);1989年,ANSI公布了一個完整的C語言標準—ANSIX3.159-1989(常稱ANSIC,或C89);1990年,國際標準化組織ISO接受C89作為國際標準ISO/IEC9899:1990,它和ANSI的C89基本上是相同的;121995年,ISO對C90作了一些修訂;1999年,ISO又對C語言標準進行修訂,在基本保留原來的C語言特征的基礎上,增加了一些功能,命名為ISO/IEC9899:1999;2001、2004年先后進行了兩次技術修正(TC1和TC2)。ISO/IEC9899:1999(及其技術修正)被稱為C99。C99是C89(及1995基準增補1)的擴充。目前最新的版本是ISO/IEC9899:2011,一般稱為C11不同軟件公司提供的各C語言編譯系統多數并未完全實現C11建議的功能。13

C語言是一種用途廣泛、功能強大、使用靈活的過程性(procedural)編程語言,既可用于編寫應用軟件,又能用于編寫系統軟件。因此C語言問世以后得到迅速推廣。14(2)C語言的主要特點語言簡潔、緊湊,使用方便、靈活:只有37個關鍵字、9種控制語句程序書寫形式自由,源程序短運算符豐富:有34種運算符把括號、賦值、強制類型轉換等都作為運算符處理表達式類型多樣化15(2)C語言的主要特點(續)數據類型豐富:包括:整型、浮點型、字符型、數組類型、指針類型、結構體類型、共用體類型C99又擴充了復數浮點類型、超長整型(longlong)、布爾類型(bool)指針類型數據,能用來實現各種復雜的數據結構(如鏈表、樹、棧等)的運算。16具有結構化的控制語句:如if…else語句、while語句、do…while語句、switch語句、for語句用函數作為程序的模塊單位,便于實現程序的模塊化C語言是完全模塊化和結構化的語言17允許直接訪問物理地址,能進行位操作,可以直接對硬件進行操作:C語言具有高級語言的功能和低級語言的許多功能,可用來編寫系統軟件這種雙重性,使它既是成功的系統描述語言,又是通用的程序設計語言18(2)C語言的主要特點(續)用C語言編寫的程序可移植性好:C的編譯系統簡潔,很容易移植到新系統在新系統上運行時,可直接編譯“標準鏈接庫”中的大部分功能,不需要修改源代碼幾乎所有計算機系統都可以使用C語言。生成目標代碼質量高,程序執行效率高。19例1要求在屏幕上輸出以下一行信息。

ThisisaCprogram.程序代碼:/*Myfirstprogramm.*/#include<stdio.h>intmain(){printf("ThisisaCprogram.\n");return0;}(1)簡單C語言程序舉例3.2C程序基本構成20解釋程序代碼:#include<stdio.h>intmain(){

printf("ThisisaCprogram.\n");return0;}主函數類型函數體函數的名字,表示主函數C程序必須有一個main函數輸出函數輸出語句換行符當main函數執行結束前將整數0作為函數值表示語句結束用到函數庫中的輸入輸出函數時21注釋。不是程序代碼,它只是方便程序員閱讀代碼,編譯器編譯時會把它忽略。也就是注釋是不會被編譯的。程序可以沒有注釋,但為了方便以后閱讀代碼,都會在程序關鍵處加上注釋。C語言允許用兩種注釋方式://:單行注釋可單獨占一行;也可出現在一行中其他內容的右側/*……*/:塊式注釋:可包含一行或多行(2)C語言程序的構成22預處理指令#include<stdio.h>#include稱為預處理,編譯器編譯之前要做的,因此稱為預處理<stdio.h>稱為頭文件,因為它通常放在程序的開頭。作用:包含了編譯器理解printf函數所需要的信息。還包含其他C標準庫函數。標準庫:定義編寫C常需要的常量、符號和函數。例如計算機的輸入輸出。標準庫在頭文件中指定,頭文件的擴展名總是.h,要使用某些函數,只要用預處理命令包含其對應的頭文件即可。有時候為了方便寫程序,也可以定義自己的頭文件。(2)C語言程序的構成233.main()函數一個C程序中有且只能有一個main()函數。程序總是從main()函數開始執行4.關鍵字(如int)

表示具有特殊意義的字。(2)C語言程序的構成24函數體(2)C語言程序的構成256.輸出信息printf("ThisisaCprogram.\n");printf是標準庫中的輸出函數。控制符(換行符)\n換行符(轉義字符的一種)輸出光標會移動到下一行8.語句結束符;每個語句以分號結束;必不可少。(2)C語言程序的構成26程序總是從main函數開始執行C程序書寫格式是比較自由的一行內可以寫幾個語句一個語句可以分寫在多行上為清晰起見,習慣上每行只寫一個語句語句最后必須有分號C語言本身不提供輸入輸出語句程序應當包含注釋,增加可讀性(3)幾點說明27如何編寫程序???如何用C編寫2+3=5?如何用C編寫2.2+3.3=5.5?如何用C輸出a,b,c等英文字母?283.3C程序基本語法數據類型常量和變量運算符和表達式29 在現實生活中,我們會接觸到許多數據 從上我們可以得到數據:年齡33歲,身高2.26m,體重141.0kg,…它們具有不同的性質:字符串有標識作用,數值型可計算,還有精度差異。編寫程序時,需區別對待。1.數據類型30數據存儲在內存中,不同數據所占用存儲空間的多少、數值范圍不同;所謂類型,就是對數據分配存儲單元的安排,包括存儲單元的長度(占多少字節)以及數據的存儲形式不同的類型分配不同的長度和存儲形式數據在計算機中的存儲是以字節為單位計算的,一個字節是8位。例如:整數10的用2字節表示的示圖:31同一數據類型在不同計算機中占用的空間可能不同,如:int型,在16位計算機中占2字節,在32位計算機中占4字節;數據占用內存字節的多少決定了其能表達數據的范圍;計算機內存中的同一數據當做不同類型來解釋時,所得結果是不同的;32單精度型(float)雙精度型(double)數據類型基本類型整型浮點型構造類型指針類型(*)數組類型([])結構體類型(struct)共用體類型(union)函數類型空類型(void)枚舉類型(enum)整型(int)短整型(shortint)長整型(longint)字符型(char)33數據類型情況重點掌握類型關鍵字、所占字節數、表示的數值范圍。下表是DevC++的基本數據類型:34(2)字符型數據(由一個字符組成,占一個字節)字符(128個):大多數系統采用ASCII字符集;單引號表示字母:A~Z,a~z數字:0~9專門符號:29個:!”#&‘()*等空格符:空格、水平制表符、換行等不能顯示的字符:空(null)字符(以‘\0’表示)、警告(以‘\a’表示)、退格(以‘\b’表示)、回車(以‘\r’表示)等35

(3)浮點型數據浮點型數據是用來表示具有小數點的實數在C語言中,實數是以指數形式存放在內存存儲單位中的小數部分指數數符以圓周率PI的近似值3.14159為例,可寫成:3.14159x100、0.314159x101、0.0314159x102、31.4159x10-1等形式。由于小數點位置可以浮動,故稱為浮點數。規格化指數形式:小數點前數字為0、小數點的第1位數字非0 對于一個實數來說,其規格化指數形式只有一種,例如: 0.314159x101符合要求,0.0314159x102、31.4159x10-1等則不符合要求指數表示了數據的大小,尾數表示了數據的精度。通常用e或E后面帶整數表示10的多少次方。36 在C語言中,有許多符號需要命名,如:變量名、函數名、數組名等,這些符號稱為標識符。標識符的命名規則:由字母、數字、下劃線組成,并且第一個字符必須為字母或下劃線。合法標識符:area、PI、a_array、price等非法標識符:456p、cade-y、x.y、a&b等(1)標識符不同的C語言編譯系統所規定的標識符長度可能不同?2.常量和變量37標識符有三類:關鍵字:C語言預先規定的一批有固定含義的標識符,不能另作他用autodouble

intstructcase else long switchbreakenum register typedefcharextern returnunionconstfloat shortunsignedcontinuefor signedvoid

defaultgoto sizeofvolatiledoif staticwhile

include等38預定義標識符:C語言預先定義并有特定含義的標識符,如:庫函數名(printf)、預處理命令(define)。不建議另作他用用戶標識符:用戶定義的標識符,如:變量名、函數名、數組名等,最好“見名知意”39概念:在程序運行過程中,其值不能被改變的量 包括:整型常量、實型常量、字符常量和字符串常量等(2)常量1)整型常量:十進制整數:由正號(+)或負號(-)開始的、接著為首位非0的若干個十進制數字所組成。如38,-25,+120,74286等402)字符常量:普通的字符常量:用一對單引號括起來的一個字符,形式為:‘單字符’,如:’a’,’%’,’A’等,區分大小寫 注意:’ab’是錯誤的,為什么?41轉義字符:格式:\特定字符性質:改變原先字符的含義,實現特定功能 例如:\n(換行功能)42常用的轉義字符:轉義字符含義ASCII碼值(十進制)\a響鈴(bell)7\b退格(backspace)8\n換行(newline)10\r回車(carriagereturn)13\t水平制表(horizontaltab)9\v垂直制表(verticaltab)11\\反斜杠92\’單引號39\”雙引號34\0空格符(null)0\ddd任意字符3位八進制數\xhh任意字符2位十六進制數433)字符串常量:格式:“…”,即:用一對雙引號括起來的字符序列(字符個數可以0、1或多個,也可以是轉義字符),起標識、提示作用。字符串以雙引號為定界符,雙引號不作為字符串的一部分。如:“Hello”,“GoodMorning!”,“廣州大學”…長度:字符串的字符數。如:“Hello”的長度為5.存儲:在內存中占一串連續的存儲單元,系統自動在字符串的末尾加以字符串結束標志,即轉義字符‘\0’。 占6個存儲單元44特別注意:“字符串”與“字符型數據”是兩個完全不同的概念。問題:分辨哪些是字符常量?哪些是字符串?

“sise”、”?”、””、‘!’、‘\x20’、“”454)怎樣確定常量的類型?字符常量:由單撇號(‘’)括起來的單個字符或轉義字符字符串常量:由雙撇號(“”)括起來的單個字符或轉義字符整型常量:不帶小數點的數值,系統根據數值的大小確定int型還是long型等浮點型常量:凡以小數形式或指數形式出現的實數46概念:變量是計算機一塊特定的內存,由一個或多個字節組成;用變量名去提取或存儲變量值。變量名表示該內存地址;變量的值可以改變。(3)變量注:變量名是標識符,命名要“見名知意”在程序中,實際上是通過變量名找到相應的內存地址,從該存儲單元中讀取數據inta=3;47變量定義(聲明):數據類型變量名1[,變量名2,…]; 實質:在編譯時為其分配相應的存儲單元 例如:inta,b,c;floatr;doubleroot1,root2;C語言規定,變量要“先定義,后使用”,編譯時系統進行檢查。例如,如果在定義時為intnum;而在執行語句中錯寫成nmu,編譯時就會輸出“變量nmu未經聲明”的信息變量定義后,如果未賦值,則其值是不確定的。應避免這種情況的出現48變量初始化:數據類型變量名1=初值[,變量名2=初值,…];

功能:將變量定義、賦值“合二為一”49運算符(操作符):是對數據進行運算的符號操作數(運算對象):參與運算的數據表達式:由操作數和操作符連接而成的有效的式子。例如:2+3(1)一些概念3.運算符和表達式50運算符(5個):+,-,*:含義與數學上相同;(注:兩個數相乘時,*不能省略)/: 對于整型數則為除法取整操作,例如,5/2得到結果2; 如果除數或被除數中有一個為負值,舍入方向不固定。例如,-5/2,有的系統中得到的結果為-2,在有的系統中則得到結果為-3。 對于浮點數則為通常意義的除法,例如,5.0/2.0得到結果為2.5 由此可見,/操作符可以對不同的數據類型進行不同的操作。(2)算術運算符與表達式51運算符(5個

溫馨提示

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

最新文檔

評論

0/150

提交評論