首先要理解什么是常量:
一、 常量:不会变化的量。(不一定非得是数字)
定义常量的方法:
方法一:
1. 如"hello",用双引号限制的,就叫做字符串常量。
2. 如'A',用单引号限制的,就叫做字符常量。
3. 如 10,就叫做整型数字常量。
4. 如 3.1415926,就叫做浮点型数字常量、实型常量。
方法二:
#define PI 3.1415926(这里的常量就是PI)
该方法叫做定义宏,其定义语法为:#define 宏名 宏值。
方法三:
const int a = 10;
const 关键字:被该关键字修饰的变量,表示为只读变量。
定义语法:const 类型名 变量名 = 变量值
但是该方法在指针中将会被改变,所以相比第二种方法而言,不可靠,所以不推荐。
EXAMPLE 1:
#define PI 3.1415926
int main(void)
{
//求圆的面积
//求圆的周长
int r = 3; //变量
float s = PI * r * r;
float c = 2 * PI * r;
printf("圆的周长为:%f\n",c);
printf("圆的面积为:%f\n",s);
printf("圆的周长为:%.2f\n",c); //保留两位小数
printf("圆的面积为:%.2f\n",s);
return 0;
}
二、 变量:会变化的数据。
定义语法:类型名 变量名 = 变量值。(一般方法)
变量三要素:类型名、变量名、变量值(变量值是一个表达式)。
变量的定义:如:int a = 40;
变量的声明:1)int a; 没有变量值的变量定义,叫做声明
2)extern int a ; 添加了关键字extern
1. 变量定义会开辟内存空间,变量声明不会开辟内存空间。
2. 变量想要使用,必须要有定义。
当编译器编译程序时,在变量使用之前,如果没有看到变量定义,编译器会自动找寻一个变量声明提升成为定义。
如果该变量的声明前有extern关键字,无法提升。
EXAMPLE:
int main(void)
{
int a = 40; //变量定义
a = 56; //变量赋值
/*但是如果
a = 56;
int a = 40;
这样就是错的*/
return 0;
}
【建议】定义变量时,尽量不要重名。
三、 标识符:变量和常量的统称。
命名规则:1. 通常常量使用大写,变量使用小写,大小写严格区分。
2. 只能使用字母、数组、下划线命名标识符。且,数字不能开头
四、 有符号整型
int 类型:int 名 = 值。(大小为4字节)
short类型:short 名 = 值。(大小为2字节)
long类型: long 名 = 值。(大小为4字节)
long long类型: long long 名 = 值。(大小为8字节)
*可用sizeof求。
五、无符号整型
在有符号整型之前加上unsigned。
无符号就是不区分正负(方向),只表示数值。
大小不变。
EXAMPLE:
int main(void)
{
int a = 3;
short b = 4;
long c = 5;
longlong d = 6;
printf("sizeof(int) = %d\n",sizeof(int));
printf("sizeof(short) = %d\n",sizeof(short));
printf("sizeof(long) = %d\n",sizeof(long));
printf("sizeof(longlong) = %d\n",sizeof(longlong));
unsigned int aa = 3;
unsigned short bb = 4;
unsigned long cc = 5;
unsigned longlong dd = 6;
printf("sizeof(unsigned int) = %d\n",sizeof(unsigned int));
printf("sizeof(unsigned short) = %d\n",sizeof(unsigned short));
printf("sizeof(unsigned long) = %d\n",sizeof(unsigned long));
printf("sizeof(unsigned longlong) = %d\n",sizeof(unsigned longlong));
}
六、字符类型char
存储一个字符。如'A','a','%','#'等
格式匹配符:%c
EXAMPLE:
int main(void)
{
char ch = 'A';
printf("ch = %c\n",ch);
ch = 'm';
printf("ch = %c\n",ch);
ch = 97; //输出的是a,使用ASCII码转换
printf("ch = %c\n",ch);
system("pause");
return EXIT_SUCCESS;
}
EXAMPLE2:大小写转换
int main(void)
{
char ch = 'M';
char var = '5';
printf("ch = %c\n",ch+32); //输出m
printf("var = %c\n",var+4); //输出9
}
int main(void)
{
float m = 3.145;
double n = 4.65546;
printf("m = %f\n",m);
printf("n = %f\n",n);
}
转义字符:‘\’可以将普通字符转为特殊意,也可以将特殊字符转为本身意。
七、实型
实型也叫浮点型。
float:单精度浮点型。
匹配符为%f,保留6位小数。
double:双精度浮点型。
匹配符为%f,保留6位小数。