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

C語言類型轉(zhuǎn)換與常量的細節(jié)深入理解探究

 更新時間:2023年12月19日 09:26:33   作者:小萬哥  
這篇文章主要為大家介紹了C?語言類型轉(zhuǎn)換與常量的細節(jié)深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

C 語言中的類型轉(zhuǎn)換

有時,您必須將一種數(shù)據(jù)類型的值轉(zhuǎn)換為另一種類型。這稱為類型轉(zhuǎn)換

隱式轉(zhuǎn)換

當您將一種類型的值分配給另一種類型的變量時,編譯器會自動進行隱式轉(zhuǎn)換。

例如,如果您將一個 int 值分配給一個 float 類型:

// 自動轉(zhuǎn)換:int to float
float myFloat = 9;

printf("%f", myFloat); // 輸出 9.000000

如您所見,編譯器會自動將 int 值 9 轉(zhuǎn)換為 float 值 9.000000。

這可能是危險的,因為您可能會在某些情況下失去對特定值的控制。

尤其是如果相反的情況 - 以下示例會自動將 float 值 9.99 轉(zhuǎn)換為 int 值 9:

// 自動轉(zhuǎn)換:float to int
int myInt = 9.99;

printf("%d", myInt); // 輸出 9

0.99 發(fā)生了什么?我們可能想要在我們的程序中使用這個數(shù)據(jù)!所以要小心。您必須了解編譯器在這些情況下的工作方式,以避免意外結(jié)果。

另一個例子,如果您將兩個整數(shù) 5 除以 2,您知道結(jié)果是 2.5。正如您在此頁面的開頭所知,如果您將 sum 存儲為整數(shù),結(jié)果將只顯示數(shù)字 2。因此,將 sum 存儲為 float 或 double 會更好,對嗎?

float sum = 5 / 2;

printf("%f", sum); // 輸出 2.000000

為什么結(jié)果是 2.00000 而不是 2.5?好吧,因為 5 和 2 在除法中仍然是整數(shù)。在這種情況下,您需要將整數(shù)值手動轉(zhuǎn)換為浮點值(參見下文)。

顯式轉(zhuǎn)換

顯式轉(zhuǎn)換是通過在值之前放置類型括號 () 來手動完成的。

考慮到我們上面示例中的問題,我們現(xiàn)在可以得到正確的結(jié)果:

// 手動轉(zhuǎn)換: int to float
float sum = (float) 5 / 2;

printf("%f", sum); // 輸出 2.500000

您也可以將類型放在變量前面:

int num1 = 5;
int num2 = 2;
float sum = (float) num1 / num2;

printf("%f", sum); // 輸出 2.500000

由于您在上一章中學(xué)習(xí)了“小數(shù)精度”,您可以通過刪除多余的零(如果您愿意)使輸出更清晰:

int num1 = 5;
int num2 = 2;
float sum = (float) num1 / num2;

printf("%.1f", sum); // 輸出 2.5

C 語言中的常量

如果您不想讓其他人(或自己)更改現(xiàn)有變量的值,可以使用 const 關(guān)鍵字。

這將聲明變量為“常量”,這意味著它不可更改,只讀:

const int myNum = 15; // myNum 始終為 15
myNum = 10; // 錯誤:對只讀變量 'myNum' 進行賦值

當您擁有不太可能改變的值時,應(yīng)始終將變量聲明為常量:

const int minutesPerHour = 60;
const float PI = 3.14;

關(guān)于常量的注意事項

當您聲明一個常量變量時,必須為其分配一個值:

// 就像這樣:
const int minutesPerHour = 60;
// 然而,這不起作用:
const int minutesPerHour;
minutesPerHour = 60; // 錯誤

常量在程序中可以提高代碼的可讀性,并防止在程序中無意中更改重要的值

以上就是C語言類型轉(zhuǎn)換與常量的細節(jié)深入理解探究的詳細內(nèi)容,更多關(guān)于C語言類型轉(zhuǎn)換常量的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C 語言基礎(chǔ)之C語言的常見關(guān)鍵字

    C 語言基礎(chǔ)之C語言的常見關(guān)鍵字

    C語言中有一些預(yù)先定義的字符串,他們本身被賦予了自身的功能。并且我們在定義變量的時候,不能去搶他們的名字來用。他們就是今天的主角:關(guān)鍵字,下面文章將給大家做詳細介紹
    2021-09-09
  • 詳解C語言中的rename()函數(shù)和remove()函數(shù)的使用方法

    詳解C語言中的rename()函數(shù)和remove()函數(shù)的使用方法

    這篇文章主要介紹了詳解C語言中的rename()函數(shù)和remove()函數(shù)的使用方法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • OpenGL實現(xiàn)邊緣填充算法

    OpenGL實現(xiàn)邊緣填充算法

    這篇文章主要為大家詳細介紹了OpenGL實現(xiàn)邊緣填充算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 深入解析C語言中的內(nèi)存分配相關(guān)問題

    深入解析C語言中的內(nèi)存分配相關(guān)問題

    這篇文章主要深入地介紹了C語言中的內(nèi)存分配,C語言編程中的內(nèi)存泄漏問題一直以來都是C編程中的一大棘手問題,本文從malloc和指針等方面對C內(nèi)存進行了深層次講解,強烈推薦!需要的朋友可以參考下
    2015-08-08
  • C語言 遞歸解決青蛙跳臺階問題

    C語言 遞歸解決青蛙跳臺階問題

    遞歸做為一種算法在程序設(shè)計語言中廣泛應(yīng)用?;竞x​是指函數(shù)/過程/子程序在運行過程序中直接或間接調(diào)用自身而產(chǎn)生的重入現(xiàn)象。在計算機編程里,遞歸指的是一個過程:函數(shù)不斷引用自身,直到引用的對象已知
    2021-11-11
  • 基于c++計算矩形重疊面積代碼實例

    基于c++計算矩形重疊面積代碼實例

    這篇文章主要介紹了基于c++計算矩形重疊面積代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • C語言判定一棵二叉樹是否為二叉搜索樹的方法分析

    C語言判定一棵二叉樹是否為二叉搜索樹的方法分析

    這篇文章主要介紹了C語言判定一棵二叉樹是否為二叉搜索樹的方法,結(jié)合實例形式綜合對比分析了C語言針對二叉搜索樹判定的原理、算法、效率及相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08
  • 基于C語言實現(xiàn)三子棋游戲

    基于C語言實現(xiàn)三子棋游戲

    這篇文章主要為大家詳細介紹了基于C語言實現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 共用體的定義與應(yīng)用詳細解析

    共用體的定義與應(yīng)用詳細解析

    共同體的定義類似結(jié)構(gòu)體,不過共同體的所有成員都在同一段內(nèi)存中存放,起始地址一樣,并且同一時刻只能使用其中的一個成員變量
    2013-08-08
  • C語言中文件常見操作的示例詳解

    C語言中文件常見操作的示例詳解

    FILE為C語言提供的文件類型,它是一個結(jié)構(gòu)體類型,用于存放文件的相關(guān)信息。本文主要為大家介紹下C語言中幾個常見的文件操作的實現(xiàn),需要的可以參考一下
    2022-12-12

最新評論