C语言学习笔记(三)基本数据类型

本文介绍了C语言的基本数据类型,包括整型(有符号和无符号)、字符型和浮点型(单精度和双精度),并利用sizeof函数展示了各类数据类型的字节数和数值范围。作者通过分享学习笔记,旨在深化对C语言的理解,为从事嵌入式行业做准备。
摘要由CSDN通过智能技术生成

前言:

       由于对C语言的理解不够深刻,且距离上次学习C语言的时间过于“久远”,所以本人准备重新开始学习C语言。

        那么刚好借这个机会,既向大家分享我的学习笔记,同时又能监督我自己去努力学习这门语言,为将来从事嵌入式行业打下基础!!

学习C语言是很漫长的,要重新整理一遍学习的内容更是反复且枯燥的。但不积跬步,无以至千里,没有什么事情是一蹴而就的,我们要学会沉下心来,一起努力,一起期待未来!!

        今天的笔记主要是围绕认识基本数据类型:了解C语言的总体数据类型,了解整型、字符型、浮点型数据类型其中每类的所占字节、最大小值。

目录

数据类型大纲

整型

有符号整型

无符号整型

字符型

有符号及无符号字符型

浮点型

单精度及双精度浮点型

数据类型大纲

        从整理出的数据类型大纲来看,C语言共有9种数据类型,而我们在学习过程中较为常用的是基本数据类型。其中基本数据类型又分为:整型、字符型、实型(又称浮点型)以及枚举型,我们接下来可以使用sizeof关键词对基本类型的前三类进行一一解析:

整型

有符号整型

#include "stdio.h"
#include "limits.h"
#include "float.h"

void main()
{
	printf("short所占字节%d\n", sizeof(short));
	printf("数值范围为 %hd~%hd\n", SHRT_MIN, SHRT_MAX);
	//---------------------------------
	printf("int所占字节%d\n", sizeof(int));
	printf("数值范围为 %d~%d\n", INT_MIN, INT_MAX);
	//---------------------------------
	printf("long所占字节%d\n", sizeof(long));
	printf("数值范围为 %ld~%ld\n", LONG_MIN, LONG_MAX);
	//---------------------------------
	printf("long long所占字节%d\n", sizeof(long long));
	printf("数值范围为 %lld~%lld\n",LLONG_MIN , LLONG_MAX);
}

        我们可以通过上述代码对有符号整型的所占字节,数值范围进行模块化运算。

        有符号整型包含正负值,常理需要加上signed标识符,但是通常可以省略。

short 短整型
数据所占字节为 2 ,数据的数值范围-32768 ~ 32767打印类型%hd

int 整型

数据所占字节4 ,数据的数值范围-2147483648 ~ 2147483647打印类型%d

long 长整型

数据所占字节4 ,数据的数值范围-2147483648 ~ 2147483647打印类型%ld

long long 加长整型

数据所占字节8 ,数据的数值范围-2^(63) ~ 2^(63)-1打印类型%lld

无符号整型

#include "stdio.h"
#include "limits.h"
#include "float.h"

void main()
{
	printf("unsigned short所占字节%d\n", sizeof(unsigned short));
	printf("数值范围为 0~%hu\n", USHRT_MAX);
	//---------------------------------
	printf("unsigned int所占字节%d\n", sizeof(unsigned int));
	printf("数值范围为 0~%u\n", UINT_MAX);
	//---------------------------------
	printf("unsigned long所占字节%d\n", sizeof(unsigned long));
	printf("数值范围为 0~%lu\n", ULONG_MAX);
	//---------------------------------
	printf("unsigned long long所占字节%d\n", sizeof(unsigned long long));
	printf("数值范围为 0~%llu\n", ULLONG_MAX);
}

 

        我们可以通过上述代码对无符号整型的所占字节,数值范围进行模块化运算。

        无符号整型只包含正值,必需加上unsigned标识符,不可以省略。

unsigned short 短整型

数据所占字节为 2 ,数据的数值范围0~65535打印类型%hu

unsigned int 整型

数据所占字节4 ,数据的数值范围0~4294967295打印类型%u

unsigned long 长整型

数据所占字节4 ,数据的数值范围0~4294967295打印类型%lu

unsigned long long 加长整型

数据所占字节4 ,数据的数值范围0~2^63-1打印类型%llu

字符型

有符号及无符号字符型

#include "stdio.h"
#include "limits.h"
#include "float.h"

void main()
{
	printf("char所占字节%d\n", sizeof(char));
	printf("数值范围为 %hd~%hd\n", CHAR_MIN, CHAR_MAX);
	//======================================
	printf("unsigned char所占字节%d\n", sizeof(unsigned char));
	printf("数值范围为 0~%hd\n", UCHAR_MAX);
}

           我们可以通过上述代码对有符号及无符号字符型的所占字节,数值范围进行模块化运算。

        字符型一个字符占一个字节,变量声明是需要 '' 进行包络,可对应该字符的 ASCII 编码再放到变量的存储单元中去。

char 类型

数据所占字节1 ,数据的数值范围-128~127打印类型%c。

unsigned char 类型

数据所占字节1 ,数据的数值范围0~255打印类型%c

浮点型

单精度及双精度浮点型

#include "stdio.h"
#include "limits.h"
#include "float.h"

void main()
{
	printf("float所占字节%d\n", sizeof(float));
	printf("数值范围为 %e~%e\n", FLT_MIN, FLT_MAX);
	//======================================
	printf("double所占字节%d\n", sizeof(double));
	printf("数值范围为 %e~%e\n", DBL_MIN, DBL_MAX);
}

         我们可以通过上述代码对单精度及双精度浮点型字符型的所占字节,数值范围进行模块化运算。

float 单精度型

数据所占字节4 ,数据的数值范围1.175494e-38~3.402823e+38,数据的精度可到小数点后7位打印类型%f。

double 双精度型

数据所占字节8 ,数据的数值范围2.225074e-308~1.797693e+308,数据的精度可到小数点后16位打印类型%lf

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸡翅爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值