浮点型使用细节
- 浮点型常量默认为double型 , 声明float型常量时, 须后加‘f’或‘F’。
- 浮点型常量有两种表示形式
- 十进制数形式:如: 5.12 512.0f .512 (必须有小数点)
- 科学计数法形式:如: 5.12e2 、 5.12E-2
- 通常情况下,应该使用double型,因为它比float型更精确。
- printf("d1=%f ", d1); // 在输出时,默认保留 小数点6位
字符类型
基本介绍
字符类型可以表示单个字符,字符类型是char, char是1个字节(可以存字母或者数字),多个字符称为字符串, 在C语言中 使用 char数组 表示,数组不是基本数据类型,而是构造类型。
字符类型使用细节
- 字符常量是用单引号('')括起来的单个字符。 例如: char c1 ='a'; char c3 = '9';
- C中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如: char c3 = ‘\n’; // '\n'表示换行符
- 在C中, char的本质是一个整数,在输出时,是ASCII码对应的字符。
- 可以直接给char赋一个整数,然后输出时,会按照对应的ASCII 字符输出 [97]
- char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码.
- char c1 = 'a';
- char c2 = 'b';
字符类型本质探讨
- 字符型 存储到 计算机中,需要将字符对应的码值(整数)找出来
- 存储:字符’a’——>码值 (97)——>二进制 (1100001)——>存储()
- 读取:二进制(1100001)——>码值(97)——> 字符’a’——>读取(显示)
- 字符和码值的对应关系是通过字符编码表决定的(是规定好)
布尔类型
基本介绍
- C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真 [案例]
- 但这种做法不直观,所以我们可以借助C语言的宏定义 。
- C语言标准(C99)提供了_Bool 型, _Bool仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1, C99还提供了一个头文件<stdbool.h> 定义了bool代表_Bool, true代表1, false代表0。只要导入 stdbool.h ,就能方便的操作布尔类型了 , 比如 bool flag = false;
- 条件控制语句; if
- 循环控制语句; while …
(二)、C语言中的常量
C编程中的常量是一些固定的值,它在整个程序运行过程中无法被改变。
字面常量
字面常量是直接写出的固定值,它包含C语言中可用的数据类型,可分为整型常量,字符常量等。如:9.9,“hello”等就属于这一类常量。
##const修饰的常变量
有的时候我们希望定义这么一种变量:值不能被修改,在整个作用域中都维持原值。为了满足用户需求,C语言标准提供了const关键字。在定义变量的同时,在变量名之前加上const修饰。如下所示:
int main()
{
const int a = 1; // const修饰的常变量
}
- const修饰的常变量,本质上是变量。
- 但具有常属性,不能被修改。
- int main()
- {
- const int a = 1;
- a = 2; // 错误
- const int n = 20;
- int arr[n] = { 0 }; //n本质上是变量
- }
关于上述n的使用,需要说明的是:在C99标准之前,数组的大小只能是常量修饰,不支持变长数组。
#define定义的标识符常量
C语言提供了***#define***命令定义标识符常量,该标识符常量在程序中是个定值,通常用于代表数组容量或涉及数学的常量等。如:
#define PI 3.14159
#define SIZE 10 // 此处SIZE代表数组元素个数
int main()
{
int arr[SIZE]={0};
return 0;
}
如需修改数组大小,只需将SIZE所代表的值修改即可,十分方便。
枚举常量
日常生活中有一些代表实际意义的常量,有这么一个特点:数值较小且为非负整数。如一周有7天等。C语言提供了一种枚举(Enum)类型,能够列出所有可能会用到的取值,并给它们取一个名字。
int main()
{
enum Sex
{
//枚举常量 性别
MALE,
FEMALE,
SECRET
};
enum Sex s = FEMALE; //利用枚举常量给变量赋值
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n",SECRET);
return 0;
}
在使用枚举常量的时候,需要注意以下几点:
- 不能对枚举常量赋值,只能将它们的值赋给其他的变量。
- 不能再定义与枚举常量名字相同的变量。
- 不能用&取得它们的地址。
- C语言常量种类: