尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Day2:语言数据类型和变量

Day2:语言数据类型和变量
📅 发布时间:2026/6/22 18:54:54

1.数据类型介绍

所谓类型,就是指相似的数据所拥有的共同特征,例如整型,浮点型,字符型等等。编译器只有知道了数据的类型,才能知道怎么操作数据。数据类型是编程语言中用于定义变量或函数可以存储或处理的数据的种类。

1.1.字符型

字符的英文单词是character,在C语言中使用char表示字符类型。

1.2.整型

整型的英文单词是integer,在C语言中使用int表示整型类型。

1.3.浮点型

表示有小数部分的数字,在C语言中使用float来表示。

1.4.布尔类型

表示真或假,布尔类型的使用得包含头文件<stdbool.h>,取值是:true或false。用_Bool表示。

代码演示

_Bool flag = ture; if(flag) printf("i like c\n");

因为_Bool写起来太麻烦,后来C语言对其进行了优化,在头文件<stdbool.h>中重新定义了新名字bool

1.5各种数据类型的长度

每⼀种数据类型都有自己的长度,使⽤不同的数据类型,能够创建出长度不同的变量,变量长度的不同,存储的数据范围就有所差异。那什么是长度呢,长度就是数据类型在内存中占用的字节数。

常见数据类型的长度(64位系统)
数据类型通常长度(bytes)位数(bits)范围(大致)
char1字节8位-128到127
short2字节16位-32768到32767
int4字节32位-+21亿
long8字节64位-+9百亿亿
float4字节32位约7位小数
double8字节64位约15位小数
1.5.1sizeof操作符

sizeof是一个关键字,也是操作符,专门是用来计算sizeof的操作数的类型长度的,单位是字节(bytes)

sizeof操作符的操作数可以是类型,也可以是变量或表达式。如果是表达式的时候可以省略括号。

sizeof后面的表达式是不真实参与计算的,根据表达式的类型来得出大小。

sizeof计算结果是size_t类型的。

1.5.2数据类型长度

1.5.3sizeof中表达式不计算

从图中可知sizeof后面的表达式并没有计算,变量s打印出的值仍是12。b为int类型数据,1默认为int类型数据,b+1显然也是int类型数据。要将int类型数据存放到short类型数据(变量s)中就会发生截断,将int类型截断成short类型,其表达式类型仍然是short类型,sizeof计算其长度就是2个字节了。

sizeof在代码进行编译的时候,会根据表达式的结果的类型,确定类型的长度,而表达式真正要被运算和执行却要在程序运行期间才会发生,因为在编译期间就已经将sizeof处理掉了,所以在程序运行期间不会执行表达式,也就打印不出表达式运行的结果了。

2.signed和unsigned

C语言使用signed和unsigned关键词修饰字符型和整型类型的。

signed关键词表示一个类型带有正负号,包含负值

unsigned关键词表示该类型不带有正负号,只能表示零和正整数

int等同于signed int

字符本身没有正负,但它在内存里最终只是一个整数(ASCII码),可以按照有符号整数解释。例如把这块内存解释为signed char时编译器就把它当成带符号的八位整数。

同一串二进制11111111因为有无正负号而表示不同

整数变量声明为 unsigned 的好处是,同样⻓度的内存能够表示的最⼤整数值,增⼤了⼀倍。 ⽐如,16位的 signed short int 的取值范围是:-32768~32767,最⼤是32767;⽽ unsigned short int 的取值范围是:0~65535,最⼤值增⼤到了65535。

3.数据类型的取值范围

4.变量

4.1变量的创建

C语言中把经常变换的值称为变量,不变的值叫常量。类型是用来创建变量的,声明变量为某个特定的类型。

变量创建的语法形式:

变量命名的一般规则:

  1. 只能由字⺟(包括⼤写和⼩写)、数字和下划线(`_`)组成。
  2. 不能以数字开头。
  3. ⻓度不能超过63个字符。
  4. 变量名中区分⼤⼩写的。
  5. 变量名不能使⽤关键字。

变量在创建的时候就给一个初始值,就叫初始化。

而创建好变量后再给他一个值叫做赋值

float score; score=20.0f//赋值

如果创建变量后没有初始化,打印出的值为随机数

4.2变量的分类

全局变量:在大括号外部定义的变量就是全局变量,其使用范围更广,整个工程中想使⽤,都是有办法使用的。

局部变量:在⼤括号内部定义的变量就是局部变量 局部变量的使⽤范围是⽐较局限,只能在⾃⼰所在的局部范围内使⽤的。

全局如果不初始化,编译器会指定为零,局部变量不初始化值随机。

当全局变量和局部变量的名字相同时,局部优先使用

变量创建的本质是向内存申请空间。

  1. 局部变量是放在内存的栈区
  2. 全局变量是放在内存的静态区
  3. 堆区是⽤来动态内存管理的

相关新闻

  • Excalidraw思维导图玩法:结构化思考新工具
  • Excalidraw常见问题汇总:官方FAQ精华整理
  • 基于径向基函数神经网络RBFNN的自适应滑模控制学习(Matlab代码实现)

最新新闻

  • JFinTEB:日语金融文本嵌入模型评测基准与应用实践
  • 流放之路2终极构建指南:如何用Path of Building PoE2打造完美角色
  • Mac Mouse Fix:解决macOS第三方鼠标体验困境的专业方案
  • Sudachi存档编辑器开发指南:3步构建专业级Switch模拟器数据修改工具
  • 【共创季稿事节】鸿蒙原生 ArkTS 布局深度解析:Stack 多图层叠与复杂视觉层次构建
  • 无票据卖金不踩坑!2026 南京黄金回收门店992+成交台账权威榜单 - 奢侈品回收评测

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号