C语言入门篇--四大常量(字面,const修饰,宏,枚举)及标识符

 更新时间:2021年08月27日 16:53:20   作者:yycure  
本篇文章是c语言基础篇,主要讲述一下常量,常量即不可被直接修改的量(const修饰的常变量可间接修改,后续文章会继续说明)请大家持续关注脚本之家

1.字面常量

(1)字面意思是啥就是啥,看其表示就可以知道其值和类型。

(2)有值无名,一用来初始化变量,与一种字符相关联。

#include <stdio.h>
int main()
{
	10;//int型数字10
	'c';//char型字符c
	"Hello world!";//字符串常量(!C语言无字符串类型)	
	int sum=10+20;//10,20为字面常量可直接用
	int a=10;//与一种字符相关联	
	return 0;
}

2.const修饰的常变量

(1)常变量:C语言中,把用const修饰的变量称为常变量。

(2)常变量具有常量属性,不可被直接修改(可间接修改,后续博客说明)。

(3)const---->C语言关键字之一。

#include <stdio.h>
int main()
{
	const int x = 100;//也可写成:int const x = 100;
	x = 200;//error!
	
	return 0;
}

在这里插入图片描述

3.#define定义的标识符常量

3.1标识符

(1)标识符即对变量、函数、文件等的命名名称。

(2)C语言中的标识符只能由字母(a-z)(A-Z)、数字和下划线(_)组成,且第一个字符必须是字母或下划线。

(3)标识符中区分大小写(eg:age、Age、aGe不相同)。

(4)标识符不能与C编译系统预定义的标识符或关键字同名。

(5)标识符命名要做到----见名知意。

3.2宏常量

宏常量:即宏定义的标识符常量,相当于对一个字面常量“宏常量”重命名。

eg:#define Age 21(!没有 ; 号 )

以下通过三组例子说明其使用方法及注意事项:

(1)宏常量可当作常量进行赋值操作。

#include <stdio.h>
#define Age 21
int main()
{
	printf("%d\n", Age);	
	int x=Age;//可当作常量赋值
	printf("%d\n", x);	
	return 0;
}

在这里插入图片描述

(2)宏可在任何位置出现,但只在宏定义及其往后才可用。

#include <stdio.h>
int main()
{
	printf("%d\n", Age);//error!
#define Age 21
	return 0;
}

在这里插入图片描述

(3)宏 一旦定义好,不可再程序中修改。若要修改只用改#define后面的值,提升了代码的可维护性。

#include <stdio.h>
#define Age 21
int main()
{
	Age = 18;//error!
	return 0;
}

在这里插入图片描述

4.枚举常量

枚举即一一列举

eg:

#include <stdio.h>
enum color//自定义类型---->枚举类型
{
	Yellow,//枚举常量
	Black,
	Green,
	Orange
};
int main()
{
	enum color a = Yellow;//Yellow在此为常量
	return 0;	
}

编译通过:

在这里插入图片描述

以上就是C语言入门篇--四大常量(字面,const修饰,宏,枚举)及标识符的详细内容,更多关于C语言的资料请关注脚本之家其它相关文章!

相关文章

  • 十进制与BCD码转换的算法详解

    十进制与BCD码转换的算法详解

    BCD转换成十进制 BCD码是指用二进制来表示十进制数的编码,即用4位二进制来表示一位十进制数,因此4位二进制数表示最大的十进制数9(1001),只取十六个数中的十个数(有别于8421码)
    2021-09-09
  • C语言 动态内存管理全面解析

    C语言 动态内存管理全面解析

    动态内存是相对静态内存而言的。所谓动态和静态就是指内存的分配方式。动态内存是指在堆上分配的内存,而静态内存是指在栈上分配的内存,本文带你深入探究C语言中动态内存的管理
    2022-02-02
  • C语言函数的递归和调用实例分析

    C语言函数的递归和调用实例分析

    一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。C语言允许函数的递归调用。在递归调用中,主调函数又是被调函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层
    2013-07-07
  • C语言基于考研的栈和队列

    C语言基于考研的栈和队列

    这篇文章主要介绍了考研时的C语言中的堆栈和队列的相关资料,需要的朋友可以参考下,小编觉得这篇文章写的很好,希望能给你带来帮助
    2021-08-08
  • ubuntu20.04中vscode使用ROS的详细方法

    ubuntu20.04中vscode使用ROS的详细方法

    这篇文章主要介绍了ubuntu20.04 vscode使用ROS的详细方法,主要包括在vscode安装扩展创建工作文件夹的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • Qt 使用 canon edsdk 实现实时预览的示例代码

    Qt 使用 canon edsdk 实现实时预览的示例代码

    这篇文章主要介绍了Qt 使用 canon edsdk 实现实时预览的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • C语言基础使用IDE快速开发的方法

    C语言基础使用IDE快速开发的方法

    这篇文章主要介绍了C语言基础使用IDE快速开发的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • C++如何将二叉搜索树转换成双向循环链表(双指针或数组)

    C++如何将二叉搜索树转换成双向循环链表(双指针或数组)

    这篇文章主要介绍了C++如何将二叉搜索树转换成双向循环链表(双指针或数组),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • C语言中的字符(char)详细讲解

    C语言中的字符(char)详细讲解

    本篇文章主要介绍C语言中char的知识,并附有代码实例,以便大家在学习的时候更好的理解,有需要的可以看一下
    2016-07-07
  • vector,map,list,queue的区别详细解析

    vector,map,list,queue的区别详细解析

    如果我们需要随机访问一个容器则vector要比list好得多。如果我们已知要存储元素的个数则vector 又是一个比list好的选择。如果我们需要的不只是在容器两端插入和删除元素则list显然要比vector好
    2013-09-09

最新评论