**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...