一、複數和虛數類型 1.C語言有三種複數類型:float _Comples,double _Complex,long double _Complex float_complex類型的應包含兩個float類型的值,分別表示實部和虛部。 類似的C語言的三種虛數類型為1float _Imaginary,d ...
一、複數和虛數類型
1.C語言有三種複數類型:float _Comples
,double _Complex
,long double _Complex
- float_complex類型的應包含兩個float類型的值,分別表示實部和虛部。
- 類似的C語言的三種虛數類型為1
float _Imaginary
,double _Imaginary
,long double _Complex
- 如果包含
complex.h
頭文件,便可以使用complex
來代替_Complex
,用imaginary
來代替_Imaginary
,用I
來替代-1
的平方根。
2.為什麼C語言不直接使用complex作為關鍵字來替代_Complex,而要添加一個頭文件(該頭文件把complex定義為_Complex)
- 主要原因是為了怕以前的代碼失效。
- C99時代,許多人使用struct complex定義一個結構,表示覆數或者心理學程式中的心理狀況。
- 標準使用首字母是下劃線作為預留字
二、小結
1.基本數據類型由11個關鍵字組成
分別為:short,long,ing,char,float,double,unsigned,signed,_Bool,_Complex,_Imaginary
2.有符號的整形:
int
- 系統給定的基本整數類型,不小於16位。
short
或short int
- 最大的short類型整數小於或者等於最大的int類型整數,至少占16位
long
或long int
- 該類型可以表示的整數大於或等於最大的int類型整數,至少占32位。
long long
或long long int
- 該類型可表示整數大於或者等於最大的long類型整數,至少64位。
一般而言,
long
類型占用的記憶體要比short
類型大,int
類型寬度要麼和long
類型相同,要麼和short
類型相同。依據電腦底層來定。
3.無符號整型
前面加上
unsigned
即可,單獨的unsigned
代表unsigned int
4.字元類型
char類型表示一個字元占用1位元組記憶體(也可以16位)
5.布爾類型
_Bool布爾類型關鍵字,是無符號的int類型
6.實浮點類型
float - 系統的基本浮點類型,可精確表示至少6位有效數字
double - 儲存浮點數的範圍(可能)更大,能表示更多有效數字,或指數
long double - 比double範圍(可能)更大。
7.複數和虛數浮點數
float _Complex,double _Complex,long double _Complex,float _Imaginary,double _Imaginary,long double _Imaginary
8.如何知道當前系統的指定類型大小?
#include<stdio.h> int D13_typesize(void) { //C99為類型提供了%zd轉換說明 printf("Type int has a size of %zd bytes.\n", sizeof(int)); printf("Type char has a size of %zd bytes.\n", sizeof(char)); printf("Type long has a size of %zd bytes.\n", sizeof(long)); printf("Type long long has a size of %zd bytes.\n", sizeof(long long)); printf("Type double has a size of %zd bytes.\n", sizeof(double)); printf("Type long double has a size of %zd bytes.\n", sizeof(long double)); return 0; }
運行結果
- sizeof是C語言內置運算符,以位元組為單位給出指定類型的大小,C99和C11提供了
%zd
來匹配sizeof的返回類型,一些不支持C99和C11的編譯器可以使用%u
或%lu
來代替。
三、源碼:
- D13_typesize.c
- D12_2_Floaterr.c
- https://github.com/ruigege66/CPrimerPlus/blob/master/D13_typesize.c
- https://github.com/ruigege66/CPrimerPlus/blob/master/D12_2_Floaterr.c
- CSDN:https://blog.csdn.net/weixin_44630050
- 博客園:https://www.cnblogs.com/ruigege0000/
- 歡迎關註微信公眾號:傅里葉變換,個人賬號,僅用於技術交流,後臺回覆“禮包”獲取Java大數據學習視頻禮包