最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言數(shù)據(jù)類型轉(zhuǎn)換實例代碼

 更新時間:2016年07月19日 17:55:32   投稿:lqh  
本文主要介紹C 語言數(shù)據(jù)類型轉(zhuǎn)換,這里通過代碼實例進行詳解,這是C語言基礎(chǔ)部分,需要的朋友可以參考下

數(shù)據(jù)類型轉(zhuǎn)換就是將數(shù)據(jù)(變量、表達式的結(jié)果)從一種類型轉(zhuǎn)換到另一種類型。例如,為了保存小數(shù)你可以將int類型的變量轉(zhuǎn)換為double類型。

數(shù)據(jù)類型轉(zhuǎn)換的一般格式為:

(type_name) expression

type_name為要轉(zhuǎn)換到的數(shù)據(jù)類型,expression為表達式。例如:

(float) a; //把a轉(zhuǎn)換為實型
(int)(x+y); //把x+y的結(jié)果轉(zhuǎn)換為整型
(float) 100; //將一個常量轉(zhuǎn)換為實型

【示例】將整數(shù)轉(zhuǎn)換為浮點數(shù):

#include <stdio.h>
int main(){
 int sum = 17, count = 5;
 double mean;
 mean = (double) sum / count;
 printf("Value of mean : %f\n", mean);
 return 0;
}

運行結(jié)果:

Value of mean : 3.400000

需要注意的是,類型轉(zhuǎn)換運算符( )的優(yōu)先級高于/ (double) sum / count會先將 sum 轉(zhuǎn)換為 double 類型,然后再進行除法運算。如果寫作(double) (sum / count) ,那么運行結(jié)果就是 3.000000。

這種由程序員顯式進行的轉(zhuǎn)換稱為強制類型轉(zhuǎn)換。除了強制類型轉(zhuǎn)換,在不同數(shù)據(jù)類型的混合運算中編譯器也會隱式地進行數(shù)據(jù)類型轉(zhuǎn)換,稱為自動類型轉(zhuǎn)換。

自動類型轉(zhuǎn)換遵循下面的規(guī)則:

1.若參與運算的數(shù)據(jù)類型不同,則先轉(zhuǎn)換成同一類型,然后進行運算。

2.轉(zhuǎn)換按數(shù)據(jù)長度增加的方向進行,以保證精度不降低。例如int型和long型運算時,先把int量轉(zhuǎn)成long型后再進行運算。

3.所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表達式,也要先轉(zhuǎn)換成double型,再作運算。

4.char型和short型參與運算時,必須先轉(zhuǎn)換成int型。

5.在賦值運算中,賦值號兩邊的數(shù)據(jù)類型不同時,需要把右邊表達式的類型將轉(zhuǎn)換為左邊變量的類型。如果右邊表達式的數(shù)據(jù)類型長度比左邊長時,將丟失一部分?jǐn)?shù)據(jù),這樣會降低精度。

下圖表示了類型自動轉(zhuǎn)換的規(guī)則:

【示例】自動數(shù)據(jù)類型轉(zhuǎn)換。

#include<stdio.h>
int main(){
 float PI=3.14159;
 int s1, r=5;
 double s2;
 s1 = r*r*PI;
 s2 = r*r*PI;
 printf("s1=%d, s2=%f\n", s1, s2);
 return 0;
}

運行結(jié)果:

s1=78, s2=78.539753

在計算表達式r*r*PI時,r 和 PI 都轉(zhuǎn)換成double類型,表達式的結(jié)果也為double類型。但由于 s1 為整型,所以賦值運算的結(jié)果仍為整型,舍去了小數(shù)部分。

注意是將小數(shù)部分直接丟掉,而不是按照四舍五入向前舍入。

無論是強制轉(zhuǎn)換或是自動轉(zhuǎn)換,都只是為了本次運算的需要而對變量的數(shù)據(jù)長度進行的臨時性轉(zhuǎn)換,而不改變數(shù)據(jù)說明時對該變量定義的類型。

請看下面的例子:

#include<stdio.h>
int main(){
 float f=5.75;
 printf("(int)f=%d, f=%f\n",(int)f, f);
 return 0;
}

運行結(jié)果:

(int)f=5, f=5.750000

以上就是對 C語言數(shù)據(jù)類型的轉(zhuǎn)換的實例詳解,希望能幫助學(xué)習(xí) C語言基礎(chǔ)知識的同學(xué)。

相關(guān)文章

  • C++實現(xiàn)Go的defer功能(示例代碼)

    C++實現(xiàn)Go的defer功能(示例代碼)

    defer和go一樣都是Go語言提供的關(guān)鍵字。defer用于資源的釋放,會在函數(shù)返回之前進行調(diào)用。接下來通過本文給大家介紹C++實現(xiàn)Go的defer功能,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • 深入C中常用的三種排序方法總結(jié)以及探討分析

    深入C中常用的三種排序方法總結(jié)以及探討分析

    本篇文章是對C中常用的三種排序方法總結(jié)以及探討分析的概述,需要的朋友參考下
    2013-05-05
  • C語言中的字符(char)詳細講解

    C語言中的字符(char)詳細講解

    本篇文章主要介紹C語言中char的知識,并附有代碼實例,以便大家在學(xué)習(xí)的時候更好的理解,有需要的可以看一下
    2016-07-07
  • Qt實現(xiàn)字符串生成二維碼功能

    Qt實現(xiàn)字符串生成二維碼功能

    這篇文章主要介紹了如何利用Qt實現(xiàn)字符串生成二維碼功能,文中的實現(xiàn)過程講解詳細,對我們學(xué)習(xí)Qt有一定的幫助,需要的可以參考一下
    2022-01-01
  • C語言實現(xiàn)Fibonacci數(shù)列遞歸

    C語言實現(xiàn)Fibonacci數(shù)列遞歸

    這篇文章主要介紹了C語言實現(xiàn)Fibonacci數(shù)列遞歸,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • C++中的可移植性和跨平臺開發(fā)教程詳解

    C++中的可移植性和跨平臺開發(fā)教程詳解

    這篇文章主要為大家介紹了C++中的可移植性和跨平臺開發(fā)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • C語言實現(xiàn)運動會管理系統(tǒng)

    C語言實現(xiàn)運動會管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)運動會管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 一文詳解C++11中的lambda函數(shù)

    一文詳解C++11中的lambda函數(shù)

    小編可以明確告訴大家:lambda函數(shù)是C++11中最重要的,使用最廣泛的,最具現(xiàn)代風(fēng)格的內(nèi)容,lambda函數(shù)的出現(xiàn)改變了C++編程的思維方式。所以快和小編學(xué)習(xí)一下C++11中l(wèi)ambda函數(shù)的使用吧
    2023-02-02
  • C/C++詳解實現(xiàn)二層轉(zhuǎn)發(fā)

    C/C++詳解實現(xiàn)二層轉(zhuǎn)發(fā)

    數(shù)據(jù)鏈路層是開放系統(tǒng)互連 (OSI) 模型中的第二層,該層用于通過 LAN 等單一網(wǎng)絡(luò)進行通信的節(jié)點,第二層數(shù)據(jù)包不能從一個網(wǎng)絡(luò)傳輸?shù)搅硪粋€網(wǎng)絡(luò)。而二層轉(zhuǎn)發(fā)是根據(jù)報文的目的MAC直接進行轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)過程中不用對報文的頭部做任何的修改
    2022-05-05
  • VS2019中CMake項目的簡單使用方法

    VS2019中CMake項目的簡單使用方法

    這篇文章主要介紹了VS2019中CMake項目的簡單使用方法,需要的朋友可以參考下
    2020-02-02

最新評論

泸州市| 锡林浩特市| 连州市| 满洲里市| 琼结县| 浏阳市| 巴林右旗| 南乐县| 贺州市| 日喀则市| 将乐县| 丹巴县| 砚山县| 左云县| 佛教| 塔河县| 安义县| 建始县| 皮山县| 阳高县| 彰化市| 环江| 洪雅县| 水富县| 庆阳市| 和静县| 高州市| 颍上县| 阳谷县| 宣武区| 温泉县| 镇平县| 陇西县| 政和县| 舒兰市| 安新县| 宣汉县| 旌德县| 汉中市| 玉林市| 南京市|