⑴ c語言中整型,字元型,浮點型,和雙精度浮點型,詳解
整型,計算機中的一個基本的專業術語,指沒有小數部分的數據。整型可以用十進制,十六進制或八進制符號指定,前面可以加上可選的符號(- 或者 +)。包括整型常量和整型變數,整型變數又包括短整型、基本整型、長整型,它們都分為有符號和無符號兩種版本,是一種智能的計算方式。
字元型量包括字元常量和字元變數。字元串常量由一對雙引號括起的字元序列。字元變數的取值是字元常量,即單個字元。字元變數的類型說明符是char。字元變數類型說明的格式和書寫規則都與整型變數相同。
浮點型利用指數使小數點的位置可以根據需要而上下浮動,從而可以靈活地表達更大范圍的實數。
雙精度浮點型,此數據類型與單精度數據類型(float)相似,但精確度比float高,編譯時所佔的內存空間依不同的編譯器而有所不同,是double float數據類型,C/C++中表示實型變數的一種變數類型。
(1)c語言整型浮點型運算擴展閱讀
雙精度浮點型類型數值可轉換到其他類型的整數或浮點數,反之亦然。雙精度浮點型常量的最後一個字元可加上「d」或「D」。其存儲格式與浮點型類似,最高位為符號位,次高11位為指數位,其次52位為尾數。
雙精度型就是雙精度浮點型,同數值型比,它能提供更高的數值精度,採用固定存儲長度的浮點數形式,每個雙精度浮點型數據佔8個位元組。與數值型數據不同,它的小數點位置是由輸入的數據值來決定的,並且只能用於表中的欄位。
⑵ c語言中整型和浮點型混合運算的結果是什麼類型
c語言中整型和浮點型混合運算的結果為double型(雙精度浮點類型)。
c語言中如果一個運算符兩邊的運算數類型不同,先要將其轉換為相同的類型,即較低類型轉換為較高類型,然後再參加運算,轉換規則:float(浮點型)轉化為double(雙精度浮點類型)、int(整型)轉為unsigned(無符號整型)轉為long(長整型)轉為(雙精度浮點類型)。
因此,c語言中整型和浮點型混合運算,只能是整型和浮點型同時強制轉換為相同的double型(雙精度浮點類型)。如兩個float型數參加運算,雖然它們類型相同,但仍要先轉成double型再進行運算,結果亦為double型。
(2)c語言整型浮點型運算擴展閱讀:
在C語言中,自動類型轉換遵循以下規則:
1、若參與運算量的類型不同,則先轉換成同一類型,然後進行運算。
2、轉換按數據長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。若兩種類型的位元組數不同,轉換成位元組數高的類型。若兩種類型的位元組數相同,且一種有符號,一種無符號,則轉換成無符號類型。
3、所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表達式,也要先轉換成double型,再作運算。
4、char型和short型參與運算時,必須先轉換成int型。
5、在賦值運算中,賦值號兩邊量的數據類型不同時,賦值號右邊量的類型將轉換為左邊量的類型。如果右邊量的數據類型長度比左邊長時,將丟失一部分數據,這樣會降低精度,丟失的部分按四捨五入向前舍入。
⑶ c語言整型和浮點乘法
1.新建工程,在.cpp文件里插入如下代碼:
#include "stdafx.h"
#include "stdio.h"
void main()
{
//定義兩個小數
float p1=3.5,p2=5.5;
//定義兩個整數
int q1=0,q2=0;
//定義運算結果變數
float t;
//輸入整數q1
printf("請輸入整數1:");
//接收整數q1
scanf("%d",&q1);
//輸入整數q2
printf("請輸入整數2:");
//接收整數q2
scanf("%d",&q2);
//乘法運算
t=p1*q1+p2*q2;
//輸出結果
printf("%f*%d+%f*%d=%f ",p1,q1,p2,q2,t);
}
⑷ C語言如何把整型轉換成浮點數
C語言有以下幾種取整方法:
1、直接賦值給整數變數。如:
int i = 2.5; 或 i = (int) 2.5;
這種方法採用的是捨去小數部分,能用於你的問題。
2、C/C++中的整數除法運算符「/」本身就有取整功能(int / int),而下面介紹的取整函數返回值是double。整數除法對正數的取整是捨去小數部分,能用於你的問題。不過整數除法對負數的取整結果和使用的C編譯器有關。
3、使用floor函數。floor(x)返回的是小於或等於x的最大整數。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函數。ceil(x)返回的是大於x的最小整數。如:
ceil(2.5) = 3
ceil(-2.5) = -2
floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。floor函數能用於你的問題。
5、
int b = (int)a;//取整
int c = (int)(a+0.5);//四捨五入
⑸ C語言的浮點型怎麼轉換為整型
C語言中,浮點型轉換為整型可以用:強制類型轉換、自動類型轉換,例如:(int)3.14、int a = 3.14。
1、強制類型轉換
強制類型轉換是通過類型轉換運算來實現的。其一般形式為:(類型說明符)(表達式),其功能是把表達式的運算結果強制轉換成類型說明符所表示的類型。
例如: (double) a 把a轉換為雙精度浮點型,(int)(x+y) 把x+y的結果轉換為整型。
2、自動類型轉換
(1)執行算術運算時,低類型(短位元組)可以轉換為高類型(長位元組);例如: int型轉換成double型,char型轉換成int型等。
(2)賦值表達式中,等號右邊表達式的值的類型自動隱式地轉換為左邊變數的類型,並賦值給它。
(3)函數調用時,將實參的值傳遞給形參,系統首先會自動隱式地把實參的值的類型轉換為形參的類型,然後再賦值給形參。
(4)函數有返回值時,系統首先會自動隱式地將返回表達式的值的類型轉換為函數的返回類型,然後再賦值給調用函數返回。
(5)c語言整型浮點型運算擴展閱讀:
C語言中常用的數據類型:
1、int:整型
2、float:單精度浮點型
3、double:雙精度浮點型
4、char:字元型
5、char *:字元指針型
⑹ C語言中,浮點類型和整數類型的區別具體在哪些方面
1、包含類型方面的區別:
整數類型包含byte型、int型、short型、long型, 浮點類型包含float(單精度)型、double常量
2、取值范圍的區別:我們可以看到整數類型最大的取值是:1,844,674,407,370,955,161,共有19位數。而浮點數中float的取值范圍就有39位數3.4E+38。
3、精度的區別:整數類型是一個准確的數值,而浮點數很多時候是一個看似值。比如float類型就只用確保前面6~7位是准確的。如:float f = 123456789; //8和9這兩個數值就可能是不準確的。
(6)c語言整型浮點型運算擴展閱讀:
C語言其他數據類型:
一、基本類型
1、整形類型:int ,short int,long int,long long int(C99),char,bool
2、浮點類型:float ,double,雙精度浮點型(float_complex,double_complex,long long_comples)
二、枚舉類型 enum
三、空類型 void
四、派生類型
指針類型 *、數組類型 、結構體類型 struct、共用體類型 union、函數類型
參考資料來源:網路—數據類型
⑺ c語言整型與浮點型數據間的運算
一樓請不要誤導樓主
如果樓主希望的是得到1.000000 則可以
(float)n/b;
如果希望是1.250000 則可以用
(float)n/(float)b;
⑻ C語言中除運算符對整型和浮點型數據的區別
沒有區別,都是計算除法
要說有區別就是,除數和被除數都是整型數據時,會得到結果的整數部分,小數部分被舍棄,而浮點數除後保留小數部分取值。
⑼ 如何運用C語言的整型和浮點數實現加減乘除計算
對於加減乘三種運算,可以直接用整數進行。
對於除法,C語言中兩個整數相除,結果仍然是整數(只取商的部分,忽略余數),如果想得到除法的精確值(例如10/4=2.5),可以使用浮點數參與計算,方法是把被除數乘以1.0,然後再除以除數,結果就是浮點數了。
⑽ c語言中整形數能和浮點數做運算嗎
c語言中整形數能和浮點數可以做運算。