首先要理解什么是常量:

一、 常量:不会变化的量。(不一定非得是数字)

定义常量的方法:

方法一:

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位小数。