数据类型和变量常量
2026/9/16 9:13:50 网站建设 项目流程

一、数据类型
1、字符型 char 但引号括起来的都为字符类型为char,比如’a’、‘A’
printf打印字符时用**%c**

如果是字符串的话需要存放到字符数组中
printf打印字符串用**%s**

2、整形
在C语言中整数的类型就是整形

printf打印整形用**%d**

3、 浮点型 单精度浮点型: float; 双精度浮点型: double


scanf函数中输入的占位符 double 只能用%lf; 在printf函数中 double 和 float 可以用%lf也可以用%f,但考试规范用**%f**;原因:因为在printf函数中 float 会自动提升成 double ;

4、布尔类型
C语言在C89/C90时期没有为布尔值单独设置一个类型,使用整数0表示假,非0表示真;后在C99中引入布尔类型表示真假;

使用布尔类型定义 flag 为 true、 flase、 bool 需要包含头文件 #include <stdbool.h> ;因为 bool / true / false 是头文件给的宏;

二、类型修饰符

1、

上方后面注释为打印出的结果,sizeof( ) 用于求类型/变量占用内存大小 对应字节一个字节相当于8个bit位;sizeof 返回类型是size_t(无符号整型,unsigned)在 printf 占位用%zu;
!!!注意:C语言中标准规定 long int 的长度>= int(double也是类似)

2、signed 和 unsigned 是和符号有关,专门修饰字符类型和整形类型的。
signed 表示一个类型带有正负号,可以表示正数、0、负数; unsigned 表示类型不带正负号,只能表示正数、0;( 前面的 sizeof() 所求大小就是无符号的)

三、ASCII

几组特殊的
1、字符A~Z 从 65—90,按字母顺序加1;2、a—z 从97----122(大写加32即为小写)3、0—9 的是 48—57;4、\n 是 10;5、0—31是不可打印字符,无法在屏幕上观察;

四、字符转义序列

五、变量和常量
1、变量
变量创建形式

变量命名规则:1、变量的名字要有意义;2、只能由字母、数字、下划线组成;3、不能以字母开头;4、长度不能超过63个字符;5、变量中要区分大小写;6、变量名不能使用关键字

变量在创建时需要初始化:

1.1、全局变量:在函数之外定义的变量称为全局变量
作用域:从定义位置开始,到整个源文件末尾都可见(若其它文件想用,需要用 extern 声明)
生命周期:程序启动时创建,结束销毁(存在内存的静态区/数据段
初始值:如果没有显式初始化,系统自动初始成 0(或 ‘\0’ 、NULL)
过多使用全局变量会导致模块间耦合度高、调试困难


1.2、局部变量:在大括号内定义的变量就是局部变量
作用域:仅限于定义他的函数或者代码内部,外部无法访问;
生命周期:在进入函数或代码时创建,退出自动销毁(存在内存的栈区);
初始值:如果没有显示初始化,其值是垃圾值,要初始化;
优先级:当局部变量与全局变量同时存在时,优先使用局部变量;

1.3、变量的存储
变量创建的本质是在内存上申请空间
一般我们关注内存的三个区:栈区、堆区、静态区
局部变量在栈区,全局变量在静态区(数据段)

2、常量
2.1、字面常量: 100、20、‘x’、“abcdef”、3.14

2.2:符号常量
通常名字全是大写

2.3、const修饰的常变量
使⽤ const 关键字修饰的变量,其值在初始化后不可修改,但本质上仍然是变量(有类型、有地址),只是编译器禁⽌赋值操作。

这就说明被 const 所修饰的变量初始化后不可修改

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询