C语言的变量与常量

知识点一:变量与常量

          1)在整个程序的运行过程中,没有变化且不能变化的,我们称之为常量

          2)在程序运行期间,可以改变并且有可能会改变的,我们称之为变量

知识点二:声明变量

short s;
int n;
long l;
float f;
double d;

        1)声明变量的公式:类型 + 标识符 + 分号

        2)标识符:由我们自己命名的一个标识,用于表示一个变量、函数或其他实体的名称。例如:上面的代码 中s,n,l,f,d是由我们自己命名的一个标识,用于表示一个变量;

        3)关键词:在语言标准中规定词汇,并且在代码中有特殊意义和用途。 例如:short,int,long,float, double都是表明变量的类型,它们是由语言标准中提供的词汇;

        4)标识符必须经过声明或定义才能正常被编译器识别,而关键词可以直接使用

        5)因此,要让标识符被编译器看做是一个变量,必须将标识符在使用前声明为一个变量;

例:a)正确,变量使用前被声明

#include <stdio.h>
int main()
{
int a;
printf("%d\n", a);    // 正确, 变量使用前被声明了。
return 0;
}

         b)错误,变量a未被声明

#include <stdio.h>
int main()
{
printf("%d\n", a);    // 错误, 变量未声明。
return 0;
}

        c)错误,变量a在声明前使用

#include <stdio.h>
int main()
{
printf("%d\n", a);    // 错误, 变量在声明前使用。
int a;
return 0;
}

知识点三:变量名命名规则

          1)变量名是一个标识符,因此变量名必须符合标识符的命名规则;

          2)标识符命名规则:标识符由大小写字母,数字和下划线组成。标识符不能以数字开头,并且必须与现有 的关键词不同

short apple;      //正确
int 88fruit;      //错误,不能以数字开头
long _pencil;     //正确,可以以下换线或字母开头
float love_you;   //正确,字母开头,标识符可以使用下划线
double int;       //错误,不能与现有关键词相同

知识点四:变量的初始化与赋值

          1)变量只有通过赋值的方式才能使变量的第三要素(变量的值)有意义;

          2)变量赋值需使用赋值运算符“=”;

          3)变量的赋值两种方式:一变量声明后立刻初始化。二变量先声明,其后再为变量赋值;

a)变量声明后立刻初始化

#include <stdio.h>
int main()
{
int a = 100; // 变量声明后,立即装入100。
printf("%d\n", a);
return 0;
}

b)变量声明后,不初始化。后续使用赋值运算符赋值

#include <stdio.h>
int main()
{
int a; // 变量声明后,为一个随机值
a = 100; // 这里我们使用赋值运算符,将100给了a。
printf("%d\n", a);
return 0;
}

知识点五:初始化与赋值的区别

          1)赋值:

a = 100;

赋值运算符左边为已经声明过的变量,右边为数值。这种写法为给变量赋值。

         2)初始化:

int a = 100;

 赋值运算符左边为一个变量声明,右边为数值,这种写法为变量声明并初始化。

        3)变量可以多次赋值,但是不能被多次初始化。多次初始化的写法相当于将 变量a 声明了两次,在第二次声明 变量a 时,编译器发现标识符a已经被使用 过了,便会报告一个编译错误;

#include <stdio.h>
int main()
{
int a;
a = 100;
printf("%d\n", a);
a = 200;
printf("%d\n", a);
return 0;
}
正确;输出结果为100,200
#include <stdio.h>
int main()
{
int a;
a = 100;
printf("%d\n", a);
int a = 200;
printf("%d\n", a);
return 0;
}
错误:变量a被重复声明

知识点六:常量

       1)常量是程序中,一开始就被写死在代码中,且不能被改变的量;

       2)字面常量:例如:100,200,1.3344,"HelloWorld",”I love motherland“被称之为字面常量。

                   a)字面常量不需要声明,并且编译器通过它的写法可以立即判断出它的类型;

100 = 101;   //错误,常量不能被更改
100 = a;    //错误,常量不能被更改

                  b)被双引号包裹的称之为字符串字面常量;

"HelloWorld"            //正确

"HelloWorld" = "你好";  //错误,常量不能被更改

      3)字面常量类型:

             a)一个变量的类型在声明的时候被确定。而一个常量的类型,在这个常量写在代码中时也能被确定。

            b)整数字面常量通常是 int 类型的,除非这个整数字面常量数值过大,超过了 int 类型的范围,那么编译 器会尝试将它看做 unsigned int 类型。如果更大,那么依次类推为更大范围的整型类型,例 如 long , unsigned long , longgned long long 。

            c)带小数的字面常量为 double 类型。

      4)符号常量:

            a)定义符号常量的公式:

#define 符号常量 值

例:我们有一个商品的价格price,目前为3元。现在我们要计算,10件这个商品的价格。

#include <stdio.h>
# define PRICE 3
int main()
{
int num = 10;
int total;
total = num * PRICE;
printf("total:%d", total);
return 0;
}

           我们并没有直接写 num * 3 ,而是定义了一个符号常量 PRICE。如果有一天,这个商品的价格改变了,我们把商品的价格定义为符号常量,这样只需要修改这个符号常量所代表的值即可。

猜你喜欢

转载自blog.csdn.net/m0_73463638/article/details/126864373