淺談C++的語句語法與強迫數據類型轉換。本站提示廣大學習愛好者:(淺談C++的語句語法與強迫數據類型轉換)文章只能為提供參考,不一定能成為您想要的結果。以下是淺談C++的語句語法與強迫數據類型轉換正文
一個法式包括一個或多個法式單元(每一個法式單元組成一個法式文件)。每個法式單元由以下幾個部門構成:
預處置敕令。如#include敕令和#define敕令。
聲明部門。例如對數據類型和函數的聲明,和對變量的界說。
函數。包含函數首部和函數體,在函數體中可以包括若干聲明語句和履行語句。
以下面是一個完全的C++法式:
#include <iostream>//預處置敕令 using namespace std; //在函數以外的聲明部門 int a=3; //在函數以外的聲明部門 int main( )//函數首部 { float b;//函數內的聲明部門 b=4.5; //履行語句 cout<<a<<b;//履行語句 return 0; //履行語句 }
假如一個變量在函數以外停止聲明,此變量是全局變量,它的有用規模是從該行開端到本法式單元停止。假如一個變量在函數內聲明,此變量是部分變量,它的有用規模是從該行開端到本函數停止。C++法式構造可以用圖表現。
法式應當包含數據描寫(由聲明語句來完成)和數據操作(由履行語句來完成)。數據描寫重要包含數據類型的聲明、函數和變量的界說、變量的初始化等。數據操作的義務是對已供給的數據停止加工。
C++法式中最小的自力單元是語句(statement)。它相當於一篇文章中的一個句子。句子是用句號停止的。語句普通是用分號停止的(復合語句是以右花括號停止的)。
C++語句可以分為以下4種。
1. 聲明語句
如int a, b;在C說話中,只要發生現實操作的才稱為語句,對變量的界說不作為語句,並且請求對變量的界說必需湧現在本塊中一切法式語句之前。是以C法式員曾經養成了一個習氣: 在函數或塊的開首地位界說全體變量。在C++中,對變量(和其他對象)的界說被以為是一條語句,而且可以湧現在函數中的任何行,便可以放在其他法式語句可以湧現的處所,也能夠放在函數以外。如許加倍靈巧,可以很便利地完成變量的部分化(變量的感化規模從聲明語句開端到本函數或本塊停止)。
2. 履行語句
告訴盤算機完成必定的操作。履行語句包含以下幾種。
1) 掌握語句,完成必定的掌握功效。C++有9種掌握語句,即:
if( )~else~ (前提語句)
for( )~ (輪回語句)
while( )~ (輪回語句)
do~while( ) (輪回語句)
continue(停止本次輪回語句)
break(中斷履行switch或輪回語句)
switch (多分支選擇語句)
goto (轉向語句)
return (從函數前往語句)
2) 函數和流對象挪用語句。函數挪用語句由一次函數挪用加一個分號組成一個語句,例如:
sort(x, y,z); //假定已界說了sort函數,它有3個參數 cout<<x<<endl; //流對象挪用語句
3) 表達式語句。由一個表達式加一個分號組成一個語句。最典范的是:由賦值表達式組成一個賦值語句。
i=i+1 //是一個賦值表達式 i=i+1; //是一個賦值語句
任何一個表達式的最初加一個分號都可以成為一個語句。一個語句必需在最初湧現分號。
表達式能組成語句是C和C++說話的一個主要特點。C++法式中年夜多半語句是表達式語句(包含函數挪用語句)。
3. 空語句
上面是一個空語句:
; // 該語句只要一個分號
即只要一個分號的語句,它甚麼也不做。有時用來做被轉向點,或輪回語句中的輪回體。
4. 復合語句
可以用 { }把一些語句括起來成為復合語句。以下面是一個復合語句。
{ z=x+y; if(z>100) z=z-100; cout<<z; }
留意:復合語句中最初一個語句中最初的分號不克不及省略。
C++強迫類型轉換
在表達式中分歧類型的數據會主動地轉換類型,以停止運算。有時法式編制者還可以應用強迫類型轉換運算符將一個表達式轉換成所需類型。例如:
強迫類型轉換的普通情勢為:
(類型名)(表達式)
留意:假如要停止強迫類型轉換的對象是一個變量,該變量可以不消括號括起來。假如要停止強迫類型轉換的對象是一個包括多項的表達式,則表達式應當用括號括起來。假如寫成
(int)x+y
則只將x轉換成整型,然後與y相加。
以上強迫類型轉換的情勢是本來C說話應用的情勢,C++把它保存了上去,以利於兼容。C++還增長了以下情勢:
類型名(表達式) 如 int(x) 或 int(x+y)
類型名不加括號,而變量或表達式用括號括起來。這類情勢相似於函數挪用。但很多人仍習氣於用第一種情勢,把類型名包在括號內,如許比擬清晰。
須要解釋的是在強迫類型轉換時,獲得一個所需類型的中央變量,但本來變量的類型未產生變更。例如:
(int)x
假如x原指定為float型,值為3.6,停止強迫類型運算後獲得一個int型的中央變量,它的值等於3,而x本來的類型和值都不變。
【例】強迫類型轉換。
#include <iostream> using namespace std; int main( ) { float x; int i; x=3.6; i=(int)x; cout<<"x="<<x<<",i="<< i<<endl; return 0; }
運轉成果以下:
x=3.6,i=3
x的型仍為float型,值仍等於3.6。
由上可知,有兩品種型轉換,一種是在運算時不用用戶指定,體系主動停止的類型轉換,如3+6.5。第二種是強迫類型轉換。當主動類型轉換不克不及完成目標時,可以用強迫類型轉換。另外,在函數挪用時,有時為了使實介入形參類型分歧,可以用強迫類型轉換運算符獲得一個所需類型的參數。