初识C语言 —— 常量与变量

初识C语言 —— 常量与变量,第1张

C语言 — 这是一种既有汇编语言强大的功能,又有汇编语言的灵活性的编程语言。


— Edsger Dijkstra

文章目录
  • 序言

  • 一、常量

    • 定义
    • 常量分类

  • 二、变量

    • 定义
    • 变量的赋值

  • 三、枚举常量

    • 特点
    • 具体例子

  • 四、常变量

    • 关键词:const
    • 区分#define和const

序言

对于基本数据类型量,按其值是否可变又分为常量和变量两种。


在程序执行的过程中,其值不发生改变的量称为常量,其值可变的量称为变量。


它们可以和数据类型结合起来分类,例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量,接下来的文章我们将分别大致介绍一下常量与变量。



一、常量 定义

常量是指在程序运行过程中其值不发生改变的量称为常量

常量分类
常量说明
直接常量可直接使用,无需任何说明的量,例如整形常量,实型常量以及字符常量
符号常量用标识符代表一个常量,C语言中,可以用一个标识符表示一个常量,称之为符号常量

注:在使用符号常量之前,必须先对其进行定义,一般形式为:
#define 标识符 常量

其中#define又称 宏定义 ,标识符为所定义的宏名。


其功能是把该标识符定义为其后的常量值。


定义之后,一旦以后的程序再次出现该标识符的地方均用该常量值替代

*tip:通常上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别

符号常量使用例子:

#include 
#define price 30
int main()
{	
	int num = 0;
	int total = 0;
	num = 10
	total = num * price;
	printf("total = %d", total);
	return 0;
}

二、变量 定义

C语言中的变量是指在程序运行时其值可以改变的量,变量的功能就是存储数据。


每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中

这里要提一句,一定要区分清楚变量名和变量值是完全不同的两个概念:

变量定义的一般形式为:
类型说明符 变量名, …

定义变量时的一些注意事项:
①:最后一个变量名之后必须以“;”号结尾
②:变量定义必须放在变量使用之前
③:允许在一个类型说明符后,定义多个相同类型的变量,各变量名之间用逗号间隔

变量定义举例:

int num;
double price = 123.123;
char a = 'a'
......
变量的赋值

变量可以先定义再赋值,也可以在定义的同时赋值;在定义变量的同时赋初值称为初始化

在变量定义中赋初值的一般形式为:
类型说明符 变量1 = 值1, 变量2 = 值2,…

例如:

int a=3;
int b,c=5;
float x=3.2,y=3.0,z=0.75;
char ch1='A',ch2='B';

这里有一个注意事项:在定义中不允许连续赋值,如a=b=c=100是不合法的


三、枚举常量

这边把枚举常量拉出来单独讲是因为它有其独特的地方

特点

枚举常量是要占用内存的,它要在内存中开辟一个空间来存放枚举变量;其常量值在没有赋值时系统会默认给它的第一个变量赋值0,后面的依次为1、2…使用枚举类型的最大好处是使得程序可读性增强。



定义enum需在下面打出
{

};

具体例子
enum Sports
{
	//枚举常量
	basketball,
	score,
	tennis
};

int main()
{	
	enum Sports s = basketball;
	printf("baskerball = %d\n", basketball);
	printf("score = %d\n", score);
	printf("tennis = %d\n", tennis);
	return 0;
}

注:
1.枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用,隔开
2.可以人为设定枚举成员的值,从而自定义某个范围内的整数
3.枚举型是预处理指令#define的替代
4.类型定义以分号;结束


四、常变量 关键词:const

这里就要提一个关键字:const
通俗的解释就是,const 定义的是变量,但又相当于常量;说它定义的是常量,但又有变量的属性,所以叫常变量。


用 const 定义常变量的方法很简单,就在通常定义变量时前面加 const 即可,如:

const int a = 10;
区分#define和const

注:要区分#define命令定义的符号常量和用const定义的常变量

const 定义的是变量不是常量,只是这个变量的值不允许改变是常变量!带有类型。


编译运行的时候起作用存在类型检查。


define 定义的是不带类型的常数,只进行简单的字符替换。


在预编译的时候起作用,不存在类型检查。


至于二者在编译器处理方式,类型和安全检查,存储方式等方面的不同后续会再分享博客详细分析

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/562618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-02
下一篇 2022-04-02

发表评论

登录后才能评论

评论列表(0条)

保存