c語言中中不同型別資料間的混合運算
在程式中經常會遇到不同型別的資料進行運算,如果一個運算子兩側的資料型別不同,則會先自動進行資料型別轉換,使運算子兩側的資料型別相同,然後再進行運算,因此整型、實型、字元型資料間都可以進行混合運算
規律為:
(1)+、-、*、/、運算子兩側中有一個為float或double型,結果都為double型資料。
(2)如果 int型與float型資料進行運算,會先把int型和和float型資料轉換為double型,然後再進行運算,結果是double型
(3)字元(char)型資料與整形資料進行運算,就是把字元型資料的ASCLL程式碼與整形資料進行運算。如:12+'A'等效於12+65結果為77,字元型資料與實型資料進行運算,則會將字元型的ASCLL程式碼轉換為double型資料然後再進行運算。
以上的轉換都是由編譯器自動完成轉換的,知道其轉換的原理即可,不用自己進行轉換。
相關推薦
c語言中中不同型別資料間的混合運算
在程式中經常會遇到不同型別的資料進行運算,如果一個運算子兩側的資料型別不同,則會先自動進行資料型別轉換,使運算子兩側的資料型別相同,然後再進行運算,因此整型、實型、字元型資料間都可以進行混合運算 規律為: (1)+、-、*、/、運算子兩側中有一
C語言中不同型別資料所佔位元組數彙總
16位編譯器 char:1個位元組 char*:2個位元組 short int:2個位元組 int:2個位元組 unsigned int:2個位元組 long:4個位元組 long long:8個位
使用反射技術往集合中新增不同型別的資料
public class TestException { public static void main(String[] args) throws Exception { List<String> list= new ArrayList<String>
OO_W2:C#資料型別和C語言有什麼不同?
OO_W2_Question:(9月15日—9月21日) C#資料型別和C語言有什麼不同?OO_W2_Answer: 討論中……ps: 請大家注意,9月21日後的回覆將不作計分。
如何將不同型別資料匯入Elaticsearch中?
題記 Elaticsearch的原理明白了以後,手頭有很多不同型別的資料,如: 1)單條資料,如程式中自己構造的JSON格式資料; 2)符合Elasticsearch索引規範的批量資料; 3)日誌檔案,格式*.log; 4)結構化資料,儲存在mysql
33.如何將不同型別資料匯入Elaticsearch中(ES同步小結)
題記Elaticsearch的原理明白了以後,手頭有很多不同型別的資料,如: 1)單條資料,如程式中自己構造的JSON格式資料; 2)符合Elasticsearch索引規範的批量資料; 3)日誌檔案,格式*.log; 4)結構化資料,儲存在mysql、oracle等關係型資料
C語言struct中的長度可變數組(Flexible array member)
wing art arr item 1 eof AI clas follow erro C_struct中的長度可變數組(Flexible array member) Flexible array member is a feature introduced in the
虛擬化技術中,不同層級結構間的虛擬化運用
ava cto 運用 時間 部署 共存 hyper 容器 適應 容器技術和虛擬機將會處於一個長期共存的狀態。容器技術的技術出發點雖然更加輕量級,部署運行快速,但其共用了底層的kernel,因此與虛擬機方式在資源隔離性方面有先天的劣勢,將暫時無法取代虛擬機模式。雖然每一個虛擬
Oracle中獲取Date型別資料,沒有時分秒
oralce資料庫中,獲取Date型別資料,發現數據的格式為:“yyyy-mm-dd”,而不是“yyyy-mm-dd hh24:mi:ss” 1,使用JDBC從oracle資料庫中取Date型別資料,當使用getDate(“欄位名”)方法取值時,只能獲取到日期,而無法獲
c語言 陣列中字串的旋轉(左旋)(右旋)
在陣列中定義一個字串,該字串由“ abcdef ” 組成,所謂左旋即是讓左邊的第一個字元旋轉到右邊去,左旋一個字元即是產生“ bcdefa ”這樣的字串,右旋與之相反。 為了控制左(右)旋的字元數,需要製作一個可以改
正確理解C語言指標中的 &a+1,假設a為一個數組
1.int a[5]={1,2,3,4,5}; int p=(int)(&a+1); printf("%d",*(p-1)); 答案為什麼是5? 這個問題的關鍵是理解 &a a是一個數組名,也就是陣列的首地址。 對a進行取地址運算子,得到的是一個指向陣列
C語言printf中的自增自減執行
源程式 int main() { int i = 0; printf("%d,%d,%d\n",i++,--i,i++); return 0; } 我們預期的結果應該是:0,0,0 但實際結果為:0,1,0 原理我也弄得不是很明白,我借鑑了幾篇文章,理解到了計
c語言陣列中a和&a[0]的區別
p=a與p=&a[o] 等價解釋: p=&a[0] 與 p=a 等價是指,a和&a[0] 指向同一個地址(只是表示的意義不一樣)。 a是整個元素的地址,也就是陣列的起始地址,而&a[0]是陣列首元素a[0]的地址,所以他們指向的地址是相同的. 這兩者的
Linux C語言教程(一) 資料型別
一、基礎型別 1.1 整型 整型常量的第一個字元是數字0,該常量會被視作八進位制,千萬不要為了格式對齊,將十進位制整型寫成八進位制。 1.1.2 列舉 1.2 浮點型 1.3 指標 1.3.1 字元指標 C語言是靜態弱型別語言,型別在編譯時需要確定,對於st
如何在C語言程式中統計輸入漢字的個數
C中的漢字用“機內碼”,一個漢字兩位元組,最高位都是1,所以可以用下列程式碼求得一個字串裡漢字的個數: #include<stdio.h> #include<string.h> int main() { char s[1000]; int cn,i,all; whil
C語言(C++語言)中##(兩個井號)和#(一個井號)用法[轉]
C語言(C++語言)中的巨集(Macro)屬於編譯器預處理的範疇,屬於編譯期概念(而非執行期概念)。下面對常遇到的巨集的使用問題做了簡單總結。 關 於#和## 在C語言的巨集中,#的功能是將其後面的巨集引數進行字串化操作(Stringfication),簡單說就是在對它所引用的巨集變數通過替換後
【C語言】typedef(自定義資料型別)與#define(巨集定義)用法比較
不管是在C語言還是在C++中,typedef這個詞都不少見,當然出現頻率較高的還是在C程式碼中。typedef和#define有些相似,但更多的是不同,特別是在一些複雜的用法上,就完全不同了。 1.巨集定義(#define) 巨集定義又稱為巨集代換
C語言字串中根據特定字元(串)分割
C語言字串操作函式有很多,這裡舉出需要用到的,其他請自行查詢。 1、len = strlen(p) ;//取字串長度 原型:size_t strlen(const char *s); 功能:統計字串string中字元的個數,字串的長度在 size_t 返回值中。
C語言巨集中#、##運算子的使用
#include <stdio.h> #define P1(a) printf("%s^2 = %d\r\n", #a, (a)*(a)) #define P2
c語言陣列中a和&a[0]的區別
p=a與p=&a[o] 等價解釋: p=&a[0] 與 p=a 等價是指,a和&a[0] 指向同一個地址(只是表示的意義不一樣)。 a是整個元素的地址,也就是陣列的起始地址,