一、数据类型
C语言中有以下几种基本的数据类型:char 字符数据类型、short 短整型、int 整型、long 长整型、long long、float 单精度浮点型、double 双精度浮点型。 为什么出现这么多的类型呢?存在这么多的类型,其实是为了更加丰富地表达生活中的各种值。
- 那么C语言中有字符串类型吗?
在C语言中通常用数组来存放字符串,在字符数组中要以'\0'结尾,在C++中可以用string来定义字符串。
- 每种类型的大小
数据类型的大小可以用单目操作符sizeof来计算,代码如下:
#include<stdio.h>
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
return 0;
}
运行结果为:
以上运行结果的单位是字节。
计算机中的单位有:比特 bit、字节 Byte、KB、MB、GB、TB、PB
其中1KB=1024Byte、1MB=1024KB、1GB=1024MB ······
二、变量、常量
在生活中,有些值是不变的,有些值是变的,C语言中不变的值用常量的概念来表示,变的值用变量来表示。
1、 定义变量的方法
创建变量的本质:在内存中开辟一块空间,存放数据。
在程序结束时会销毁,把空间还给操作系统。
int age = 150;
float weight = 45.5;
char ch = 'w';
2、变量的命名
- 只能由字母(包括大写和小写)、数字和下划线组成。
- 不能以数字开头。
- 长度不能超过63个字符。
- 变量名中区分大小写,并且变量名不能使用关键字。
3、变量的分类
- 局部变量
- 全局变量
当局部变量和全局变量同名时,局部变量优先使用。
4、变量的作用域和生命周期
- 作用域
作用域是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
- 局部变量的作用域是变量所在的局部范围。
- 全局变量的作用域是整个工程。
- 生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
- 局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束。
- 全局变量的生命周期: 整个程序的生命周期。
5、常量
C语言中的常量分为以下几种:
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
代码解释如下:
#include<stdio.h>
//这是#define定义的标识符常量
#define MAX 100
enum Sex
{
MALE,
FEMALE,
Other
}; //MALE、FAMALE、Other是枚举常量
int main()
{
1000; //字面常量
const float pai = 3.14; //pai是const修饰的常变量,pai是不能被修改的
//枚举常量输出
printf("%d\n",MALE);
printf("%d\n",FEMALE);
printf("%d\n",Other);
//注:枚举常量的默认是从0开始,依次向下递增1的
return 0;
}
注:上面例子的pai是const修饰的常变量,const修饰的常变量在C语言中只是在语法层面限制了变量pai不能直接被改变,但pai本质上还是一个变量,所以就叫做常变量。