1.常量
在程序中保持固定不变的值。
1.1.整型常量
整型常量只能用八进制、十进制、十六进制这3种形式来表达。
1.2.实型常量
实数表达形式分为两种:
- 十进制小数形式:该形式就是平常我们所写的形式,(一定要有小数点)。实型常量的整数部分为0时,可以省略。如:0.88=.88 120.0=120.
- 指数形式:例如0.0000022=2.2*10^(-6),在C语言的表达中就可以以e作为代表以10为基底的指数。像0.0000022=2.2e-6。
1.3.字符常量
用一对英文单引号括起来的字符。字符常量中的内容用单引号括起来仅起到定界的作用,并不代表字符本身。在C语言中,字符则是按照ASCII码值存储的。一个字符占一个字节。
示例:
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("%d",'a'+32);
return 0;
}
运行效果:
因为a字符在ASCII码值中对应数值为97,所以执行结果为97+37=129。
**转义字符
以反斜杠开头的字符序列,使用时同样用到单引号。
\ddd的用法:1到3位八进制ASCII码值表示,例如:'\141'为三位八进制数,要转义为十进制数:97,97对应字符'a',所以‘a’才是最后输出的值。
\xhh的用法:1到2位十六进制ASCII码值所代表的字符,例如:'\x61'为两位数十六进制数,转义为十进制数:97,97对应字符'a',所以‘a’才是最后输出的值。
1.4.字符串常量
用一对英文双引号括起来的字符。
每个字符串末尾自动添加一个‘\0’(即为ASCII码值为0的字符)。所以,例如:“snow”在内存中所占字节为5个字节。
区别:“”的空字符是合法的,‘’的空字符是非法的。
1.5.符号常量
用一个标识符来代表的常量。符号常量使用前必须用预处理命令#define来定义。常量定义格式:
#define PRICE 30
示例:
#include <stdio.h>
#include <stdlib.h>
#define price 120
int main()
{
printf("The price of the shirt is %d\n",price);
return 0;
}
运行效果:
2.变量
在代码执行中会发生改变的量。
2.1.变量的声明与初始化
“先定义,后使用”原则。
- 变量在内存中占据一定的储存单元,在这个储存单位中存放的数据称为变量的值。
类型 变量名1 = 常量1[变量名2 = 常量2,...,变量名n = 常量n]
同时声明多个变量并初始化,它们之前用逗号分隔。
long sum = 0 ;/*定义sum为长整型变量,初值为0*/
char sex = ‘M’
float scorel = 90.5,score2 = 85.5;/*定义score1和score2均为单精度浮点型变量*/
double total = 400/*定义total为双精度浮点型变量*/
可以通过赋值号=,修改变量
如:scorel=94.4
❤注意
- 相同类型变量可以定义在一起。int a,b,c;等价于int a;int b;int c;
- 类型和变量名之间至少叫一个空格。
- 定义变量时可同时赋值。int a = 77;
- 对多个相同类型不能写成int a=b=c=777;
若写成上述4类型,变量bc则无定义变量。
2.2.const类型修饰符
举例说明:
const float pi = 3.1415926;
只读储存区,使用是只能在定义时赋初值。
#define和const的区别
const常量有数据类型,而符号常量没有数据类型。
2.3.变量的类型
1.整型变量
int类型变量在内存中占4个字节,那么int类型变量的允许范围为-2147483648~2147483647。
/*整型的数据溢出*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
a = 2147483647;
b = a+1;
printf("%d,%d\n",a,b);
return 0;
}
运行显示
2.实型变量
实型数据分为单精度(float)和多精度(double)和长双精度型(long double)3种类型。
区别:float只提供7位有效数字,double型数据则提供16位有效数字,在有效数字后面输出的数字都是不精确的。
3.字符型变量
字符输出的是相对应的ASCII码值
/*按字符和整型两种格式输出字符*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch = 'A';
printf("%c,%d\n",ch,ch);
return 0;
}
运行效果
例二
/*将小写字母转为大写字母后,再以字符型和整型两种格式输出*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch = 'a';
ch = ch - 32;
printf("%c,%d\n",ch,ch);
return 0;
}
运行效果
❤注意:char在任何情况下在内存中都只占1个字节。