C语言王国探险记之常量的四大护卫

这篇具有很好参考价值的文章主要介绍了C语言王国探险记之常量的四大护卫。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

王国探险记系列

文章目录(3)


前言

一、常量是什么?

二、常量的第一护法:字面常量

1.什么是字面常量?

三、常量的第二护法:const修饰的常变量

1.什么是const修饰的常变量?

2,证明const修饰的常变量仍然是一个变量只不过是拥有常属性

​编辑

四、常量的第三护法:#define定义的标识符常量

1.什么是#define定义的标识符常量?

五、常量的第四护法:枚举常量

1.什么是枚举常量?

总结


前言

C语言王国探险记,是我们学习C语言,从小白成长为大佬的的探险历程,我们在这章将探险常量这个知识关卡


一、常量是什么?

生活中有一些值是不变的(比如:圆周率,性别,身份证号码,血型等等)

在c语言中将那些不变的量使用常量来表示

二、常量的第一护法:字面常量

1.什么是字面常量?

直接写出的字面值,这些数值都叫做字面常量

举例理解:

100

20.0

3.14

‘a’

这些数字和字符都是我们所说的字面常量

三、常量的第二护法:const修饰的常变量

1.什么是const修饰的常变量?

const 就是常属性的意思,可以修饰变量

常量的这个常表示的是它是一个不会变化的值

变量是可变的,长又是不变,不是很矛盾吗?

理解:就和监狱中犯了法的人一样,在监狱里面,他们还是中华人民共和国的一个公民,
他还是有这样一个人民的属性的,但是因为他犯法了,我们把他关起来了,他就具有了另外一层属性,他被限制了自由

接下来让我们用具体实例直接在代码加注释,以及结果运行图理解:

int main()
{
	//就和监狱中犯了法的人一样,在监狱里面,他们还是中华人民共和国的一个公民,
	//他还是有这样一个人民的属性的,但是因为他犯法了,我们把他关起来了,
    //他就具有了另外一层属性,他被限制了自由
	const int a = 10;//现在在int a前加一个const ,a本来里面放的是10
	//我们把a叫做const修饰的常变量
	//const修饰a的时候也是限制了a的自由,让a不能在被改了,但是他本质上还是一个变量
	printf("a=%d\n", a);
	a = 100;//当我们再次把a修改为100的时候就会报错,这个错误是啥意思呢,
    //就是当你去修改这个a的时候,抱歉a不能修改
	//const修饰a的时候让a具有了常属性,但是本质上a还是一个变量,
    //只不过是被const从语法上加了一个限制,让它不能在被改了
	//const放在那就是告诉你a的值放在那,你以后不要在改了
	//const就是在语法层面上加一个限定,说一旦一个变量被const修饰之后,你就不能去改它,
    //你如果去改它就是违背规则
	printf("a=%d\n", a);
	return 0;
}

C语言王国探险记之常量的四大护卫

2,证明const修饰的常变量仍然是一个变量只不过是拥有常属性

接下来让我们用具体实例直接在代码加注释,以及结果运行图理解:

//C语言里面一个叫数组,先看懂就行
int main()
{
	//我们在创建数组的时候需要指定数字大小
	//比如说,我们创建个数组叫arr大小给个10
	//数组在创建的时候要求arr的大小是一个常量
	int arr[10] = {0};//这个10就在告诉我,数组是10元素的,数组里面可以放10个值的
	//int n = 10;//我们刚刚使用n,n是个变量不行,
	const int n = 10;//当我们加一个const呢,还是不行,会报错,
	//所以现在n即便是被const修饰了还是不行,因为它还是一个常变量,
	//它是具有一定常属性的变量,它本质上是一个变量,所以不能放在这里
	int arr2[n] = { 0 };//当我们去编译的时候,它就报错,它提醒你表达式必须含有常量值,
	//也就是说你只能拿常量来指定arr的大小
	//在c++中把const修饰的n当常量来处理的,这是c和c++在这个语法细节上的差异
	return 0;//他是个常变量,他本身具有常数的属性,但是他还是一个变量
}

C语言王国探险记之常量的四大护卫

四、常量的第三护法:#define定义的标识符常量

1.什么是#define定义的标识符常量?

格式:#define 名称  赋值

#define M 100   
我们定义一个M它的值是100,这个时候这个M就是我们定义出来的标识符常量

那这标识符常量算不算一个常量呢?算

M作为它的数组个数行不行呢,当然可以,因为此时此刻的M就是一个常量它是一个标识符常量

接下来让我们用具体实例直接在代码加注释,以及结果运行图理解:

#define M 100
我们定义一个M它的值是100,这个时候这个M就是我们定义出来的标识符常量
int main()
{
	int arr[M] = { 0 };//M作为它的数组个数行不行呢,当然可以,
    //因为此时此刻的M就是一个常量它是一个标识符常量
	//这就是我们定义的一个标识符常量
	//你以后在使用M的时候M的值就是100
	//那我们怎么用呢
	//我们能不能把这个M的值打印出来呢
	printf("标识符常量M-->%d\n",M);//当这个地方出现M的时候就会被替换成100
	int a = M;//这个地方有个a,我们将M的值赋予给a,你在这里在打印a都是没有问题的
	printf("标识符常量M被赋予给a后的a值-->%d\n", a);
	return 0;
}

C语言王国探险记之常量的四大护卫

五、常量的第四护法:枚举常量

1.什么是枚举常量?

什么叫枚举常量.
枚举常量就是一一列举嘛?
我们生活中有一些东西是可以被一一列举的
有一些数据的取值可以被一一列举
比如说:三原色:红色,绿色,蓝色
性别:男.女,保密
星期:1 2 3 4 5 6 7
通过这些例子,我们可以知道,我们生活中的有些值是可以被一一列举出来的
C语言里面就给出了一个叫枚举类型
可以把这些可能的值一一列举出来
枚举关键字:enum

接下来让我们用具体实例直接在代码加注释,帮助理解:

//这就是我们创造的自定义的一个类型叫枚举类型叫 enum Color,
//这个颜色的取值只有三种放在下面的大括号里面
enum Color //定义颜色的这样一个类型
{
	//枚举类型里面列出来的值叫枚举常量
	//就是这个枚举类型可能的取值就是这三种,所以我可以将她一一列举出来
	RED,  //第一个常量是0,默认从0开始依次递增的
	GREEN,//1
	BLUE  //2
};
//未来呢,假设我想表示一个颜色,我会怎么做呢?
int main()
{
	enum Color c =RED ;//可以用这个自定义类型创建一个c,
	//用这个c来表示什么样的颜色,而c的取值只有三种,RED,GREEN,BLUE,
	//你可以给c用这三种变量给它赋值
	return 0;
}

在举例打印枚举常量的默认的值

接下来让我们用具体实例直接在代码加注释,以及结果运行图理解:

enum Sex//enum sxe是一个类型,枚举类型里面列出来的值叫枚举常量
{
	MALE,//男,它们的值都是默认的//0
	FEMALE,//女//1
	SECRET//保密//2
};
int main()
{
	//但你想要表示一个性别的时候怎么用呢,
	//当你给一个人赋予性别的时候
	//enum Sex s = SECRET;//可以给小s赋值了
	//enum Sex s2 = MALE;
	printf("%d\n", MALE);//我们可以打印一下看一下
	printf("%d\n", FEMALE); 
	printf("%d\n", SECRET); 
	return 0;
}

C语言王国探险记之常量的四大护卫


总结

以上就是今天要讲的内容,本文仅仅简单介绍了常量的基本概念及常量的四大类型,可以让你在c语言王国的探险更加有趣,充实。文章来源地址https://www.toymoban.com/news/detail-500920.html

到了这里,关于C语言王国探险记之常量的四大护卫的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c语言中指针常量和常量指针

    指针常量(Pointer to Constant)和常量指针(Constant Pointer)是C和C++中用于描述指针和常量的组合概念。 指针常量本质是一个常量,它的值不能改变,即指针始终指向同一个地址。但通过指针可以修改所指向对象的值。 int* const ptr;//表示ptr是一个指针常量,指向一个整型常量对

    2024年02月10日
    浏览(27)
  • C语言常量(整型、实型、字符型、字符串、符号常量)

    对于C语言常量,该文章有详讲,由于文章太长,可参考如下思维导图和目录,可通过目录选择自己所需要的内容阅读。 整型常量即整数,包括正整数、负整数和零。C语言中,整型常量可以用十进制、八进制、和十六进制表示。 十进制表示: 由数字0-9,正、负号组成,如3

    2024年02月07日
    浏览(32)
  • 【C++】C 语言 和 C++ 语言中 const 关键字分析 ( const 关键字左数右指原则 | C 语言中常量的原理和缺陷 | C++ 语言中常量原理 - 符号表存储常量 )

    【C 语言】const 用法 ( 常量指针 - const 在 * 左边 - 修饰数据类型 - 内存不变 | 指针常量 - const 在 * 右边 - 修饰变量 - 指针不变 ) 普通类型数据的常量定义时 , const 在 数据类型 的 左边 和 右边 其作用 是相同的 ; 指针数据的相关常量类型 : const 在 指针符号

    2024年02月11日
    浏览(38)
  • C语言 变量与常量

    a) extern :声明一个已定义的变量,不能重新赋值; 注意:不建议在头文件中定义全局变量,而在源文件中定义,然后在头文件中使用extern声明。 因为若头文件中定义了全局变量,然后多个源文件使用该头文件,编译时会报重定义错误。 b) const :修饰的变量不可变; c)

    2024年02月08日
    浏览(36)
  • GO语言的变量与常量

    go是一个静态语言 变量必须先定义后使用 变量必须要有类型 定义变量的方式: var 名称 类型 var 名称 =值 名称 :=值 例如: 这样就存了一个num类型为int的变量 上面使用简化的定义通过num自动判断后面的类型为int并赋值为1 第三种方式就是使用这种方式赋值 使用冒号加等于赋值

    2024年02月19日
    浏览(32)
  • 【Go语言】Go语言中的变量和常量

    Go语言中的变量和常量 1 变量 变量相当于是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。 Go 语言是强类型静态语言,所以变量的声明与赋值方式与 PHP/Python 等动态语言相比有很大的区别。

    2024年02月21日
    浏览(39)
  • 【C语言趣味教程】(5) 常量:字面常量 | 类型常量 | const 关键字 | const 的声明 | 程序中的只读概念 | const 保护机制 | 如何巧妙区分 “指针常量“ 和 “常量指针“

        🔗 《C语言趣味教程》👈 猛戳订阅!!! ✨ 专栏介绍 / 总目录: 【C语言趣味教程】(0) 导航篇 ​ —— 热门专栏《维生素C语言》的重制版 —— 💭 写在前面: 这是一套 C 语言趣味教学专栏,目前正在火热连载中,欢迎猛戳订阅!本专栏保证篇篇精品,继续保持本人

    2024年02月15日
    浏览(35)
  • Go语言基础之变量和常量

    标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123 是指编程语言中预先定义好的具有特殊含义的标识符。

    2024年02月12日
    浏览(35)
  • C语言——字符串常量初始化

            使用双引号括住字符串的字符来创建字符串常量。         使用字符数组来存储字符串常量。         使用字符串指针来初始化字符数组。         无论使用哪种方法,字符串常量在C语言中都是不可修改的。尝试修改字符串常量会导致未定义的行为。

    2024年01月23日
    浏览(39)
  • C 语言:类型转换与常量的细致理解

    有时,您必须将一种数据类型的值转换为另一种类型。这称为 类型转换 当您将一种类型的值分配给另一种类型的变量时,编译器会自动进行隐式转换。 例如,如果您将一个 int 值分配给一个 float 类型: 如您所见,编译器会自动将 int 值 9 转换为 float 值 9.000000。 这可能是危

    2024年02月04日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包