第二章 数据类型
2.1 常量与变量
常量:整型常量、浮点型常量、字符型常量
变量:整型变量、浮点型变量、字符型变量
2.1.1 常量
常量指的是在程序运行过程中,值不能被改变的量。在程序中,常量只能被引用,不能被修改。
第一种,整型常量。例如:100、20、-20等
示例2-1 输出整型常量
1 #include<stdio.h> 2 int main() 3 { 4 printf("%d\n",100); 5 printf("%d\n",-100); 6 return 0; 7 }
第二种,浮点型常量。例如:3.14、0.67、-0.26等
示例2-2 输出浮点型常量
1 #include<stdio.h> 2 int main() 3 { 4 printf("%f\n",3.14); 5 printf("%f\n",-3.14); 6 return 0; 7 }
第三种,字符型常量。例如’a‘、’A‘、’!’等
示例2-3 输出字符型常量
1 #include<stdio.h> 2 int main() 3 { 4 printf("%c\n",'a'); 5 printf("%c\n",'A'); 6 return 0; 7 }
上述代码中的%d、%f、%c都是占位符。相当于就是开辟一个空间,存储后面的数据,不同的占位符存储不同类型的数据。
- %d表示按照十进制整数格式输出数据
- %f表示按照十进制小数格式输出数据
- %c表示按照字符格式输出数据
另外还有第四种,字符串常量。例如“hello”、”124“等
注意:字符串常量只能用双引号括起来写
示例2-4 输出字符串常量
1 #include<stdio.h> 2 int main() 3 { 4 printf("123\n"); 5 printf("hello\n"); 6 return 0; 7 }
输出字符串常量不需要占位符," "之内原样输出。
2.1.2 变量
变量,顾名思义就是值可以改变的量。变量的本质上是一块有名字的内存空间,用来存放数据的。
打个比方,变量类似于生活中喝水的杯子,杯子里面可以装不同的饮料。但是杯子装饮料的容量是不变的,而且杯子是可以重复利用的。
当给杯子标注上名字后,我们看到这个杯子就可以知道这个杯子里面装的是什么。
在C语言中,一个合法的变量由3部分组成:变量类型、变量名、变量值。
变量类型:变量的类型用来规定变量对应内存空间的大小,如同杯子分为小杯、中杯和大杯一样。
说明 | 字符型 | 短整型 | 整型 | 长整型 | 单精度浮点型 | 双精度浮点型 |
数据类型 | char | short | int | long | float | double |
长度(占用字节) | 1 | 2 | 4 | 4 | 4 | 8 |
变量名:变量名用来标记不同的变量
变量值:变量值是变量内存空间中的数据
定义变量有两种方式:
(1)先定义,后赋值
变量类型 变量名;
变量名 = 数据;
(2)初始化(定义变量的同时赋值)
变量类型 变量名 = 数据;
定义多个变量:变量类型 变量名1,变量名2,变量名3...//变量之间以逗号分隔
变量需要注意的问题:
- 变量一定要先定义,后使用
- 同一个{}中的变量不能重名
- 局部变量与全局变量。局部变量只在被定义的函数中有效,而全局变量在整个源程序文件中都有效。局部变量必须放在函数的开头,或函数内语句块的开头。
- 变量的有效性只在它所在的{}内
2.2 标识符与关键字
标识符:C语言中,用来对变量、函数、数组等命名的字符序列被称为标识符,如变量名a就是标识符
标识符的规定:
- 只能由26个英文字母、数字和下划线3种字符组成
- 第一个字符只能是字母或者下划线
- 区分大小写
- 不能是关键字
C语言种的32个关键字都有特定的含义,因此不能被用作标识符
2.3 基本数据类型
C语言中的数据分为常量和变量两种,常量的数据类型在使用时由系统自动给出,变量的数据类型在定义变量时由用户指定。
变量类型 变量名 = 变量值;
2.3.1 整型
C语言中,最常用的整型是基本整型int,占4个字节内存空间
示例2-5 整型变量的定义与输出
1 #include<stdio.h> 2 int main() 3 { 4 int a = 20; 5 printf("%d\n",a);//程序会先读取变量a对应内存空间的数据20,然后把数据放到占位符%d中输出。 6 return 0; 7 }
2.3.2 浮点型
常用的浮点型有两种:
- 单精度浮点型(float),占4个字节
- 双精度浮点型(double),占8个字节
示例2-6 单精度浮点型变量的定义与输出
1 #include<stdio.h> 2 int main() 3 { 4 float f = 3.14; 5 printf("%f\n",f); 6 return 0; 7 }
示例2-7 双精度浮点型变量的定义与输出
1 #include<stdio.h> 2 int main() 3 { 4 double d = 3.14; 5 printf("%lf\n",d); 6 return 0; 7 }
2.3.3 字符型
字符类型char,占1个字节。
示例2-8 字符型变量的定义与输出
1 #include<stdio.h> 2 int main() 3 { 4 char c = 'A';//把字符A对应的ASCII码65存在变量c中 5 printf("%c\n",c);//先读取变量c的数据65,再把65放到占位符%c中。因为%c只能输出字符型,所以输出ASCII码65对应的字符A
printf("%d\n",c);//输出该字符对应的ASCII码 6 return 0; 7 }
字符在内存中都是按照ASCII码存储的,而ASCII码本质上也是整数,因此字符型可以看作是整型的一种,当然可以按照%d的格式输出。
当上述代码按照%d的格式输出的时候,输出的是字符A对应的ASCII码65。
2.3.4 转义字符(了解)
在C语言中有一类特殊的字符,该类字符是以字符"\"开头的字符序列。例如换行符\n。
2.3.5 注释
一行注释://
多行注释:/* */
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步