• 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<stdio.h>
    
    int D13_typesize(void) {
     //C99为类型提供了%zd转换说明
     printf("Type int has a size of %zd bytes.
    ", sizeof(int));
     printf("Type char has a size of %zd bytes.
    ", sizeof(char));
     printf("Type long has a size of %zd bytes.
    ", sizeof(long));
     printf("Type long long has a size of %zd bytes.
    ", sizeof(long long));
     printf("Type double has a size of %zd bytes.
    ", sizeof(double));
     printf("Type long double has a size of %zd bytes.
    ", sizeof(long double));
     return 0;
    }

    运行结果
    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
  • 相关阅读:
    kafka学习总结010 --- 实际项目中遇到的问题1
    kafka学习总结009 --- HW和LEO
    spring学习总结001 --- IOC控制反转、DI依赖注入
    kafka学习总结008 --- 生产者生产数据流程(参照源码)
    kafka学习总结007 --- 生产者Java API实例
    kafka学习总结006 --- 生产者事务
    kafka学习总结005 --- at-exactly-once语义
    kafka学习总结004 --- 生产者ISR
    kafka学习总结003 --- 生产者分区策略
    计算机基础-1(进制转换)
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13264391.html
Copyright © 2020-2023  润新知