欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談C++的語句語法與強制數據類型轉換

 更新時間:2015年09月07日 15:55:40   投稿:goldensun  
這篇文章主要介紹了淺談C++的語句語法與強制數據類型轉換,是C++入門學習中的基礎知識,需要的朋友可以參考下

一個程序包含一個或多個程序單位(每個程序單位構成一個程序文件)。每一個程序單位由以下幾個部分組成:
預處理命令。如#include命令和#define命令。
聲明部分。例如對數據類型和函數的聲明,以及對變量的定義。
函數。包括函數首部和函數體,在函數體中可以包含若干聲明語句和執(zhí)行語句。

如下面是一個完整的C++程序:

#include <iostream>//預處理命令
using namespace std; //在函數之外的聲明部分
int a=3; //在函數之外的聲明部分
int main( )//函數首部
{
 float b;//函數內的聲明部分
 b=4.5; //執(zhí)行語句
 cout<<a<<b;//執(zhí)行語句
 return 0; //執(zhí)行語句
}

如果一個變量在函數之外進行聲明,此變量是全局變量,它的有效范圍是從該行開始到本程序單位結束。如果一個變量在函數內聲明,此變量是局部變量,它的有效范圍是從該行開始到本函數結束。C++程序結構可以用圖表示。

程序應該包括數據描述(由聲明語句來實現)和數據操作(由執(zhí)行語句來實現)。數據描述主要包括數據類型的聲明、函數和變量的定義、變量的初始化等。數據操作的任務是對已提供的數據進行加工。

C++程序中最小的獨立單位是語句(statement)。它相當于一篇文章中的一個句子。句子是用句號結束的。語句一般是用分號結束的(復合語句是以右花括號結束的)。

C++語句可以分為以下4種。

1. 聲明語句
如int a, b;在C語言中,只有產生實際操作的才稱為語句,對變量的定義不作為語句,而且要求對變量的定義必須出現在本塊中所有程序語句之前。因此C程序員已經養(yǎng)成了一個習慣: 在函數或塊的開頭位置定義全部變量。在C++中,對變量(以及其他對象)的定義被認為是一條語句,并且可以出現在函數中的任何行,即可以放在其他程序語句可以出現的地方,也可以放在函數之外。這樣更加靈活,可以很方便地實現變量的局部化(變量的作用范圍從聲明語句開始到本函數或本塊結束)。

2. 執(zhí)行語句
通知計算機完成一定的操作。執(zhí)行語句包括以下幾種。

1) 控制語句,完成一定的控制功能。C++有9種控制語句,即:
if( )~else~ (條件語句)
for( )~ (循環(huán)語句)
while( )~  (循環(huán)語句)
do~while( ) (循環(huán)語句)
continue(結束本次循環(huán)語句)
break(中止執(zhí)行switch或循環(huán)語句)
switch  (多分支選擇語句)
goto (轉向語句)
return  (從函數返回語句)

2) 函數和流對象調用語句。函數調用語句由一次函數調用加一個分號構成一個語句,例如:

  sort(x, y,z); //假設已定義了sort函數,它有3個參數
  cout<<x<<endl; //流對象調用語句

3) 表達式語句。由一個表達式加一個分號構成一個語句。最典型的是:由賦值表達式構成一個賦值語句。

  i=i+1 //是一個賦值表達式
  i=i+1; //是一個賦值語句

任何一個表達式的最后加一個分號都可以成為一個語句。一個語句必須在最后出現分號。

表達式能構成語句是C和C++語言的一個重要特色。C++程序中大多數語句是表達式語句(包括函數調用語句)。

3. 空語句
下面是一個空語句:

  ; // 該語句只有一個分號

即只有一個分號的語句,它什么也不做。有時用來做被轉向點,或循環(huán)語句中的循環(huán)體。

4. 復合語句
可以用 { }把一些語句括起來成為復合語句。如下面是一個復合語句。

{
  z=x+y;
  if(z>100) z=z-100;
    cout<<z;
}


注意:復合語句中最后一個語句中最后的分號不能省略。

C++強制類型轉換
在表達式中不同類型的數據會自動地轉換類型,以進行運算。有時程序編制者還可以利用強制類型轉換運算符將一個表達式轉換成所需類型。例如:

  •     (double)a  (將a轉換成double類型)
  •     (int)(x+y)   (將x+y的值轉換成整型)
  •     (float)(5%3)  (將5%3的值轉換成float型)

強制類型轉換的一般形式為:

  (類型名)(表達式)

注意:如果要進行強制類型轉換的對象是一個變量,該變量可以不用括號括起來。如果要進行強制類型轉換的對象是一個包含多項的表達式,則表達式應該用括號括起來。如果寫成

  (int)x+y

則只將x轉換成整型,然后與y相加。

以上強制類型轉換的形式是原來C語言使用的形式,C++把它保留了下來,以利于兼容。C++還增加了以下形式:

  類型名(表達式)
如
  int(x)
或
  int(x+y)

類型名不加括號,而變量或表達式用括號括起來。這種形式類似于函數調用。但許多人仍習慣于用第一種形式,把類型名包在括號內,這樣比較清楚。

需要說明的是在強制類型轉換時,得到一個所需類型的中間變量,但原來變量的類型未發(fā)生變化。例如:

  (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。第二種是強制類型轉換。當自動類型轉換不能實現目的時,可以用強制類型轉換。此外,在函數調用時,有時為了使實參與形參類型一致,可以用強制類型轉換運算符得到一個所需類型的參數。

相關文章

  • C++實現簡單的計算器功能

    C++實現簡單的計算器功能

    這篇文章主要為大家詳細介紹了C++實現簡單的計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++表達式new與delete知識詳解

    C++表達式new與delete知識詳解

    這篇文章主要為大家詳細介紹了C++表達式new與delete知識點,學習如何動態(tài)創(chuàng)建對象,動態(tài)創(chuàng)建的對象與一般對象的區(qū)別,動態(tài)創(chuàng)建的對象的初始化以及釋放動態(tài)分配的內存等知識點,感興趣的朋友可以參考一下
    2016-05-05
  • C++共享智能指針shared_ptr的實現

    C++共享智能指針shared_ptr的實現

    在C++中沒有垃圾回收機制,必須自己釋放分配的內存,否則就會造成內存泄露,解決這個問題最有效的方法是使用智能指針,本文主要介紹了C++共享智能指針shared_ptr的實現,感興趣的可以了解一下
    2023-12-12
  • C++ cin.get用法案例詳解

    C++ cin.get用法案例詳解

    這篇文章主要介紹了C++ cin.get用法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • C++ 多重繼承和虛擬繼承對象模型、效率分析

    C++ 多重繼承和虛擬繼承對象模型、效率分析

    本文簡單介紹多態(tài)和多重繼承、虛擬繼承的基本概念。隨后重點分析了C++中對象模型之間的差異和運行效率
    2014-08-08
  • C/C++ 基礎 之回調函數示例詳解

    C/C++ 基礎 之回調函數示例詳解

    這篇文章主要介紹了C/C++ 基礎 之回調函數示例詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-04-04
  • C語言實現掃雷小程序

    C語言實現掃雷小程序

    這篇文章主要為大家詳細介紹了C語言實現掃雷小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C語言實現貪吃蛇小黑窗

    C語言實現貪吃蛇小黑窗

    這篇文章主要為大家詳細介紹了C語言實現貪吃蛇小黑窗,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言中對文件最基本的讀取和寫入函數

    C語言中對文件最基本的讀取和寫入函數

    這篇文章主要介紹了C語言中對文件最基本的讀取和寫入函數,是C語言入門學習中的基礎知識,需要的朋友可以參考下
    2015-08-08
  • C++ 構造函數中使用new時注意事項

    C++ 構造函數中使用new時注意事項

    本文主要介紹了C++ 構造函數中使用new時注意事項。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02

最新評論