以二进制输出64位类型的数据_Linux_C开发_第二天_基本数据类型

83c41eed0c88320adee5b1b9f58b0fab.png

逻辑类型

#include

bool      1真   0假             (注:C语言中认为非0为真)

整型

char(字符类型) 本质依旧是数值类型           1个字节

        unsigned    无符号  0~255       256个数

        signed        有符号  0~127   -128~-1   -128~127  256个数

short(短整型)     2个字节

int                      4个字节 32位     2个字节 16位

long(长整型)      4个字节 32位     8个字节  64位

浮点型   编译器默认保留6位精度

float      单精度   4个字节    6位精度

double  双精度   8个字节    16位精度

注:浮点数存放时与整数并不相同(需要将整数部分和小数部分分别转换二进制)

常量:程序运行过程中不会发生改变的量

整形常量:二进制0b10101   十进制   十六进制0x123   八进制0123

浮点型常量:123.123

浮点型指数形式:

1.23123x10^2  数学科学计数法

1.23123e+2    指数形式浮点型写法

字符常量:'A'  65  'a'  97    字符必须以''引出

字符串常量:以""引出  字符串末尾总有'\0'存在   "abc"

标识常量:宏替换   本质:是字符串的整体代换

define 一般出现在头文件下方

#define   标识符    被替换的目标 (可以替换:数值,运算式,一行语句)

注:define在替换运算式时需要注意运算优先级问题 (加括号!)

变量:程序运行过程中可以发生改变的量

        局部变量     作用域!  在{ }的变量是局部变量

        全局变量     不在{}内的变量是全局变量

变量的初始化:在变量定义时对该变量赋值的过程叫做初始化  (防止垃圾值产生)

int a = 10;  初始化    10叫做初始值

a = 20; 只是赋值


一般格式:

static   unsigned    int    a;

存储类型  数据类型(规定了变量中存放数据的类型以及变量的大小)  变量名

auto :只能用于修饰局部变量,如果不在局部变量前加存储类型,则默认auto类型

register(寄存器类型): 将修饰的变量放入寄存器中,提高程序的运行效率,但如果寄存器满了,则默认变为auto类型

extern(外部引用类型): 引用同一工程中的全局变量.

声明: extern int a  告诉编译器有a变量但不是在这边开辟空间的

定义: int a   是定以,在内存上有真实空间开辟了

static:

  • 修饰全局变量

    限制全局变量的作用域,使全局变量的有效空间在本文中,别的文件不能引用被static修饰的全局变量,即便是 extern 外部声明也不可以。

  • 修饰函数  

    限制函数作用域,这个函数的只能在本文件中调用,不能被其他文件调用。

  • 修饰局部变量

    改变局部变量的存储区域,延长生命周期,修饰的局部变量初始化只有一次,运算结果会保留。

构造类型

后续介绍

指针类型

后续介绍

void型

后续介绍


强制数据类型转换

1.隐式转换(是一种错误)

  • 有符号数和无符号数运算:则此时有符号数转换成无符号数

    -1(有)+0(无) > 0        1

  • 赋值转换 

    '='左右两边数据类型不一致,将右边的值的类型转换成左边的类型

    浮点型向整形转换时会产生精度丢失;

        大的数据类型向小的转换时可能造成数据越界。

  • 算术转换   

    一个运算式中如果出现多个不同数据类型,则默认向最大的数据类型转换

    double 

  • printf

    输出数据时不匹配,也会导致隐式转换或者报错

2.显示转换   (多用于指针操作)

格式:(想要转换的数据类型)被转换的目标

例如:

char a;

(int)a

注意点:

1.浮点型和整型相互转换时依旧存在精度问题

2.大的数据类型向小的转换时可能造成数据越界

3.强制数据类型装换不会改变数值的本质(该是什么还是什么),显示的效果发生了改变


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值