Day 6 数据类型

为什么要引入数据类型

ed9c0bfd125b4fa99b2373f75c61bcbd.png

整型

        /usr/include/limits.h中有数据类型范围的定义。

9a53ee3425ef4faa9cbffaf751231085.png

如何获取某个数据类型所占用的空间数(字节)

sizeof运算符

语法: sizeof(变量名称或者数据类型)

            sizeof返回值:默认是一个无符号长整型(所以用%ld)

7072fef8c8904207a859948e90c19a39.png

547a3574392c408d94cdf8e085f643a1.png

变量的用法:变量用来在程序中保存数据

计算机中每个字节(1字节 = 8 bit)的存储空间都有对应的地址

e27df46184ee480fbce192957815ee2e.png

语法:(以int为例)

int a;

int a,b,c;

给变量赋值:赋值运算符 “=”将右边的值赋给左边的变量

int a = 20;

变量必须先定义(声明)后使用

a = 100;

int a;

//错误

字符型

计算机通过Ascii码把二进制转换为字符

查看ASCII码表: man ASCII

0cd52c02d33f41e5b6ea7a29a4f084a3.png

大写字母转小写字母 +32

小写字母转大写字母 -32

数字字符的ASCII等于他对应的数字+48

#include<stdio.h>
int main()
{
    char c1 = 'a';
    printf("%c\n",c1-32);
    int a   = 3;
    char c2 = a + 48;
    printf("%c\n",c2);
    return 0;
}
//输出结果为A
//          3

语法:

char 变量名 = '字符';

浮点型

占用字节:

f083d25fd7b8448a824d9325bb7e28f5.png

浮点数 —— 指数形式装换:

0.008 —— 8E - 3(8 * 10^(-3))

a325c447d1b2498a8e7ecffce11f3e32.png

以上均可以输出0.008

浮点数的精度

float:6位

double:16位

longdouble:16位

59d50a35644c457b8a80e9ce970d954c.png

浮点型—存储

IEEE-754 Floating Point Converter (h-schmidt.net)

该网址可以直接求得:浮点数在IEE754下在计算机中所存储的二进制值

92683eef30ab429593b41acd253408f8.png

为什么f1循环语句结果为0?         

答:浮点数常数默认是double类型,2.2f是float类型。

浮点数怎么做比较(核心:自定义精度)

浮点数存储时,存在精度损失,大多数浮点数不是一个精确表示的数。

5a90cffb425f4f8492489260849bc1f3.png

//not equal

2ab6698d9a80490da6e58f547f0d69ee.png

如何进行正确的浮点数比较?

fabs()函数:对括号内的值求绝对值。

ceca25aef85b47ab9eccffca6bd451e1.png

bool、void类型

bool

6401c3a0081c477eaf8ad8de8adf5652.png

ebddacb8fd1b47c08ddadf395714021f.png

//结果1 ture 1

上述的函数也可以改为以下:

5973265e863444dfa139fb2ac0715c46.png

注意:bool数据类型的数值只有1和0两种,任何非0数值转换为bool类型都为1。

例:

3561235f2a89422a87d26f0cf42526a9.png

//结果:0 1 0 1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值