附錄 C 語言對C語言擴充和增強得幾點具體表現

2021-09-14 04:50:48 字數 1752 閱讀 9784

**1.*在c語言塊注釋的形式

/explanation sentence

/的基礎上,c++語言提供了一種新的單行注釋形式

//explanation sentence

即用「//」表示注釋開始,從該位置到當前行結束的所有字元都被作為注釋。

舉個簡單的例子:

/下面的程式段計算從1到100的整數和。

結果記錄在變數sum中

/sum=0 // 變數sum初值置為零

for(i=0;i<=100;i++)

2.更加靈活的變數說明

在傳統的c語言中,區域性變數的說明必須集中放在執行**的前面,資料說明語句和執行語句的混合將引起編譯錯誤。而在c++中,可以在程式**塊的任何地方進行區域性變數的說明。比如下面的**在c語言中是不正確的,在c++語言中卻可以正常執行。

for(int i=1;i<=100;i++);

這樣做的好處是使變數的定義和它的使用集中在一起,意義一目了然。

3.更加嚴格的函式原型說明

c++摒棄了c語言對函式原型隨意簡化的方式,這種簡化是許多c語言程式錯誤的根源。c++語言要求程式設計者為函式提供完整的原型,包括全部引數的型別和返回值的說明。

例如,有字元型和雙精度型別兩個引數、返回整型值的函式f,原型應該寫為:

int f(char,double);

而c語言中允許將這個原型寫成"f();"。

在函式原型說明中,引數名可有可無,並且可以和函式定義中的引數名不一致。

4.增加了函式過載機制

過載是程式語言領域的重要概念。常規語言中最典型的例子是「+、-、、/」等各種算術運算子的過載。這些符號可以同時用來表示多種型別資料之間的運算,這種對乙個名字或乙個符號賦予多重意義的情況就叫過載。

c++語言增加了c語言所沒有的函式過載機制。對乙個函式名可以給出多個函式定義,只要這些定義可以通過引數個數或型別的不同區別開來即可。

c++還允許對系統中預先定義的運算符號進行過載,增加新的定義。這樣做的優點是在今後對新定義型別的變數進行運算時,計算公式寫起來方便自然。

5.函式預設引數

c++中允許函式有預設引數。所謂預設,是指函式呼叫時可以不給出實際的引數值。下面是乙個預設引數的函式定義的例項:

int f(int a,int b=1)

此後,函式呼叫f(3,1)和f(3)將返回同樣的結果。

6.輸入/輸出流機制

c++保留了c語言標準庫中的各種輸入/輸出函式,而且提供了一套新的輸入/輸出機制——流機制。比如向標準輸出輸出乙個字串:

cout<<「c++ is beautiful!」

或者向標準輸入讀乙個整數,賦給變數a

int a;

cin>>a;

流式輸入/輸出運算子能夠根據變數型別自動確定資料交換過程中的轉換方式,還可以定義「<<、>>」的過載,方便了程式設計者自定義型別的資料的輸入/輸出。

7.作用域限定運算子::

作用域限定運算子::用於對當前作用域之外的同名變數進行訪問。例如在下面的例子中,我們可以利用::實現在區域性變數a的作用域範圍內對全域性變數a的訪問。

#include

int a;

void main()

程式執行結果如下:

local variable a=3.14

global variable a=6

C 語言對C語言的擴充套件 一

概述 眾所周知c 語言是物件導向語言,而c語言是面向過程語言,過程和物件語言有什麼主要區別呢?面向過程 1.8 c 對c的乙個重要擴充套件 引用 面向過程 面向過程是一種以過程為中心的程式設計思想。通過分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫就可以了。...

C語言對const的理解

教學過程中,很多同學對於const這個關鍵字的理解存在很大的誤解。現在總結下對這個關鍵字理解上的誤區,希望在以後的程式設計中,能夠靈活使用const這個關鍵字。1 const修飾的變數是常量還是變數 對於這個問題,很多同學認為const修飾的變數是不能改變,結果就誤認為該變數變成了常量。那麼對於co...

Qt之QProcess 和 c語言對比

大多控制台程式都接受命令行引數,乙個例子 include int main int argc,char ar 編譯,呼叫程式時可指定命令列,結果 process a b c d ab c d 用qprocess呼叫外部程式時,可直接指定命令列引數 qprocess process process.e...