1. 程式人生 > >第一章:程序設計和C語言

第一章:程序設計和C語言

統一 c程序 集合 out 包含 有一個 機器 文件名 部分

一、什麽是計算機程序?

所謂程序就是一組計算機能識別和執行的指令。計算機的一切操作都是由程序控制的,本質是程序的機器,程序和指令是計算機系統最基本的概念。

二、什麽是計算機語言?

人和計算機交流信息要解決語言問題,需要創造一種計算機和人都能識別的語言,這就是計算機語言。

1、計算機發展的階段

機器語言:

  計算機只能識別和接收由0和1組成的指令。如:0100001

  計算機能直接識別和接受的二進制代碼稱為機器指令

  機器指令的集合就是該計算機的機器語言

符號語言:

  即匯編語言。把符號語言的指令轉換為機器指令,轉換過程稱為代真或匯編,因此,符號語言又稱為符號匯編語言或匯編語言

  由於它“貼近”計算機,離計算機“很近”稱為計算機低級語言

高級語言:

  第一個高級語言——FORTRAN語言,這種語言功能很強,而且不依賴於具體機器,用它寫出的程序對任何型號的計算機都適用(或只須做很少的該公),它與具體

  機器距離較遠,故稱為計算機高級語言

  用一種稱為編譯程序的軟件把高級語言寫的程序稱為源程序。轉換為機器指令的程序稱為目標程序,然後讓計算機執行機器指令程序,最後得到結果。

三、C語言的發展及其特點

C語言是國際上廣泛流行的計算機高級語言。

1、C語言的由來

CPL——>BCPL——>B語言——>C語言

BCPL:1967年英國劍橋大學的Martin Richards推出沒有類型的BCPL語言;

B語言:1970年美國AT&T貝爾實驗室Ken Thompson設計出B語言取BCPL第一個字母;

C語言:1972--1973年間,美國AT&T貝爾實驗室的D.M.Ritchie在B語言基礎上設計出C語言取BCPL第二個字母。

2、C語言的特點

(1)語言簡潔,緊湊,使用方便靈活;

(2)運算符豐富;

(3)數據類型豐富;

(4)具有結構化的控制語句;

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

(6)C語言允許直接訪問物理地址,能進行bit操作,能實現匯編語言大部分功能,可以直接對硬件進行控制;

(7)用C語言編寫的程序可移植性好;

(8)生成目標代碼質量高,程序執行效率高。

四、最簡單的C語言程序

#include<stdio.h>    //這是編譯預處理指令
int main()    //定義主函數
{    //函數開始的標誌
    printf("Hello World");    //輸出所指定的信息
    return 0;        //函數執行完畢時返回函數值0
}    //函數結束的標誌

main:函數的名字,表示主函數,main前面的int表示次函數的類型是基本整型;

printf:輸出函數;

{}:函數體;

return 0:返回的函數值是給調用main函數的操作系統用的,用來檢測函數是否正常執行;

stdio:standard input 和 output;

.h:頭文件,header file;

stdio.h:系統提供的文件名。輸入輸出函數的相關信息事先放在stdio.h文件中;

#include:把這些信息調入供使用;

#include<stdio.h>:只要用到標準庫中的輸入輸出函數,應該在文件開頭寫上;

//:單行註釋;

/**/:塊註釋。

1、C語言的應用場景

(1)系統軟件;

(2)驅動;

(3)操作系統內核;

(4)嵌入式(單片機)開發;

(5)小程序。

2、C語言程序結構

(1)一個程序由一個或多個源程序文件組成。

  預處理指令:如#include<stdio.h>。先由一個“預處理器”對預處理指令進行預處理。

        對於#include<stdio.h>來說就是將stdio.h頭文件的內容讀進來放在#include指令行,取代了#include<stdio.h>。

  全局聲明:在函數之外進行的數據聲明。

       放在函數外面聲明的變量稱為全局變量反之局部變量。

  函數定義:每個函數用來實現一定的功能。在調用這些函數時,會完成函數定義中指定的功能。

(2)函數是C程序的主要組成部分

程序幾乎全部的工作都是由各個函數分別完成的,函數時C程序的基本單位。編寫C程序的工作主要就是編寫一個個函數。

一個C語言程序是由一個或多個函數組成的,其中必須包含一個main函數(且只能有一個main函數)。

一個小程序只包含一個源程序文件,在一個源程序文件中包含若幹個函數(其中有一個main函數)。

在進行編譯時是以源程序文件為對象進行的。在分別對各源程序文件(程序模塊)進行編譯並得到相應的目標程序後,再將這些目標程序連接成為一個統一的二進制的可執行程序。

(3)一個函數包括兩個部分

函數首部:例max函數首部:int函數類型 ,max函數名,(int函數參數類型 x函數參數名)

函數體:即函數首部下面的花括號內的部分。最外層花括號是函數體範圍。

    函數體包括兩個部分:

      聲明部分:定義在本函數中所用到的變量;int a,b,c;,對本函數所調用函數進行聲明,如:int max(int x,int y);

      執行部分:由若幹個語句組成,指定在函數中進行的操作。

(4)程序總是從main函數開始執行的

main函數可以放在程序最前頭,也可以放在程序最後,或在一些函數之前、另一些函數之後。

(5)程序中對計算機的操作是由函數中的C語句完成的

賦值、輸入輸出數據的操作都是由相應的C語句實現的。C程序書寫格式比較自由,一行可寫多個語句,一個語句可在多行寫。

(6)在每個數據聲明和語句的最後必須有一個分號

分號是C語句的必要組成部分。

(7)C語言本身不提供輸入輸出語句

輸入輸出語句是由庫函數來完成的。使程序具有可移植性。

(8)程序應當包含註釋

加上註釋,增加程序的可讀性

總結:

(1)C語言本身不提供輸入輸出語句,輸入輸出操作是由C標準函數庫中的函數實現的;

(2)C語言的算法可以有0個或多個輸入,但必須要有1個或多個輸出(必須要有輸出);

(3)C源文件(編譯)obj目標文件(連接)exe可執行文件

(4)一條語句 多行寫;多條語句,一行寫。

第一章:程序設計和C語言