C语言中 啥是"magic number"

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中 啥是"magic number"相关的知识,希望对你有一定的参考价值。

中文是什么 怎么解释
谢谢
看的有点迷糊,
不过代码好像没有贴出来啊

magic number有如下四种解释:

使用#define 定义的常量
在算法中以非显式的方式保存了关键信息的数字。(典型例子是哈希函数)
在文件头特定位置存放的表示文件类型的数据。
导致边界条件的输入。(例如Y2K问题)
第四种情况,所遇不多,在这里不加赘述。以下主要结合我在实际应用中遇到的一些例子来对前三种情况加以阐述。第一种情况最为普遍。以Linux内核代码为例,大量的头文件中,使用#define定义的常量随处可见。摘录一段代码供大家参考。

中文一般翻译为 魔数,或幻数

不好意思,我也是从百度搜来的

说一下我的理解吧,如#defind PI 3.14
PI就是magic numer

参考资料:百度

参考技术A 个人理解,
"magic number"可顾名思义:魔法般突然出现意义不明的数字。
编程过程中按照需要往往会引入一些常数,
比如某个for语句需要十次循环,可能会出现i<10的写法,这个10就是突然出现意义不明的数字。
"magic number"的坏处:阅读程序的人往往无法理解为什么突然出现一个10,也有可能会将此处的10与出现在其他地方的带有不同意义的10混为一谈;或者在修改程序的时候容易导致多处的10需要修改。

所以为了避免"magic number"出现,经常在一开头就用#define 大写字母 常数 (例如:#defind PI 3.14)的格式给"magic number"取一个代号,使用时输入代号即可。方便读者理解和程序的修改。

C语言中啥是逻辑表达式,啥是关系表达式?

逻辑表达式是指运算符为或||、与&&、非!的表达式。

返回值为0或1,0表示false,非0表示true. 例如!0返回1,0&&1返回0,0||1返回1。

关系表达式是指运算符为<,<=,>,>=,==,!=的表达式。

返回值同样为0或1,例如a!=b,a>=0等。

用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。逻辑表达式的值是一个逻辑值,即"true"或"false"。C语言编译系统在给出逻辑运算结果时,以数字1表示"真",以数字0表示"假",但在判断一个量是否为"真"时,以0表示"假",以非0表示"真"。

可以将逻辑表达式的运算结果(0或1)赋给整型变量或字符型变量。

c语言中,等于是"==",不等于是"!="。

参考技术A 逻辑表达式是指运算符为或||、与&&、非!的表达式。返回值为0或1,0表示false,非0表示true.
例如!0返回1,0&&1返回0,0||1返回1。
关系表达式是指运算符为<,<=,>,>=,==,!=的表达式。返回值同样为0或1,例如a!=b,a>=0等。
参考技术B 回答

要理解逻辑表达式。首先要明白什么是逻辑运算符。

1.逻辑运算符及其优先次序 C语言中提供了三种逻辑运算符:&& 与运算|| 或运算! 非运算 与运算符&&和或运算符||均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下: !(非)→&&(与)→||(或)

C语言用整数"1"表示"逻辑真"、用"0"表示"逻辑假"。但在判断一个数据的"真"或"假"时,却以0和非0为根据:如果为0,则判定为"逻辑假";如果为非0,则判定为"逻辑真"。例如,假设num=12,则: !num的值=0 ,num>=1 && num31的值=1。

关系表达式用关系运算符将两个数值或数值表达式连接起来的式子关系表达式的值是一个逻辑值,即“真”或“假”在C的逻辑运算中,以“1”代表“真”,以“0”代表“假”

参考技术C

    逻辑表达式是指运算符为或||、与&&、非!的表达式。返回值为0或1,0表示false,非0表示true。

    关系表达式是指运算符为<,<=,>,>=,==,!=的表达式。返回值同样为0或1。

    逻辑运算又称布尔运算。布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律 。这一逻辑理论人们常称它为布尔代数。20世纪30年代,逻辑代数在电路系统上获得应用,随后,由于电子技术与计算机的发展,出现各种复杂的大系统,它们的变换规律也遵守布尔所揭示的规律。

    关系表达式,是用关系运算符将两个表达式连接起来的式子,称。关系表达式的值是逻辑值“真”或“假”。但是C语言没有逻辑型变量和逻辑型常量,也没有专门的逻辑值,故以“非0”代表“真”,以“0”代表“假”。在关系表达式求解时,以“1”代表“真”,以“0”代表假。当关系表达式成立时,表达式的值为1,否则表达式的值为0。

以上是关于C语言中 啥是"magic number"的主要内容,如果未能解决你的问题,请参考以下文章

写一个维吉尼亚加密和解码的C语言程序,具体要求如下。不要用GOTO, 不要有MAGIC NUMBER。

magicnumber是啥?C语言

C语言中啥是算术运算

linux中的magic number是啥意思

magic number 在编程中是啥意思?

C语言问题,怎样利用系统时间作为随机数的种子?