C语言数据类型:C语言描述对象的单位

基本数据类型:

数据类型种类:   

英文

32位系统所占字节数

  64位系统所占字节数  

格式控制符

字符类型  

char

1

%c/%hhd

无符号字符类型

unsigned char

1

%hhu

短整型

short

2

%hd   (hàhalf)

无符号短整型

unsigned short

2

%hu

整型

int

4

%d

无符号整型

unsigned int

4

%u

长整型

long

4

8

%ld

无符号长整型

unsinged long

4

8

%lu

长长整型

long long

8

%lld

无符号长长整型

unsigned long long

8

%llu

单精度浮点型

float

4

%f

双精度浮点型

double

8

%lf

布尔类型

bool

1

%hhd

注意:

1、可以使用sizeof去计算数据类型或者变量所占字节数

测试代码:

#include <stdio.h>



int main()

{

    char a = 'r';



    printf("%u\n", sizeof(char)); //测试char类型所占字节数

    printf("%u\n", sizeof(a)); //测试变量a所占字节数



    printf("%u\n", sizeof(unsigned char)); //测试unsigned char类型所占字节数

    printf("%u\n", sizeof(int)); //测试unsigned char类型所占字节数



    return 0;

}

 

注意:

  1. sizeof使用

在64位系统:

printf("%lu\n", sizeof(char));

32位系统:printf("%u\n", sizeof(a));

printf("%u\n", sizeof(char));

2、使用布尔类型要加头文件 #include <stdbool.h>

bool a = 1;  <==>bool a = true;

bool a = 0;  <==>bool a = false;

布尔类型变量的值,非0则为真

printf("%u\n", sizeof(bool)); //1

bool b = true;


printf("%hhd\n", b); //1 真


b=false;

printf("%hhd\n", b); //0 假


b=100;

printf("%hhd\n", b); //1 真


b=1;

printf("%hhd\n", b); //1 真


b=0;

printf("%hhd\n", b); //0 假

3、浮点型

float、double默认保留6位小数,第七位会四舍五入

float b = 1.123456789;


printf("%f\n", b); //


double c =  1.123456789;


printf("%lf\n", c); //

4、计算机内存存储的数据都是二进制数,如何存储字符,把每个字符都设置一个编号(ASCII码),如果要输出字符必须要用%c,输出对应的整数%hhd

总的字符的个数:128个字符

'A'  == 65

'a'  == 97

'0'  == 48

%c输出字符类型变量的对应字符

%hhd输出字符类型变量里面对应的整数

查找ASCII码表:使用命令man ascii

#include <stdio.h>

#include <stdbool.h>


int main()

{

    //char a = 'r'; //等价于:

     char a = 114;

    printf("%c\n", a); //把变量a里面的二进制数作为ASCII码值,

    //在ASCII码表里面找到对应的字符,把它显示到屏幕

    printf("%hhd\n", a); //把变量a里面的二进制数转化为十进制数输出


    printf("%c\n", 'a'+5); // printf("%c\n", 97+5);


    char b=0;

    printf("%hhd", b); //0


    b = '0';

    printf("%hhd", b); //48


    b='\0';

    printf("%hhd", b); //0


    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值