学习笔记---C语言数据类型

本文详细介绍了C语言中的基本数据类型及其常规状态下的数据范围,包括整型、浮点型和字符型等,并提供了sizeof方法的使用实例,帮助读者更好地理解和记忆。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初学C语言数据类型,感觉这样的东西确实不易记忆。

所以写一篇博客加深记忆,并方便日后查阅

 

以下是基本数据类型以及其常规状态下的数据:

注:带中括号的代表里面的东西可以写也可以不写,不写的情况下默认为括号内数值;

整型:

[signed] int: 字节数:4;位数:32;取值范围: -2147483648~2147483648;

[signed] short:字节数:2;位数:16;取值范围:-32768~32767;

[signed] long:字节数:4;位数:32;取值范围:-2147483648~2147483648;

unsigned int:字节数:4;位数:32;取值范围:0~4294967295;

unsigned short:字节数:2;位数:16;取值范围:0~65535;

unsigned long:字节数:4;位数:32;取值范围:0~4294967295;

注:+-代表从-到+,比如+-5表示取值范围从-5~+5;

浮点型:

float:字节数:4;位数:32;取值范围:+-(3.4*10^-38~3.4*10^38);
double:字节数:8;位数:64;取值范围:+-(1.7*10^-308~1.7*10^308);

long double:字节数:10;位数:80;取值范围:+-(1.2*10^-4932~1.2*10^4932);

注:这里的^代表的是其数学意义,即指数

字符型:

char:字节数:1;位数:8;

 

注意点:

1. signed代表有符号型,即这个数据类型可以储存负数也可以储存正数。当在数据类型前使用unsigned标签(即无符号)时,将只能储存正数,并且可存储的最大正数将是原来的一倍;

2.一个字节为8位,所以位数即字节数乘8;

3.long 在很多系统中占用8个字节(即64位);

4.long double 在有些系统中占用12个字节(即96位);

 

通过以上几个注意点可以发现,C语言中的数据类型的占用字节数和位数并不是固定的,取值范围也随位数和字节数的改变而改变。

所以,我们需要用到一个方法来确定一个系统的这几个参数:sizeof(数据类型/表达式)这个方法就是我们需要的。

以下,放出该方法的使用实例:

C语言代码:

#include <stdio.h>
#include <stdlib.h>
/*
这个程序用来查看本机的几个基本数据类型的占用字节数
*/
int main()
{
    //使用sizeof()方法能输出括号内数据类型在本机中占用的字节数
    //如果括号内输入的是表达式的话,将输出表达式运算结果代表的数据类型在本机中占用的字节数
    printf("Size of int is: %d\n",sizeof(int));
    printf("Size of short is: %d\n",sizeof(short));
    printf("Size of long is: %d\n",sizeof(short));
    printf("Size of unsigned int is: %d\n",sizeof(unsigned int));
    printf("Size of float is: %d\n",sizeof(float));
    printf("Size of double is: %d\n",sizeof(double));
    printf("Size of long double is: %d\n",sizeof(long double));
    printf("Size of char is: %d\n",sizeof(char));
    printf("Size of num is: %d\n",sizeof(9/8));
    return 0;
}

 

 

 


运行结果:

 

另附:C语言数据类型书写与阅读注意点

 

通过书写看出数据类型:

 

int :  123  304  25278  1  0  906;

 

long:  123l  304L  25278L  1L  0l  906l;   (long型数据一般在数字后方加上一个L(l))

 

float:  3.2  3.  0.038  .05  2E-3  2.45e17  105.4E-10  304.2E8(当小数点后都是零时,零可省略,当小数点前只有零时,零可省略。E(e)代表科学计数法,即:2E-3=2*10^-3)

 

double:  13.2f  -1.7853E-2F  24.68700f  .32F  0.33f(double型数据一般在数字后方加上一个F(f))

 

long double:  12.89L  3.47E34L  .05L  1.L(long double型数据一般在数字后方加上一个L)

 

通过书写看出进制:

 

8进制:  0236  0527  06254; (8进制数一般在数字前加上0,八进制只能使用0~7的数)

 

16进制:  0x2073  0xA3B5  0XABCD  0XF0F00000L; (16进制一般在数字前加上0x或0X,十六进制可以使用0~9和a~f(A~F)来表示数据,不区分大小写(a~f)分别对应9之后的几个数)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值