C语言数据类型 / 变量类型 - C语言零基础入门教程

目录

  • 一.C 语言数据类型分类
  • 二.C 语言整形
    • 1.无符号整形(16 位系统)
    • 2.有符号整形(16 位系统)
    • 3.int 和 long 区别
    • 4.超出取值范围的整形
  • 三.C 语言浮点型 float/double
    • 1.float(单精度)
    • 2.double(双精度)
  • 四.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.C 语言数据类型分类

C 语言的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言数据类型 / 变量类型
//@Time:2021/05/21 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/int       : 占据的内度存大小是2 个byte
short int : 占据的内度存大小是4 个byte
long int  : 占据的内度存大小是4 个byte
float     : 占据的内度存大小是4 个byte
double    : 占据的内度存大小是8 个byte
char      : 占据的内度存大小是1 个byte

二.C 语言整形

C 语言的整形,分类两类,一种是有符号的(正数/负数),一种是无符号的(默认是大于等于零);

1.无符号整形(16 位系统

/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言数据类型 / 变量类型
//@Time:2021/05/21 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/unsigned int 取值范围          :0~65535
unsigned short int 取值范围    :0~65535
unsigned long int 取值范围     :0~4294967295

无符号整形,默认重 0 开始,永远不可能有负数;

2.有符号整形(16 位系统

/************************************************************************/
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言数据类型 / 变量类型
//@Time:2021/05/21 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/int 取值范围           :-32768~+32767
short int 取值范围     :-32768~+32767
long int 取值范围      :-2147483648~+2147483647

有符号整形有正负区间(包含大于 0 和小于 0 两个区间),实际上总长度和无符号整形一样;

3.int 和 long 区别

早期的操作系统是 16 位系统

int用二字节表示,范围是-32768~32767;
long用4字节表示,范围是-2147483648~2147483647;

后来发展到 32 位操作系统

int 用4字节表示,与long相同,范围是-2147483648~2147483647;

目前的操作系统已发展到 64 位操作系统,但因程序编译工艺的不同,两者表现出不同的差别:

32位编译系统:int占四字节,与long相同,范围是-2147483648~2147483647;
64位编译系统:int占四字节,long占8字节,long数据范围变为:-2^63 ~ 2^63-1;

4.超出取值范围的整形

/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言数据类型 / 变量类型
//@Time:2021/05/21 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/#include "stdafx.h"int main()
{int i=2147483647; //32位操作系统 int 取值范围 :-2147483648~+2147483647unsigned long int j=4294967295; //unsigned long int 取值范围 :0~4294967295printf("%d %d %u %u\n",i,i+1,j,j+1);
}/*
输出结果:2147483647 -2147483648 4294967295 0
请按任意键继续. . .
*/

由此可见:当 int 型整数超出自己范围时,会从它的最小值重新开始!( int 和 long int 取值范围一样)

三.C 语言浮点型 float/double

C 语言变量类型除了整形之外,还有浮点数类型,例如:3.5,3.1415927685……

浮点数类型也分为两类,一种是 float 单精度 ,一种是 double 双精度,区别就在于 double 的取值范围不管是小数部分还是整数部分都比 float 更高;

1.float(单精度)

  • float 整数部分取值范围:能表达式万亿级别,已经够大了,实际开发完全够用;
  • float 小数部分取值范围:最多只能精确到小数点后 6 位;

2.double(双精度)

  • double 整数部分取值范围:比 float 更大,脑补就行了….
  • double 小数部分取值范围:最多只能精确到小数点后 15 位;

举个例子:

/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言数据类型 / 变量类型
//@Time:2021/05/21 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/#include "stdafx.h"int main()
{float num1 = 3.1415926535;double num2 = 3.1415926535;printf("float  num1 = %.10f \n",num1);printf("double num2 = %.10f \n", num2);
}/*
输出结果:float  num1 = 3.1415927410
double num2 = 3.1415926535
请按任意键继续. . .
*/

由上面可以看出,float 类型的小数点最多只能精确到第 6 位,第 7 位开始就已经不准确了,而 double 类型可以精确到 15 位,一般项目中使用 float 类型已经完全足够了;

四.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. 设置 Visual Studio 字体/背景/行号
  6. C 语言 Hello World
  7. C 语言代码注释
  8. C 语言数据类型 / 变量类型

未经允许不得转载:猿说编程 » C 语言数据类型 / 变量类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【拨云见日】全面云化时代,如何选择适合自己的“云”?

戳蓝字“CSDN云计算”关注我们哦!随着云计算技术的不断成熟,大数据、人工智能、区块链等技术的推陈出新,政府和企业级客户开始逐渐接受云计算。云计算不仅可以帮助政府客户解决运维人员能力不足、人手不足、安全保障等问题,也可以…

PWN题[强网先锋]orw超详细讲解(多解法)

知识点 构造一段shellcode的作用就是为了在缓冲区溢出时将shellcode的地址覆盖正常的返回地址。 \x00 截断符 shellcode里出现\x00就会从其截断,所以构造shellcode的时候要避免\x00 x64函数调用规则 x64机器在调用某个函数前,比如int func(int a, int…

资深程序员参加面试因穿着被认为是新手,拿下帽子后,被当场录取

戳蓝字“CSDN云计算”关注我们哦!(图自:微博冰原上空的飞燕)IT程序猿 微博网友评论:嘉嘉大美人:这个发型,小公司都雇不起NanoNova:格子衫,脱发这些梗还要用多久贝贝呵呵哈…

BugkuCTF-Crypto题这不是md5

描  述: 666c61677b616537333538376261353662616566357d 知识点:16进制到文本字符串 66 6c 61 67 7b 61 65 37 33 35 38 37 62 61 35 36 62 61 65 66 35 7d 点击十六进制转字符:

为什么公司宁愿花25K重新招人,也不愿花20K留住老员工?

戳蓝字“CSDN云计算”关注我们哦!身在职场,经常会暗自打听同事工资,尤其是得知身边新入职同事的工资居然比自己高,还高出一大截时,心里自然很不平衡,一心想要离职。 那么,为什么公司宁愿花高价招…

BugkuCTF-MISC题cisco(writeup)

解题准备 本题需要掌握AES加解密,cisco模拟器软件Cisco Packet Tracer 以及cisco交换机基本命令。 解题流程 cisco 描述: 密码是flag。 把cisco.zip解压后,得到2个txt文档。 解题思路 1.txt打开是乱码,先看看2.txt文件。 2.txt打开后得到…

20张图表达程序员的心酸

戳蓝字“CSDN云计算”关注我们哦!「1」被老板委派接手刚刚离职同事的项目...「2」当他们要求我测试所有应用功能时「3」准备下班的时候,测试又提bug过來了… 「4」使用新框架却忘记阅读文档「5」测试实习生的代码「6」网络延迟的危害...「7」测试刚写完的代码「8」d…

BugkuCTF-MISC题convert

下载文件 打开文件,发现1和0总个数除以8余一个数 所以删除尾部的0,将1.txt改为1-删除尾部0.txt 八位二进制 对应 两个十六进制 先将其隔开 with open("1-删除尾部0.txt",r) as f:s f.read()for i in range(0,len(s),8):#print(s[i:i8],end&q…

程序员为什么想进大厂,看看年终奖你们就知道了

戳蓝字“CSDN云计算”关注我们哦!2018年的最后一个月,一年的辛苦不易除了放假就盼着年终奖了,一直以来被外行人称为“钱多话少”的程序员,到了年底也都能拿到不少的年终奖,毕竟都是996拼出来的,那么国内的互…

Python | 7招教你识别一个网站是否是Django后台

戳蓝字“CSDN云计算”关注我们哦!作者 l 上海小胖 来源 l Python专栏(ID:xpchuiit)转载请联系授权(微信ID:pythonzhuanlan)目录:1. 利用Debug模式异常页面判断2. 通过CSRF Token验…

BugkuCTF-MISC题Photo的自我

下载附件得到一个压缩包,压缩包里面是个文件夹,文件夹内有一个图片和两个加密的压缩包,先看看这个图片 能隐约发现右下角有信息藏着的,修改图片高度得到图片右下角的信息:B:One2021 图片右下角的信息露出来了:B:One2…

C语言变量声明和定义 - C语言零基础入门教程

目录 1.变量名的开头必须是字母或下划线,不能是数字2.变量名中的字母是区分大小写的3.变量名绝对不可以是 C 语言关键字4.变量名中不能有空格四.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 **程序猿有一个梗:写代码代码…

我那么拼命,为什么还会被裁掉?

戳蓝字“CSDN云计算”关注我们哦!本文转载自「程序人生」,搜索「coder_life」即可关注。我们那么努力,为什么还会被裁掉?昨晚下班经过北京望京地铁站,看到一位姑娘,在换乘通道里的消防栓上,打开…

BugkuCTF-MISC题Pokergame

补充: 用010hex打开zip文件。 把504B0304后的第3、4个byte改成0000 即将0900改为0000 而504B0102后的第5、6个byte不需改成0000即可破解伪加密。 解题 下载,解压 文件有hint.txt,king.jpg,kinglet.jpg,Poke.zip 通过binwalk -e 和foremost分别分离kin…

C语言格式控制符/占位符 - C语言零基础入门教程

目录 1.C 语言格式控制符/占位符2.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 网络有这么一个段子: 如果说一个男生没对象 —单身狗;如果说一个女生没对象 — 狗不理; 1.C 语言格式控制符/占位符 不管是单…

Elastic:Beyond Search!

戳蓝字“CSDN云计算”关注我们哦!作为后端的程序员,如果没有听说过Elastic及其产品Elasticsearch或者ELK,那实在是太Out了,这款分布式的实时搜索和分析引擎自从诞生以来,就受到了众多程序员的青睐,自其第一…

PWN题[强网先锋]no_output

知识点 strcpy(dest, src) strcpy 函数用于将指定长度的字符串复制到字符数组里 语法形式为:char *strcpy(char *dest, const char *src, int n), 表示把src所指向的字符串里以src地址开始的前n个字节复制到dest所指的数组里,并返回被复制后…

上传自己的项目到github

思路:用秘钥将自己项目和github建立连接,实现上传 实现: 1.准备工具,下git,配置环境变量, 桌面右击出现 就ok,然后 cmd 输入git --version 说明安装和配置成功 2.qq邮箱和qq密码注册github&…

漫画:如何实现大整数相乘?(上)

戳蓝字“CSDN云计算”关注我们哦!前一段时间,小灰发布了一篇有关大整数相加的漫画,没看过的小伙伴可以先看一看:漫画:如何实现大整数相加?那么,大整数相乘又是如何实现的呢?起初&…

ret2dlresolve归纳

ret2dl_resolve的原理: 动态链接相关函数_dl_runtime_resolve(link_map_obj, reloc_index) 功能:在第一次调用某函数时运行,绑定其地址到对应的GOT表项 第一个参数link_map_obj一直为GOT[1]的地址 第二个参数reloc_index为被绑定函数在.rel.…