大學生為什麼要學習C語言

2021-06-18 13:25:27 字數 3071 閱讀 9534

c++語言是一種應用較廣的物件導向的程式語言,使用它可以實現物件導向的程式設計。物件導向的設計與面向過程的設計是有很大區別的,物件導向的程式設計是在面向過程的程式設計的基礎上乙個質的飛躍。要學會物件導向的程式設計,首先要學會一種物件導向的語言,即要學會用vc程式設計,就要先有c++的基礎,而學習c++語言首先要認識它物件導向的特性和實現物件導向的方法。

c++是一種物件導向的程式語言

當你首次學習c++時,總會碰到一些在c語言從未見過的概念,如:類、物件、抽象、封裝、繼承、多型性、虛函式等等。這些概念是c++所具有,下面簡單的介紹一下c++對物件導向程式設計方法的支援和實現。

1、c++支援資料封裝

支援資料封裝就是支援資料抽象。在c++中,類是支援資料封裝的工具,物件則是資料封裝的實現。面向過程的程式設計方法與物件導向的程式設計方法在對待資料和函式關係上是不同的,在物件導向的程式設計中,將資料和對該資料進行合法操作的函式封裝在一起作為乙個類的定義,資料將被隱藏在封裝體中,該封裝體通過操作介面與外界交換資訊。物件被說明具有乙個給定類的變數,類類似於c語言中的結構,在c語言中可以定義結構,但這種結構中包含資料,而不包含函式。c++中的類是資料和函式的封裝體。在c++中,結構可作為一種特殊的類,它雖然可以包含函式,但是它沒有私有或保護的成員。

2、c++類中包含私有、公有和保護成員

c++類中可定義三種不同訪控制許可權的成員。一種是私有(private)成員,只有在類中說明的函式才能訪問該類的私有成員,而在該類外的函式不可以訪問私有成員;另一種是公有(public)成員,類外面也可訪問公有成員,成為該類的介面;還有一種是保護(protected)成員,這種成員只有該類的派生類可以訪問,其餘的在這個類外不能訪問。

3、c++中通過發關訊息來處理物件

c++中是通過向物件發關訊息來處理物件的,每個物件根據所接收到的訊息的性質來決定需要採取的行動,以響應這個訊息。響應這些訊息是一系列的方法,方法是在類定義中使用函式來定義的,使用一種類似於函式呼叫的機制把訊息傳送到乙個物件上。

4、c++中允許友元破壞封裝性

類中的私有成員一般是不允許該類外面的任何函式訪問的,但是友元便可打破這條禁令,它可以訪問該類的私有成員(包含資料成員和成員函式)。友元可以是在類外定義的函式,也可以是在類外定義的整個類,前者稱友元函式,後者稱為友元類。友元打破了類的封裝性,它是c++另乙個物件導向的重要牲。

5、c++允許函式名和運算子過載

c++支援多型性,c++允許乙個相同的識別符號或運算子代表多個不同實現的函式,這就稱識別符號或運算子的過載,使用者可以根據需要定義識別符號過載或運算子過載。

6、c++支援繼承性

c++中可以允許單繼承和多繼承。乙個類可以根據需要生成派生類。派生類繼承了基類的所有方法,另外派生類自身還可以定義所需要的不包含在父類中的新方法。乙個子類的每個物件包含有從父類那裡繼承來的資料成員以及自己所特有的資料成員。

7、c++支援動態聯編

c++中可以定義虛函式,通過定義虛函式來支援動態聯編。

以上是所講的是c++對物件導向程式設計中的一些主要特徵的支援。

c++的詞法及詞法規則

1、c++的字符集

字元是一些可以區分的最小符號。c++的字符集由大小寫英文本母(a-z和a-z)、資料字元(0-9)、特殊字元(空格,!,#,%,^,&,*,_,<,>,?,\,,)組成。

2、單詞及詞法規則

單詞又稱詞法記號,它是由若干個字元組成的具有一定意義的最小詞法單元。c++共有6種單詞,分別是:識別符號、關鍵字、運算子、分隔符、常量、注釋符,在編碼時要特別注意這些單詞的詞法規則。要注意的是c++中的空白符:c++中經常使用空白符,實際上,空白符不是乙個字元,它是空格符、換行符和水平製表符的統稱。注意,空白符不等於空格符,只是空白符包含空格符。還有乙個空字元,要把它與空白符分開。空字元是指ascii碼值為0的那個字元。空字元在c++中有特殊用途,用它來作為字串的結束符。存放在記憶體中的字串常量都在最後有乙個結束符,即用空字元,它用轉義序列方法表示為』\0』。

c++程式結構的組成

c++程式結構的基本組成部分

1 預處理命令,c++提供了三類預處理命令:巨集定義命令、檔案包含命令、條件編譯命令。

2 輸入輸出,c++程式中總是少不了輸入和輸出的語句,實現與程式內部的資訊交流。特別是螢幕輸出的功能,幾乎每個程式都要用到,使用它把計算機的結果顯示在螢幕上。

3 函式,c++的程式是由若干個檔案組成的,每個檔案又是由若干個函式組成,因此,可以認為c++的程式就是函式串,即由若干個函式組成,函式與函式之間是相對的,並且是並行的,函式之間可以呼叫。在組成乙個程式的若干個函中,必須有乙個main()。

4 語句,語句是組成程式的基本單元。函式是由若干條語句組成的。但是,空函式是沒有語句的。語句是由單詞組成,單詞間用空格符分隔,c++程式中的語句又是以以分號結束。語句除了有表示式語句和空語句之外,還有復合語句、分支語句、迴圈語句和轉向語句等若干類。

5 變數,多數程式都需要說明和使用變數。廣義講,物件包含了變數,即將變數也稱為一種物件,狹義講,將物件看作是類的例項,物件是指某個類的物件。

6 其他,除了以上講述的5個部分以外,還有其他組成部分。例如,符號常量和注釋資訊也是程式的一部分。c++中都盡量把常量定義為符號常量,在c++的程式中出現的是符號常量,該符號常量代表著某個確定的常量值。

c++程式的書寫格式

在程式設計時應該注意c++的書寫格式,基本原則是:一行一般寫一條語句。短語句可以一行寫多個。長語句可以一條寫多行。分行原則是不能將乙個單詞分開。用雙引號引用的乙個字串也最好不分開,如果一定要分開,有的編譯系統要求在行尾加續行符(「\」)

c++程式的實現

c++源程式的實現與其他高階語言源程式實現的原理是一樣的。一般都要經過編輯、編譯、執行。其中最要的是編譯過程,c++是以編譯方式實現的高階語言。c++程式的實現,必須要使用某種c++語言的編譯器對程式進行編譯。編譯器的功能是將程式的源**轉換成為機器**的形式,稱為目標**;然後,再使目標**進行連線,生成可執行檔案。該過程可分為三個子過程:預處理過程、編譯過程(詞法分析、語法分析、符號表、錯誤處理程式、生成目標**)、連線過程。

visual c++ 6.0版本是當前國內比較流行的一種c++編譯系統。

機械學生為什麼學習C

前言 我大學學習的專業是機械設計製造及其自動化,是一門很綜合的方向,既有硬體設計也有軟體 電路的知識非常廣泛。我個人興趣較偏向於自動化,所以程式設計就成了我這個機械專業學生的必備知識。學院的課程是按排學習大名鼎鼎的c語言,面向計算機底層通常我們叫電控。當專案比較複雜,即有可能包含大量的資料運算或者需...

為什麼現在大學生不好找工作

為什麼現在大學生不好找工作 我只是想寫一些感慨而已,在此宣告,不是針對任何乙個人的。我有很多同學,也有一些朋友,他們說自己難找工作。在這裡我分析了一下,其實找不到工作有兩種解釋。一是眼高手低的人,一是沒學到東西的人。其實對於第一種人,大可不必擔心他找不到工作,因為他是有能力的人,只是把自己看的太重了...

為什麼很多大學生認為程式設計很難?

我發現,進入計算機專業就讀的學生,最初至少有一大半對真實的軟體開發根本不了解,是 一張白紙 不幸的是,學了四年之後,帶著對軟體開發可能是畏懼,也可能是無所謂,但絕對不是喜歡的感觸離開校園。編 的那麼沒勁?那麼難和枯燥?我經常在想乙個問題 程式設計其實是很有趣很好玩很實用並很有成就感的一件事,為什麼會...