1. 程式人生 > >第一章第一節(概述)

第一章第一節(概述)

c語言誕生於20世紀70年代,最初的設計目的是為了編寫作業系統
弱點:缺乏資料型別檢查機制,程式碼重用性差等。
20世紀80年代,貝爾實驗室進行擴充為c++,強化了資料的型別檢查和語句的結構性,增加了面向物件程式設計的支援。

程式設計與程式設計語言
我自己覺得隨著科技的發展,每個人都會學到相關的計算機相關的語言,有可能計算機語言會成為人類的語言,如果有那麼一天人類是不幸的。
“程式設計語言”是人指揮計算機工作的工具,它是一種工程語言,,有字詞和語法規則組成的的指令系統。
計算機對問題的求解方式通常是可以用數學模型抽象。
從過程化結構化到近代出現的面向物件的程式設計,體現了程式設計的理論、方法的不斷髮展。
用高階語言編寫的程式稱為“源程式”,計算機不能直接識別源程式,必須翻譯為二進位制程式碼才能在機器上執行。一旦編譯成功,目標程式就可以反覆高速的執行。
1、資料描述


資料描述是指把被處理的資訊描述成為計算機可以接受的 資料型別如:整數,實數,字元,陣列等。
資訊可以用人工或自動化裝置進行記錄,解釋和處理。使用計算機進行資訊處理時,,這些資訊必須轉化為可以被機器識別的“資料”如:數字,文字,圖片,聲音等。不管什麼資料,計算機都以二進位制進行儲存和加工處理。
資料是資訊的載體,資訊依靠資料來表達。
(有一些資料,可以直接用程式設計語言的“資料型別”描述,另外的一些資料,雖然一般的程式設計語言沒有提供直接的定義,但是許多開發商都會提供相應的處理工具。例如:Visual Studio.NET Framework類庫提供了豐富的多媒體資料處理方法,可以在介面或程式程式碼中使用或處理圖形,聲音等資料 )
2、資料的處理

資料處理是指對資料進行輸入,輸出,整理,就算,儲存,維護等一系列活動。資料處理的目的是為了提供所需的資料成分,獲得有用的資料。
(暫時不是很理解啊)程式設計語言的規則都是圍繞描述資料,操作資料而設計的。在結構化程式設計中,資料的描述和處理是分離的。用面向物件方法,程式對資料和處理進行封裝。按照人們的習慣的思維模式和軟體重用原則,物件還具有繼承和多型等特性。每種程式設計語言都有自己的一套理論框架,相應的設計、分析、建模方法,都有自己的優缺點。採用什麼方法設計程式,應該依據問題的性質、規模、特點進行選擇。
一個簡單的c++程式
問題:
輸入圓的半徑,求圓的周長和麵積

#include<iostream>
using namespace std;
int main()
{
    cout<<"請輸入圓的半徑";        
    double radius,area,girth;       //定義變數半徑,面積和周長
    cin>>radius;
    const double PI = 3.1415926;
    area = PI*radius*radius;
    girth = PI*2*radius;
    cout<<"圓的半徑為"<<radius<<endl;
    cout<<"此圓的面積為"<<area<<endl;
    cout<<"此圓的周長為"<<girth<<endl;
    return 0;
}

注意:中英文的標點符號,注意是變數就要定義資料型別,注意儘量使用說明性的註釋,說明性的輸出資訊
c++主函式的輸出型別一般是int或void

#include<iostream>
using namespace std;
class Circle        //說明類
{
    double radius;  //類的資料成員
    public:
    //類的成員函式
    void Set_Radius(double r)
    {
        radius = r;
    }
    double Get_Radius()
    {
        return radius;
    }
    double Get_Girth()
    {
        return 3.14*2*radius;
    }
    double Get_Area()
    {
        return 3.14*radius*radius;
    }
};      //注意此處的分號
int main()
{
    Circle A,B;
    A.Set_Radius(6.23);
    cout<<"A.Radius = "<<A.Get_Radius();
    cout<<"A.Girth = "<<A.Get_Girth();
    cout<<"A.Area = "<<A.Get_Area();
    B.Set_Radius(10.5);
    cout<<"B.Radius = "<<B.Get_Radius();
    cout<<"B.Girth = "<<B.Get_Girth();
    cout<<"B.Area = "<<B.Get_Area();
}

注意:類的描述中結束後有個分號,注意輸出語句要換行才顯得美觀(endl)
自己試著編寫啊

程式的編譯執行:
源程式是文字檔案,便於閱讀修改C++的.cpp檔案時文字檔案,可以用各種字處理工具開啟和編輯。計算機不能識別源程式嗎,必須翻譯成二進位制程式碼。翻譯方式有兩種:解釋方式和編譯方式。
解釋方式是指由“解釋程式”對源程式逐個語句地一邊翻譯,一邊執行。執行速度慢,便於觀察除錯程式。
編譯方式是指由“解釋程式”把源程式全部翻譯成二進位制程式碼。編譯後的程式稱為“目標程式”,可以反覆高速執行。(c++編譯方式)
實現c++語言源程式三步驟:
編輯:
用編輯器錄入,若使用c++編輯器則系統會自動的生成.cpp為副檔名的檔案;若使用其他的編輯器則只有以.cpp為副檔名的檔案才能被識別。
編譯:
把.cpp 檔案編譯成.exe目標檔案,要通過預處理,編譯和連結三個步驟:預處理的作用是執行程式編譯之前的準備,例如:執行包含命令、巨集替換命令;然後編譯器對程式進行語法檢查生成目的碼;最後目的碼進行連線處理,往往還會加入一些系統提供的庫檔案程式碼。
這些步驟在整合開發環境中會自動完成。
執行:
存在的錯誤,
編譯錯誤:在編譯源程式時,發現的語法錯誤。
連線錯誤:在程式編譯之後,進行連線時出現的錯誤。
執行錯誤:執行目標程式時出現的錯誤。如:sqrt(-2)
邏輯錯誤:編譯和執行時均不能發現的錯誤。
自己寫的程式應該達到以下目標:
正確性,易讀性,健壯性,執行高效率(執行時間短,所佔空間少)