《C語言程序 設(shè)計》課件-第一章 C語言概述_第1頁
《C語言程序 設(shè)計》課件-第一章 C語言概述_第2頁
《C語言程序 設(shè)計》課件-第一章 C語言概述_第3頁
《C語言程序 設(shè)計》課件-第一章 C語言概述_第4頁
《C語言程序 設(shè)計》課件-第一章 C語言概述_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

【本章重點和學(xué)習(xí)目標(biāo)】1.掌握程序的構(gòu)成,main函數(shù)和其他函數(shù)。2.掌握頭文件,數(shù)據(jù)說明,函數(shù)的開始和結(jié)束標(biāo)志以及程序中的注釋。3.掌握源程序的書寫格式以及基本的編程環(huán)境。4.了解C語言的風(fēng)格。10/20/20251.1計算機(jī)程序設(shè)計語言的發(fā)展1.機(jī)器語言計算機(jī)可以直接識別和直接處理的是二進(jìn)制數(shù),而不能識別人的自然語言。最早的計算機(jī)語言是二進(jìn)制碼形式的,稱為機(jī)器語言。指令是計算機(jī)能夠直接識別與執(zhí)行的命令,它在計算機(jī)內(nèi)部以二進(jìn)制碼表示,例如:某種型號的計算機(jī)用10000000表示加法指令,用10010000表示減法指令。 10/20/20252.匯編語言針對機(jī)器語言的缺陷,人們對機(jī)器語言進(jìn)行了改進(jìn),用簡短的英文單詞或其縮寫,作為“助記符”來替代一串串冗長難記的機(jī)器代碼。例如:輸入操作用“IN”、輸出操作用“OUT”、加法操作用“ADD”、減法操作用“SUB”、停止操作用“END”等。這種用助記符構(gòu)成的計算機(jī)程序設(shè)計語言,稱為匯編語言。1.1計算機(jī)程序設(shè)計語言的發(fā)展10/20/20253.高級語言高級語言接近人的自然語言和數(shù)學(xué)語言,用高級語言編寫的程序易讀、易記、易修改。用高級語言編寫程序,編程者只要將數(shù)據(jù)賦給變量,由高級語言翻譯系統(tǒng)將變量的值存放到相應(yīng)的內(nèi)存單元,這樣編程者就無需了解變量分配使用內(nèi)存儲器的具體情況。高級語言編寫的程序稱為“源程序”。比較常見的高級語言有:BASIC語言、FORTRAN語言、LOGO語言、COBOL語言、PASCAL語言、C語言、PROLOG語言等。1.1計算機(jī)程序設(shè)計語言的發(fā)展10/20/20251.1計算機(jī)程序設(shè)計語言的發(fā)展10/20/2025源程序(源語言)解釋程序目標(biāo)程序(目標(biāo)語言)源程序(高級語言)編譯程序目標(biāo)程序(低級語言)圖1.1編譯和解釋兩種翻譯方式示意圖1.2C語言的發(fā)展及特點1.2.1C語言的發(fā)展C語言的前身是ALGOL語言。1960年ALGOL60版本推出后,很受程序設(shè)計人員的歡迎。用ALGOL60來描述算法很方便,但是不能操作計算機(jī)硬件,不宜用來編寫系統(tǒng)程序。1963年英國劍橋大學(xué)在ALGOL語言基礎(chǔ)上增添了處理硬件的能力,并命名為“CPL(復(fù)合程序設(shè)計語言)”。CPL由于規(guī)模大,學(xué)習(xí)和掌握困難,因而沒有流行開來。1967年劍橋大學(xué)的馬丁·理查德對CPL語言進(jìn)行了簡化,推出“BCPL(基本復(fù)合程序設(shè)計語言)”語言。10/20/20251970年美國貝爾實驗室的肯·湯普遜對BCPL進(jìn)行了進(jìn)一步的簡化,突出了硬件處理能力,并取了“BCPL”的第一個字母“B”作為新語言的名稱。同時用B語言編寫了UNIX操作系統(tǒng)程序。1972年貝爾實驗室的布朗·W·卡尼漢和丹尼斯·M·利奇對B語言進(jìn)行了完善和擴(kuò)充,在保留B語言強(qiáng)大的硬件處理能力的基礎(chǔ)上,擴(kuò)充了數(shù)據(jù)類型,恢復(fù)了通用性,并取了“BCPL”的第二個字母作為新語言的名稱。此后,兩人合作重寫了UNIX操作系統(tǒng)。C語言伴隨著UNIX操作系統(tǒng)成為一種很受歡迎的計算機(jī)語言。1978年,為了讓C語言脫離UNIX操作系統(tǒng),成為在任何計算機(jī)上都能運行的通用計算機(jī)語言,卡尼漢和利奇(K&R)撰寫了《C程序設(shè)計語言》一書,對C語言的語法進(jìn)行了規(guī)范化的描述,成為當(dāng)時的標(biāo)準(zhǔn)。1.2C語言的發(fā)展及特點10/20/20251.2.2C語言的特點1.C語言集中了低級語言和高級語言的優(yōu)點C語言可以象匯編語言一樣對位、字節(jié)和地址進(jìn)行操作,又能象高級語言那樣面向用戶,容易記憶,便于閱讀和書寫。2.C語言是結(jié)構(gòu)式語言C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。3.C語言功能齊全具有各種數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。4.C語言適用范圍廣闊C語言適合于多種操作系統(tǒng),如DOS、UNIX,同時也適用于多種機(jī)型。1.2C語言的發(fā)展及特點10/20/20251.3C程序的基本結(jié)構(gòu)和組成1.3.1C程序的基本結(jié)構(gòu)C程序的基本結(jié)構(gòu)是函數(shù)。一個C程序是由一個或多個C函數(shù)組成的。C函數(shù)的實質(zhì)是實現(xiàn)一個特定功能的程序段。一個C函數(shù)一般由若干條C語句組成。

C語句是完成某種程序功能的最小單位。下面我們通過一些例子來分析和說明C語言程序的基本結(jié)構(gòu)。10/20/2025【例1.1】輸出一行文字。main()/*主函數(shù)*/{printf("ThisisaCprogram.\n");/*輸出函數(shù)調(diào)用*/}運行結(jié)果:ThisisaCprogram.本程序的作用是輸出一行信息,其中main()表示“主函數(shù)”,每一個C程序都必須有且只有一個主函數(shù)。函數(shù)體由花括號“{}”括起來,printf()是輸出函數(shù)。/*…*/表示注釋部分,用于解釋該程序或該語句的作用。注釋對系統(tǒng)編譯和運行不起任何作用,可以出現(xiàn)在程序的任何地方。1.3C程序的基本結(jié)構(gòu)和組成10/20/2025【例1.2】計算兩個整數(shù)之和。#include"stdio.h"/*命令行,指明本程序包含stdio.h頭文件*/main(){inta,b,s;/*聲明a,b,s三個整型變量*/a=2;b=3;/*給a,b賦值*/s=a+b;/*計算a+b的和,并賦給變量s*/printf("a=%d,b=%d,s=%d\n",a,b,s);/*輸出a,b及s值*/}運行結(jié)果:a=2,b=3,s=5本程序的作用是求兩個整數(shù)a和b之和。其中,“a=%d,b=%d,s=%d\n”是輸出的“格式控制字符串”。1.3C程序的基本結(jié)構(gòu)和組成10/20/2025【例1.3】求兩個數(shù)的最大值。#include"stdio.h"main(){inta,b,ma;/*定義變量a和b*/scanf("%d,%d",&a,&b);/*從鍵盤輸入a和b的值*//*調(diào)用max函數(shù),并將a和b的值對應(yīng)傳給x和y,將得到的函數(shù)結(jié)果賦給ma變量*/ma=max(a,b);printf("max=%d\n",ma);/*輸出ma的值*/}intmax(intx,inty)/*函數(shù)首部*//*定義max函數(shù),函數(shù)值為int型,兩個形式參數(shù)x,y均為int型*/{intm;/*定義max函數(shù)中的變量m*/if(x>y)m=x;/*條件判斷語句,如果x>y成立,則將x的值賦給變量m*/elsem=y;/*如果x>y不成立,則將y的值賦給變量m*/returnm;/*將m值從max函數(shù)帶回到主函數(shù)*/}運行結(jié)果:8,5↙(輸入8和5給a和b)max=810/20/2025本程序包括兩個函數(shù):主函數(shù)main()和被調(diào)用的函數(shù)max()。max函數(shù)的作用是將變量x和y中較大者的值賦給變量m,然后由return語句將m的值返回給主調(diào)函數(shù)main。返回值是通過函數(shù)名max帶回到main函數(shù)的調(diào)用處。1.3C程序的基本結(jié)構(gòu)和組成10/20/20251.3.2C程序的基本組成1、C程序是由函數(shù)構(gòu)成的。一個C程序有且只有一個主函數(shù)main(),函數(shù)是C程序的基本單位。被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫函數(shù)(例如scanf()和printf()),也可以是用戶自己編寫的函數(shù),如例1.3中的max()。2、一個函數(shù)由兩部分組成,即函數(shù)的首部和函數(shù)體。一個函數(shù)名后面必須跟一對圓括號,函數(shù)參數(shù)可以沒有,如main(),但圓括號不能省函數(shù)體,即函數(shù)首部下面的花括號“{}”內(nèi)的部分。1.3C程序的基本結(jié)構(gòu)和組成10/20/20253、分號是C語句的組成部分。4、一個C程序總是從main()開始,再由main()結(jié)束。5、C程序中一行內(nèi)可以寫幾個語句,一個語句也可以分寫在多行上。6、C語言的輸入和輸出的操作是由C提供的庫函數(shù)完成的。7、可以用/*…*/(注意/與*之間不能有空格)對C程序中的任何部分作注釋。1.3C程序的基本結(jié)構(gòu)和組成10/20/20251.4C語言的基本標(biāo)識符C語言允許用作標(biāo)識符的字符有:(1)26個英文字母,包括大小寫(共52個);(2)數(shù)字0,1,2,…9;(3)下劃線_。10/20/20251、關(guān)鍵字(1)數(shù)據(jù)類型關(guān)鍵字(12個):char,double,enum,float,int,long,short,signed,struct,union,unsigned,void。(2)控制語句關(guān)鍵字(12個):break,case,continue,default,do,else,for,goto,if,return,switch,while。(3)存儲類型關(guān)鍵字(4個):auto,extern,register,static。(4)其他關(guān)鍵字(4個):const,sizeof,typedef,volatile。2、特定字特定字具有特定的含義,一般用于預(yù)處理程序中,它們同關(guān)鍵字一樣,不允許用作變量名、函數(shù)名等。特定字共7個:#define#endif#ifdef#ifndef#include#line#undef1.4C語言的基本標(biāo)識符10/20/20253、一般標(biāo)識符C語言標(biāo)識符構(gòu)造規(guī)則為:必須以字母或下劃線開頭,后面跟隨字母、或數(shù)字、或下劃線、或它們的任意組合,長度一般不超過8個字符(較高版本可達(dá)到31個字符),且不能和關(guān)鍵字重名。說明:(1)C語言區(qū)分字母的大小寫,即大小寫字母作為不同的字符。習(xí)慣上變量名用小寫字母表示,以增加可讀性。(2)用戶定義標(biāo)識符時,應(yīng)當(dāng)盡量遵循“簡潔明了”和“見名知意”的原則。下列標(biāo)識符是合法的一般標(biāo)識符:b,de_file,x5,xyz,small,c_language下列標(biāo)識符是不合法的一般標(biāo)識符:a/b,5a,key.board,x&y,I’right’,static最后一個標(biāo)識符static是關(guān)鍵字,因此不能作一般標(biāo)識符。1.4C語言的基本標(biāo)識符10/20/20251.5運行C程序的步驟1.5.1運行C語言程序的一般過程10/20/2025圖1.2C語言程序運行的一般過程1.5運行C程序的步驟1.5.2運行C語言程序的一個實例在屏幕上輸出“Thisisanexample”,首先編輯、編譯、連接及運行下面的程序:main(){printf("thisisanexample!");}先進(jìn)入TC環(huán)境,完成以下操作:10/20/20251.編輯源程序(1)選擇File菜單下的New命令,如圖1.3所示。1.5運行C程序的步驟10/20/2025圖1.3新建文件命令New(2)在編輯窗口編輯源程序,如圖1.4所示。1.5運行C程序的步驟10/20/2025圖1.4編輯源程序(3)存盤:選擇主菜單File中的Save項或者

溫馨提示

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

最新文檔

評論

0/150

提交評論