数值类型
变量的定义格式是:类型 变量名;
类型决定了变量所占字节的大小。
变量名是一段内存取别名。 利用sizeof可以得到各数值类型的大小。
#include <stdio.h>
int main()
{
printf("sizeof(char) = %d\n",sizeof(char));
printf("sizeof(short) = %d\n",sizeof(short));
printf("sizeof(int) = %d\n",sizeof(int));
printf("sizeof(long) = %d\n",sizeof(long));
printf("sizeof(long long) = %d\n",sizeof(long long));
printf("sizeof(float) = %d\n",sizeof(float));
printf("sizeof(double) = %d\n",sizeof(double));
printf("sizeof(long double) = %d\n",sizeof(long double));
return 0;
}
结果可得到他们占据的字节数
1.浮点数:带小数点的数值。浮点类型能表示包括小数在内更大范围的数。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方法(另一种方法叫做定点数)。人们借用浮点
数这个词来表达所有的带小数点的数。对于计算机而言,浮点数和整数的区别是存储方式不同,计算机把浮点数分成小数部分和指数部分来表示,而且分开存储这两部分。
当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。因此需要将%d 更改为%f来正确输入输出浮点数,否则会将小数点后的所有位数删去。
2.浮点型使用细节:
- 浮点型常量默认为double型 , 声明float型常量时, 须后加‘f’或‘F’。
- 浮点型常量有两种表示形式
- 十进制数形式:如: 5.12 512.0f .512 (必须有小数点)
- 科学计数法形式:如: 5.12e2 、 5.12E-2
- 通常情况下,应该使用double型,因为它比float型更精确。(float 类型有效数字 6-7位,double 类型有效数字 15 - 16位)
-
整数 ——int printf("%d",...) scanf("%d",...)
浮点数—— double printf("%f",...) scanf("%llf",...)
字符类型
计算机中不能存储字符,存储的是字符对应的数值,只能在显示的时候进行转化。这种转化遵循一张表。这张表,就是 ASCII 编码表,表里记录了转换规则。该表的本质就是一种字符类型和char类型建立起来的一一对应关系。 ASCII (American Standard Code for Information Interchange):美国信息交换标准代码是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准
我们来通过ASCII编码表的转化关系打印出来所有的char类型对应的字符类型
#include <stdio.h>
int main()
{
for (unsigned char ch = 1; ch < 128; ch++)
{
printf("%3d -->%c\t", ch, ch); //转化关系在printf函数中实现
if (ch % 8 == 0)
printf("\n");
}
return 0;
}
转义字符
字符在C语言中已经被用作其他用途,现在要使用不同C语言原本的用法就需要转义。