譚浩強(qiáng)c語(yǔ)言設(shè)計(jì) 課件_第1頁(yè)
譚浩強(qiáng)c語(yǔ)言設(shè)計(jì) 課件_第2頁(yè)
譚浩強(qiáng)c語(yǔ)言設(shè)計(jì) 課件_第3頁(yè)
譚浩強(qiáng)c語(yǔ)言設(shè)計(jì) 課件_第4頁(yè)
譚浩強(qiáng)c語(yǔ)言設(shè)計(jì) 課件_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言程序設(shè)計(jì)授課對(duì)象:電子商務(wù)06時(shí)間安排: 理論課(1-9周): 星期一5-6節(jié)9407D 星期三5-6節(jié)9410D 實(shí)驗(yàn)課(3-8周): 星期一7-8節(jié)1311 星期四5-6節(jié)1311聯(lián)系郵箱:yshge@第一章

本章要點(diǎn)

C語(yǔ)言的特點(diǎn)

C程序的結(jié)構(gòu)在計(jì)算機(jī)上運(yùn)行C程序的方法

1.1計(jì)算機(jī)與程序、程序設(shè)計(jì)語(yǔ)言計(jì)算機(jī)與程序:要讓計(jì)算機(jī)按照人們的愿望工作,必須由人們事先編制好程序,并輸入到計(jì)算機(jī),讓計(jì)算機(jī)執(zhí)行程序才能產(chǎn)生相應(yīng)的操作結(jié)果。程序設(shè)計(jì)語(yǔ)言:一個(gè)型號(hào)機(jī)器語(yǔ)言的指令的集合稱為該計(jì)算機(jī)的機(jī)器語(yǔ)言;用一些特定的“助記符號(hào)”代替0和1來表示指令的程序設(shè)計(jì)語(yǔ)言稱為匯編語(yǔ)言;接近于人們習(xí)慣使用的自然語(yǔ)言(英文)和數(shù)學(xué)語(yǔ)言稱為“高級(jí)語(yǔ)言”。1.1計(jì)算機(jī)與程序、程序設(shè)計(jì)語(yǔ)言!!!用高級(jí)語(yǔ)言編寫的程序,計(jì)算機(jī)是不能直接識(shí)別和執(zhí)行的(計(jì)算機(jī)只能直接識(shí)別二進(jìn)制的指令),必須事先把用高級(jí)語(yǔ)言編寫的程序翻譯成機(jī)器語(yǔ)言程序,這個(gè)“翻譯”工作是由稱為“編譯系統(tǒng)”的軟件來實(shí)現(xiàn)的。1.2C語(yǔ)言出現(xiàn)的歷史背景C語(yǔ)言是國(guó)際上廣泛流行的高級(jí)語(yǔ)言。C語(yǔ)言是在B語(yǔ)言的基礎(chǔ)上發(fā)展起來的。B(BCPL)語(yǔ)言是1970年由美國(guó)貝爾實(shí)驗(yàn)室設(shè)計(jì)的,并用于編寫了第一個(gè)UNIX操作系統(tǒng)。優(yōu)點(diǎn):簡(jiǎn)單,接近硬件,缺點(diǎn):過于簡(jiǎn)單,功能有限。1972年至1973年貝爾實(shí)驗(yàn)室的D.M.Ritchie在B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了C語(yǔ)言,并用之改寫了原來用匯編編寫的UNIX。后來,C語(yǔ)言多次做了改進(jìn),但主要還是在貝爾實(shí)驗(yàn)室使用。1.2C語(yǔ)言出現(xiàn)的歷史背景1977年出現(xiàn)了《可移植C語(yǔ)言編譯程序》,推動(dòng)了UNIX在各種機(jī)器上實(shí)現(xiàn),C語(yǔ)言也迅速得到推廣,其發(fā)展相輔相成。1978年在BrianW.Kernighan和DennisM.Ritchie合著的影響深遠(yuǎn)的名著《TheCProgrammingLanguage》中介紹的C語(yǔ)言成為后來廣泛使用的C語(yǔ)言版本的基礎(chǔ)

,被稱為標(biāo)準(zhǔn)C。1978年以后,C語(yǔ)言先后移植到大、中、小、微型計(jì)算機(jī)上,風(fēng)靡世界,成為最廣泛的幾種計(jì)算機(jī)語(yǔ)言之一。

1.2C語(yǔ)言出現(xiàn)的歷史背景說明:不同版本的C編譯系統(tǒng)所實(shí)現(xiàn)的語(yǔ)言功能和語(yǔ)法規(guī)則又略有差別。因此讀者應(yīng)了解所用的C語(yǔ)言編譯系統(tǒng)的特點(diǎn)。本書的敘述基本上以C89為基礎(chǔ)的。

1.3C語(yǔ)言的特點(diǎn)(6)允許直接訪問物理地址,可直接對(duì)硬件進(jìn)行操作。兼有高級(jí)和低級(jí)語(yǔ)言的功能。(7)目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。只比匯編程序生成的目標(biāo)代碼效率低10%-20%。(8)用C語(yǔ)言編寫的程序可移植性好?;旧喜蛔鲂薷木湍苡糜诟鞣N型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。

1.4簡(jiǎn)單的C語(yǔ)言程序例1.1#include<stdio.h>voidmain(){printf("ThisisaCprogram.\n");}/*文件包含*//*主函數(shù)*//*函數(shù)體開始*//*輸出語(yǔ)句*//*函數(shù)體結(jié)束*/

說明:main-主函數(shù)名,void-函數(shù)類型每個(gè)C程序必須有一個(gè)主函數(shù)main{}是函數(shù)開始和結(jié)束的標(biāo)志,不可省每個(gè)C語(yǔ)句以分號(hào)結(jié)束使用標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)應(yīng)在程序開頭一行寫:#include<stdio.h>說明:

本程序的作用是輸出一行信息:ThisisaCprogram.例1.2求兩數(shù)之和

#include<stdio.h>

voidmain()/*求兩數(shù)之和*/

{

inta,b,sum;/*聲明,定義變量為整型*/

/*以下3行為C語(yǔ)句*/

a=123;b=456;

sum=a+b;

printf(″sumis%d\n″,sum);

}說明:/*……*/表示注釋。注釋只是給人看的,對(duì)編譯和運(yùn)行不起作用。所以可以用漢字或英文字符表示,可以出現(xiàn)在一行中的最右側(cè),也可以單獨(dú)成為一行。說明:

輸出一行信息:sumis579例1.3求2個(gè)數(shù)中較大者。

#include<stdio.h>

voidmain()/*主函數(shù)*/

{

intmax(intx,inty);/對(duì)被調(diào)用函數(shù)max的聲明*/

inta,b,c;/*定義變量a、b、c*/

scanf(″%d,%d″,&a,&b);/*輸入變量a和b的值*/

c=max(a,b);/*調(diào)用max函數(shù),將得到的值賦給c*/

printf(″max=%d\\n″,c);/*輸出c的值*/

}程序運(yùn)行情況如下:8,5↙(輸入8和5賦給a和b)max=8(輸出c的值)intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}max(intx,inty)

max(a,b);

說明:本程序包括main和被調(diào)用函數(shù)max兩個(gè)函數(shù)。max函數(shù)的作用是將x和y中較大者的值賦給變量z。return語(yǔ)句將z的值返回給主調(diào)函數(shù)main。1.4簡(jiǎn)單的C語(yǔ)言程序C程序:(1)C程序是由函數(shù)構(gòu)成的。這使得程序容易實(shí)現(xiàn)模塊化。

(2)一個(gè)函數(shù)由兩部分組成:

函數(shù)的首部:例1.3中的max函數(shù)首部intmax(intx,inty)

函數(shù)體:花括號(hào)內(nèi)的部分。若一個(gè)函數(shù)有多個(gè)花括號(hào),則最外層的一對(duì)花括號(hào)為函數(shù)體的范圍。函數(shù)體包括兩部分:聲明部分:inta,b,c;可缺省執(zhí)行部分:由若干個(gè)語(yǔ)句組成??扇笔?/p>

1.4簡(jiǎn)單的C語(yǔ)言程序注意:函數(shù)的聲明部分和執(zhí)行部分都可缺省,例如:voiddump(){}

這是一個(gè)空函數(shù),什么也不做,但是合法的函數(shù)。

1.4簡(jiǎn)單的C語(yǔ)言程序小結(jié):(6)C語(yǔ)言本身沒有輸入輸出語(yǔ)句。輸入和輸出的操作是由庫(kù)函數(shù)scanf和printf等函數(shù)來完成的。C對(duì)輸入輸出實(shí)行“函數(shù)化”。(7)可以用/*……*/對(duì)C程序中的任何一行或數(shù)行做注釋。一個(gè)好的、有使用價(jià)值的源程序都應(yīng)當(dāng)加上必要的注釋,以增加程序的可讀性。

1.5運(yùn)行C程序的步驟和方法1.5.1運(yùn)行C程序的步驟上機(jī)輸入與編輯源程序?qū)υ闯绦蜻M(jìn)行編譯與庫(kù)函數(shù)連接運(yùn)行目標(biāo)程序例:VC++6.0的使用1.安裝VC++6.0和進(jìn)入VC++6.0集成環(huán)境(1)VisualC++6.0適用于Windows環(huán)境。首先在所用的計(jì)算機(jī)上安裝VisualC++6.0系統(tǒng)。安裝完后,雙擊VisualC++6.0圖標(biāo),就能進(jìn)入VC++6.0集成環(huán)境。(2)在VC++主窗口的頂部是VC++的主菜單欄。其中包含9個(gè)項(xiàng)∶FileEditViewInsertProjectBuildToolswindowsHelp;主窗口的左側(cè)是項(xiàng)目工作區(qū)窗口(用來顯示所設(shè)定的工作區(qū)的信息),右側(cè)是程序編輯窗口(用來輸入和編輯源程序)。單擊屏幕上出現(xiàn)的“New”對(duì)話框上方的“Files”,在其下拉菜單中選擇“C++SourceFile”項(xiàng);然后在對(duì)話框右半“Location”文本框中輸入準(zhǔn)備編輯的源程序文件的存儲(chǔ)路徑(假定為D:\cc);在其上方的File(文件)文本框中輸入準(zhǔn)備編輯的源程序文件的名字(輸入c1-1.c)。②輸入和編輯源程序單擊“OK”按鈕后,回到VC++主窗口程序,編輯窗口已激活,即可輸入和編輯源程序。在輸入過程中如發(fā)現(xiàn)有錯(cuò)誤,可以利用全屏幕編輯方法進(jìn)行修改編輯。

③源程序的保存檢查無(wú)誤后,在主菜單欄中選擇“File”(文件),并在其下拉菜單中選擇“Save”(保存)項(xiàng)

說明:VC++6.0可以編譯后綴為.c的C源程序,也可以編譯后綴為.cpp的C++源程序。

3.程序的編譯單擊主菜單欄中的“Build”,在其下拉菜單中選擇“Compliec1-1.c”項(xiàng)。在單擊編譯命令后,屏幕上出現(xiàn)一個(gè)是否同意建立一個(gè)默認(rèn)的項(xiàng)目工作區(qū)的對(duì)話框單擊“Yes”(是)按鈕后開始編譯。也可以不用選擇菜單的方法,而用“Ctrl+F7”來完成編譯。編譯完成后,調(diào)試窗口出現(xiàn)編譯信息,如果無(wú)錯(cuò)生成目標(biāo)文件c1-1.obj,否則指出錯(cuò)誤位置和性質(zhì)。4.程序的連接

生成目標(biāo)文件后,把程序和系統(tǒng)提供的資源(如函數(shù)據(jù)庫(kù)、頭文件)建立連接。選擇“Build”→“Buildtest.exe”。

執(zhí)行連接后,在調(diào)試輸出窗口中顯示連接時(shí)的信息,生成可執(zhí)行文件c1-1.exe。說明:

選擇菜“Build”→“Build”(或按“F7”鍵)一次完成編譯

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論