从基础到进阶!C 语言第二课:了解数据类型与变量的详细内容 在开始学 C 语言的时候咱们就像刚进到一个以前都没去过的地方对一切都充满好奇。最开始我们就好比找到了这个地方的大门入口学会了怎么让计算机输出 “Hello, World!” 。这就像是你第一次走进游乐场看到那标志性的大门兴奋又新鲜。有了这个基础咱们对 C 语言这个神奇的 “游乐场” 就更感兴趣了迫不及待想知道接下来还有哪些好玩的东西等着我们去探索。这节课我们将踏入 C 语言数据的奇妙世界认识数据类型与变量。一、数据类型计算机要处理的东西五花八门一会儿是数字一会儿是文字还有各种复杂的信息。就好比你有一堆不同的宝贝大箱子、小盒子、零碎小物件啥都有。为了能把这些宝贝规整地收纳好想用的时候能快速找到C语言就想出了好多办法弄出了各种各样的数据类型专门用来存放不同类型的数据这样管理起来又方便又高效 。一基本数据类型整型int用于存储整数如 1、 -5、1000 等。在一般的系统中int 类型通常占用 4 个字节32 位能表示的范围大概是 -2147483648 到 2147483647。等会下面我就为大家举个例子帮助大家理解学习。eg一个整型变量来存储班级学生人数。1. 存储整数的用途在现实生活中我们经常会遇到需要计数的情况比如统计班级学生人数、书架上书的数量、一个月的天数等这些数量都是整数。在 C 语言里int 类型就像是一个专门用来装整数的 “盒子”可以把像 1、 -5、1000 这样的整数放进去。举个例子你在统计班级学生人数时这个人数肯定是一个整数不会出现小数或者分数这时候就可以用 int 类型来存储这个人数。2. 占用字节和位数的含义计算机存储数据是以二进制的形式进行的二进制只有 0 和 1 两个数字。一个二进制位bit就是一个 0 或者 18 个二进制位组成一个字节Byte。int 类型通常占用 4 个字节也就是 32 位这意味着它可以用 32 个 0 或者 1 来表示一个整数。就好比你有 32 个小格子每个格子可以放 0 或者 1通过不同的排列组合就能表示出不同的整数。3. 表示范围的理解由于 int 类型用 32 位来表示整数而且最高位第 32 位是用来表示正负号的0 表示正数1 表示负数剩下的 31 位用来表示数值大小。所以它能表示的最大正数就是 31 位全为 1 的情况转换为十进制就是 2147483647能表示的最小负数就是最高位为 1其余 31 位全为 0 的情况转换为十进制就是 -2147483648。这就好比你的 32 个小格子有一个格子专门用来标记这个数是正还是负剩下的 31 个格子用来组合出具体的数值但是组合的方式是有限的所以能表示的整数范围也是有限的。4. 示例代码举例在这个代码中我们定义了一个 int 类型的变量 studentNumber就相当于准备了一个 “盒子”然后把 50 这个整数放进了这个 “盒子” 里。最后通过 printf 函数把这个 “盒子” 里的内容打印出来。只要班级学生人数在 -2147483648 到 2147483647 这个范围内都可以用 int 类型的变量来存储。但如果班级学生人数超过了这个范围就需要使用其他类型来存储了。浮点型单精度浮点型float用于存储小数精度有限通常占用 4 个字节。eg比如定义一个变量存储商品价格因为商品价格通常是小数字符型char用于存储单个字符如‘a’、‘B’、‘$’等。它占用 1 个字节本质上存储的是字符对应的 ASCII 码值。eg定义一个变量存储性别eg让用户输入性别当出现这样的问题的时候我们应该怎么处理呢方法我学到了两个其一#define _CRT_SECURE_NO_WARNINGS添加这个加以定义添加的位置在首行添加如果你输出错误它就会打个问号所以这个要输出正确的格式。如下图所示正确演示其二scanf_s使用scanf_s替代scanf二构造数据类型数组是一组相同类型数据的集合。比如要存储一个班级 50 个学生的成绩就可以使用数组eg1初始化数组并计算平均分eg2:从用户输入获取成绩并计算最高分最高的成绩是多少它都能帮你找出来简单快捷。eg3随机生成成绩并统计及格人数通过对比我们可以看出这个是随机生成的所以及格人数也是随机的。结构体struct把不同类型的数据组合成一个有机的整体。例如要描述一个学生的信息包括姓名字符数组、年龄整型、成绩浮点型就可以使用结构体eg1学生的信息struct 是 C 语言中用于定义结构体的关键字Student 是结构体的名称可以根据实际情况取合适的名字。在结构体的大括号内依次定义了三个成员变量分别是 name字符数组类型、age整型和 score浮点型。这三个成员变量共同组成了一个 Student 结构体类型它可以用来表示一个学生的完整信息。图1单个学生信息图2多个学生信息eg2一本书的信息struct 是定义结构体的关键字Book 是结构体的名称。在大括号内依次定义了四个成员变量title字符数组存储书名、author字符数组存储作者姓名、year整型存储出版年份和 price浮点型存储书的价格。这些成员变量共同构成了 Book 结构体类型用于表示一本书的完整信息。通过这两个例子大家也应该了解个大概了吧。通过这些例子大家也可以自己尝试举例尝试编辑代码。当我们编译出基本代码的时候有时候会出现一些bug遇到问题那就去想办法解决对于新手的我而言就是搜索资料找到好的解决办法。解决办法1在小数常量后面加上 f 或 F这样就可以将其指定为 float 类型避免类型不匹配的问题。解决办法2不想使用 strcpy_s可以通过定义 _CRT_SECURE_NO_WARNINGS 来处理。课后例子eg1描述一个员工信息员工编号、姓名、职位、月薪eg2描述一个日期年、月、日eg3描述一个二维平面上的点二维平面上的点点的位置由横坐标和纵坐标参考我学习编写的代码eg1eg2eg3.1eg3.2联合体union联合体中的成员共享同一块内存空间同一时刻只能存储其中一个成员的值。它在节省内存空间等特定场景下有用。通俗点理解想象你有一个小百宝箱它一次只能装一样东西。你可以往里面放一颗漂亮的弹珠也可以放一块香香的橡皮或者放一张精美的贴纸但不能同时把弹珠、橡皮和贴纸都放进去。当你放入新东西的时候原来的东西就会被拿出来。虽然在每个时刻联合体中确实只有一个成员的值是有效的但在程序运行的过程中我们可以依次对不同的成员进行操作展示不同成员的值所以你会看到这三个不同的输出结果而不是只出现一个。三指针类型还没学习这个知识点的时候就听说这个点很难那么我们一起来看看了解之后看看大家觉得这个知识点如何指针是 C 语言的一大特色它存储的是变量的内存地址。通过指针可以高效地操作内存。你可以把内存想象成一个超大的公寓楼每一个房间就是一个存储数据的地方。每个房间都有自己独一无二的房间号这个房间号就好比是内存地址。指针呢就像是写着房间号的小纸条。它本身存的不是数据比如不是住在房间里的人或者家具这些东西而是房间号也就是变量在内存中的地址。有了这张小纸条指针我们就能很快速地找到对应的房间内存位置对里面的数据进行各种操作这就叫通过指针高效地操作内存 。比如说你想找住在某个房间的人有了写着房间号的纸条就能很快找到那个房间而不用一个房间一个房间去试。四空类型voidvoid 类型表示 “无类型”。常用于函数返回值类型表示函数不返回任何值以及函数参数列表表示函数没有参数。二、变量变量是存储数据的容器在超市里每个货架都有它专门的用途有的放饮料有的放零食有的放日用品。在程序里变量就和这些货架一样是专门用来存放数据的。数据就像是超市里的商品比如数字、文字等。不同的变量能存放不同类型的数据就像不同的货架放不同种类的商品。使用变量前要先声明在超市里你不能随便找个地方就开始放商品。你得先和超市管理员说你要一个货架来放东西。在程序里也是一样你想用一个变量来存放数据就得先告诉计算机你要怎么做这就是 “声明变量”。要是不先声明就直接用计算机就会 “懵圈”不知道你说的是哪个 “货架”然后就会报错。声明变量要指定数据类型和变量名举个例子假如你要在程序里记录一个人的年龄年龄一般是整数你就可以跟计算机说“我要一个叫 person_age 的‘货架’专门用来放整数。” 用代码表示就是这里的 int 就是数据类型表示只能放整数person_age 就是变量名能让你很容易就知道这个变量是用来存人的年龄的。之后你就可以把具体的年龄数据放到这个 “货架” 上比如这里计算机就把 25 这个数据存到 person_age 这个变量里了。一变量声明基本格式数据类型数据类型决定了变量可以存放的数据的类型和范围同时也决定了变量在内存中所占的存储空间大小以及能对其进行的操作。变量名变量名是用来标识变量的名称在使用变量时通过变量名就可以对其进行赋值、读取值等操作。变量名需要遵循一定的命名规则同时声明多个变量可以在一行中声明多个相同类型的变量变量名之间用逗号隔开int num1, num2, num3;二变量初始化在声明变量的同时给变量赋予初始值称为变量初始化。把变量想象成一个存钱罐声明变量就相当于你准备了一个存钱罐而变量初始化就是在你拿到存钱罐的那一刻就往里面放了一些钱。假如你买了三个不同的存钱罐一个用来存零花钱一个用来存压岁钱一个用来存奖学金。你刚拿到存零花钱的存钱罐时就放了 50 元进去这 50 元就是这个存钱罐变量的初始值。单个变量初始化为啥要变量初始化数据类型 变量名 初始值;int age 20; float height 1.75f; char ch A;多个变量初始化01.分别初始化多个同类型变量02.初始化多个不同类型变量03.初始化数组变量数据类型 变量名1 初始值1, 变量名2 初始值2, 变量名3 初始值3;int a 5, b 10, c 15;三变量命名规则在 C 语言里创建变量名有这些规定01.只能用字母大写 A 到 Z、小写 a 到 z、数字0 到 9以及下划线_来组合。02.并且开头第一个字符得是字母或者下划线绝不能是数字。03.还有变量名不能和 C 语言里那些有特殊用途的词像 int、float、if、while 这些一样。04.另外变量名大小写是有区别的count 和 Count 就代表两个不同的变量。三、案例演示计算圆的面积和周长这节课咱们一起认识了 C 语言里的数据类型和变量虽说才刚起步但这可是 C 语言学习路上特别关键的一步。数据类型就像不同规格的小盒子有装整数的、装小数的、装单个字符的各有各的用处变量呢就是给这些小盒子贴上的名字方便咱们在程序里用它们存数据。接下来咱们还要接着深入学习怎么摆弄这些数据到时候就能写出更复杂、更好玩的程序啦。就像搭积木现在咱们认识了不同形状的积木往后就要学习怎么把它们搭成超酷的造型。我特别希望大家课后能多动手写代码多实践。纸上得来终觉浅绝知此事要躬行光听我讲可不够自己动手敲敲代码多调试调试遇到问题再解决问题这样对这些知识的理解才能更深刻。说不定你在实践的时候还能发现一些更有意思的玩法期待大家在 C 语言学习里都能玩得开心收获满满#在头条记录我的2025#