C连载13-复数类型以及基本数据类型总结

一、复数和虚数类型

1.C语言有三种复数类型:float _Comples,double _Complex,long double _Complex

  • float_complex类型的应包含两个float类型的值,分别表示实部和虚部。
  • 类似的C语言的三种虚数类型为1float _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位。


shortshort int - 最大的short类型整数小于或者等于最大的int类型整数,至少占16位


longlong int - 该类型可以表示的整数大于或等于最大的int类型整数,至少占32位。


long longlong 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

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;
}

运行结果
C连载13-复数类型以及基本数据类型总结_第1张图片

  • 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大数据学习视频礼包 20.4

你可能感兴趣的:(C连载13-复数类型以及基本数据类型总结)