第1章-C語言概述教材_第1頁
第1章-C語言概述教材_第2頁
第1章-C語言概述教材_第3頁
第1章-C語言概述教材_第4頁
第1章-C語言概述教材_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

任課教師:陳玉哲E-mail:hebtu_cyz@第一章

主要內(nèi)容1.1計算機與程序、程序設計語言1.2C語言出現(xiàn)的歷史背景1.3C語言的特點1.4簡單的C語言程序1.5運行C程序的步驟和方法

本章要點

C語言的特點

C程序的結構在計算機上運行C程序的方法

1.1計算機與程序、程序設計語言程序設計語言程序/軟件(一般為.exe)計算機編制運行C語言是一種程序設計語言

1.1計算機與程序、程序設計語言程序設計語言的發(fā)展和分類:機器語言匯編語言FORTRQAN等缺點:不通用使用二進制例如:

ADDA,B例如,高級語言中:

C=(A+B)*2低級語言高級語言

1.1計算機與程序、程序設計語言高級語言的現(xiàn)狀:影響最大的包括:FORTRAN和ALGOL(適合數(shù)值計算)BASIC和QBASIC(適合初學者的小型會話語言)COBOL(適合商業(yè)管理)Pascal(適合教學)PL/1(大型通用語言)LISP和PROLOG(人工智能語言)C(系統(tǒng)描述語言)C++(大型語言,支持面向對象)Java(適于開發(fā)網(wǎng)絡應用)

1.1計算機與程序、程序設計語言編譯系統(tǒng):用高級語言編寫的程序,計算機是不能直接識別和執(zhí)行的(計算機只能直接識別二進制的指令),必須事先把用高級語言編寫的程序翻譯成機器語言程序,這個“翻譯”工作是由稱為“編譯系統(tǒng)”的軟件來實現(xiàn)的。

1.2C語言出現(xiàn)的歷史背景C語言是國際上廣泛流行的高級語言。C語言是在B語言的基礎上發(fā)展起來的。B(BCPL)語言是1970年由美國貝爾實驗室設計的,并用于編寫了第一個UNIX操作系統(tǒng)。優(yōu)點:簡單,接近硬件,缺點:過于簡單,功能有限。

1972年至1973年貝爾實驗室的D.M.Ritchie

在B語言的基礎上設計出了C語言,并用之改寫了原來用匯編編寫的UNIX。后來,C語言多次做了改進,但主要還是在貝爾實驗室使用。

1.2C語言出現(xiàn)的歷史背景1977年出現(xiàn)了《可移植C語言編譯程序》,推動了UNIX在各種機器上實現(xiàn),C語言也迅速得到推廣,其發(fā)展相輔相成。1978年在BrianW.Kernighan和DennisM.Ritchie

合著的影響深遠的名著《TheCProgrammingLanguage》中介紹的C語言成為后來廣泛使用的C語言版本的基礎

,被稱為標準C。1978年以后,C語言先后移植到大、中、小、微型計算機上,風靡世界,成為最廣泛的幾種計算機語言之一。

1.2C語言出現(xiàn)的歷史背景1983年,美國國家標準化協(xié)會(ANSI)根據(jù)C語言各種版本對C的發(fā)展和擴充,制定了新的標準ANSIC

,比標準C有了很大的發(fā)展。1987年,ANSI公布了新標準——87ANSIC。1989年,ANSI又公布了一個新的C語言標準—C891990年,ISO接受C89作為國際標準通常稱為C901999年,ISO對C語言標準進行修訂,在基本保留原來的C語言特征的基礎上,增加了一些面向對象的特征,簡稱為C99。

目前流行的C語言編譯系統(tǒng)大多是以C89為基礎進行開發(fā)的。

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

1.3C語言的特點(1)語言簡潔、緊湊,使用方便、靈活:

32個關鍵字、9種控制語句,程序形式自由(2)運算符豐富。34種運算符

(3)數(shù)據(jù)類型豐富:提供整型、浮點型、字符型、數(shù)組類型、指針類型、結構體類型、共用體類型等,能用來實現(xiàn)各種復雜的數(shù)據(jù)結構(如鏈表、樹、棧等)的運算。(4)C語言是完全模塊化和結構化的語言。

(5)語法限制不太嚴格,程序設計自由度大。

1.3C語言的特點(6)允許直接訪問物理地址,可直接對硬件進行操作。兼有高級和低級語言的功能。(7)目標代碼質量高,程序執(zhí)行效率高:只比匯編程序生成的目標代碼效率低10%-20%。(8)用C語言編寫的程序可移植性好:基本上不做修改就能用于各種型號的計算機和各種操作系統(tǒng)。

1.3C語言的特點解釋1:C++是由于開發(fā)大型應用軟件的需要而產(chǎn)生的,并不是所有的人都要去編寫大型軟件;解釋2:面向對象的基礎是面向過程。C++是面向對象的語言,C是面向過程的,學起來比C語言困難得多,所以不太適合程序設計的初學者。問題:既然有了面向對象的C++語言,為什么還要學習C語言?

1.3C語言的特點

1:多讀例題,照葫蘆畫瓢;

2:積累經(jīng)驗,提高編程技能;

3:一定要上機實踐。如何學習該課程?

1.3C語言的特點

1:機試,20%;

2:筆試,80%;如何考核?

1.4簡單的C語言程序例1.1本程序的作用是輸出一行信息:ThisisaCprogram.#include<stdio.h>void

main(){

printf("ThisisaCprogram.\n");}說明:(1)C程序由函數(shù)組成,且必須有一個名為main的函數(shù),這是程序的入口。

1.4簡單的C語言程序例1.1本程序的作用是輸出一行信息:ThisisaCprogram.#include<stdio.h>void

main(){

printf("ThisisaCprogram.\n");}說明:(2)函數(shù)的組成

1.4簡單的C語言程序例1.1本程序的作用是輸出一行信息:ThisisaCprogram.#include<stdio.h>void

main(){

printf("ThisisaCprogram.\n");}說明:(3)輸出要調(diào)用標準函數(shù)庫中的printf函數(shù)?!癨n”是換行符。(4)要使用系統(tǒng)提供的標準函數(shù)庫中的輸入輸出函數(shù),應在程序的開頭寫這樣一行:

#include<stdio.h>(5)語句以分號結束

1.5運行C程序的步驟和方法1.5.1運行C程序的步驟

1.5運行C程序的步驟和方法

1.5運行C程序的步驟和方法

1.5.2上機運行C程序的方法目前使用的大多數(shù)C編譯系統(tǒng)都是集成環(huán)境(IDE)的??梢杂貌煌木幾g系統(tǒng)對C程序進行操作常用的有TurboC2.0、TurboC++3.0、VisualC++6.0等前些年,TurboC2.0用得比較多,但TurboC2.0是用于DOS環(huán)境的,不能用鼠標進行操作,很不方便,所以近年來不少人改為用TurboC++3.0或VisualC++6.0對C程序進行編譯

例:VC++6.0的使用1.安裝VC++6.0和進入VC++6.0集成環(huán)境

(1)VisualC++6.0適用于Windows環(huán)境。首先在所用的計算機上安裝VisualC++6.0系統(tǒng)。安裝完后,雙擊VisualC++6.0圖標,就能進入VC++6.0集成環(huán)境。(2)在VC++主窗口的頂部是VC++的主菜單欄。其中包含9個項∶FileEditViewInsertProjectBuildToolswindowsHelp;主窗口的左側是項目工作區(qū)窗口(用來顯示所設定的工作區(qū)的信息),右側是程序編輯窗口(用來輸入和編輯源程序)。2.輸入和編輯源程序新建一個源程序

①在VC++主窗口的主菜單欄中選擇“File”,然后選擇“New”單擊屏幕上出現(xiàn)的“New”對話框上方的“Files”,在其下拉菜單中選擇“C++SourceFile”項;然后在對話框右半“Location”文本框中輸入準備編輯的源程序文件的存儲路徑(假定為D:\cc,注意,應該為每個程序創(chuàng)建一個文件夾);在其上方的File(文件)文本框中輸入準備編輯的源程序文件的名字(輸入c1-1.c)。②輸入和編輯源程序單擊“OK”按鈕后,回到VC++主窗口程序,編輯窗口已激活,即可輸入和編輯源程序。在輸入過程中如發(fā)現(xiàn)有錯誤,可以利用全屏幕編輯方法進行修改編輯。

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

說明:

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

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

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

test.exe”。

執(zhí)行連接后,在調(diào)試輸出窗口中顯示連接時的信息,生成可執(zhí)行文件c1-1.exe。5程序的執(zhí)行執(zhí)行c1-1.exe文件,選擇“Build”→“!Executec1-1.exe”程序執(zhí)行后,屏幕切換到輸出結果的窗口,顯示輸出結果。第1行:程序的輸出第2行:是VC++在輸出完運行結果后由VC++6.0系統(tǒng)自動加上的一行信息,通知用戶∶“按任何一鍵以便繼續(xù)”。說明:

關閉程序:File(文件)CloseWorkspace(關閉工作區(qū))。

打開一個已有的程序:

①在“我的電腦”中按路徑找到已有的C程序名;

②雙擊此文件名,則進入了VC++集成環(huán)境,并打開了該文件,程序已顯示在編輯窗口中;

③修改后選擇“File”(文件)→“Save”(保存),保存在原來的文件中;

更多的例子例1.2求兩個整數(shù)之和

#include<stdio.h>

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

{

int

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

a=123;b=456;/*以下3行為C語句*/

sum=a+b;

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

}說明:

(1)變量聲明(2)變量賦值(3)算術運算(4)Printf輸出整型變量的值(5)一行可以寫多條語句(6)/*……*/表示注釋說明:

輸出一行信息:sumis579思考:修改例題1.2,輸出:a=123,b=456,a+b=579例1.3求2個整數(shù)中較大者。

#include<stdio.h>

voidmain()

{

int

max(int

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

inta,b,c;

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

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

printf(″max=%d\n″,c);

}

intmax(intx,inty)

{

intz;

if(x>y)z=x;

elsez=y;

return(z);

}

程序運行情況如下:8,5↙max=8說明:(1)在main函數(shù)中聲明max函數(shù)(2)輸入函數(shù)scanf(3)調(diào)用函數(shù)并將返回值賦給變量

總結:簡單的C語言程序(1)C程序是由函數(shù)構成的。這使得程序容易實現(xiàn)模塊化。

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

函數(shù)的首部:例1.3中的max函數(shù)首部

int

max(int

x,inty)

函數(shù)體:花括號內(nèi)的部分。總結:簡單的C語言程序(3)C程序總是從main函數(shù)開始執(zhí)行的,與main函數(shù)的位置無關。(4)C程序書寫格式自由,一行內(nèi)可以寫幾個語句,一個語句可以分寫在多行上,C程序沒有行號。(5)每個語句和數(shù)據(jù)聲明的最后必須有一個分號。分號是C語句的必要組成部分。即使是程序中最后一個語句也應包含分號。

總結:簡單的C語言程序(6)C語言本身沒有輸入輸出語句。輸入和輸出的操作是由庫函數(shù)scanf和printf等函數(shù)來完成的。C對輸入輸出實行“函數(shù)化”。(7)可以用/*……*/對C程序中的任何一行或數(shù)行做注釋。一個好的、有使用價值的源程序都應當加上必要的注釋,以增加程序的可讀性。照葫蘆畫瓢參照例題1.1,實現(xiàn)習題4編寫一個C程序,輸出以下信息:******************************

Verygood!******************************基于例題1.3,實現(xiàn)習題5編寫一個C程序,輸入a,b,c3個值,輸出其中最大者。分析下面程序的邏輯錯誤#include<stdio.h>voidmain(){

int

max(int

x,int

y,intz);

inta,b,c,m1;

scanf("%d,%d,%d",&a,&b,&c);m1=max(a,b,c);

printf("max=%d\n",m1);

溫馨提示

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

評論

0/150

提交評論