程序设计基础第三周答疑要点整理
关于pow
函数
math.h
里的pow
函数虽然确实可以计算次幂,但它的参数和返回值均为 double 类型,当题目中需要计算整数的整数次幂时,建议使用循环累乘的朴素方法,即:
1 |
|
或者快速幂算法(目前不作要求,有兴趣的同学可以自行学习)。
关于优先级
在混用位运算符和四则运算符、比较运算符时需要注意算符的优先级问题
例如条件语句 if (x&y == 0)
,由于比较运算符的优先级高于位运算符,括号中的条件实际是将比较语句 y == 0
的结果计算出来(若满足则值为1,否则为0),然后使用这个结果再与 x
执行与运算 &
,而不是先计算了 x&y
的结果再与0
作比较。
如果你按照《C1-E1答疑要点整理》中所说的打开了“显示全部警告信息(-Wall
)”,那么就会看到如下的警告信息:
1 |
|
各种算符优先级划分记忆起来可能有些困难,推荐的做法是使用括号将想要先执行的运算步骤单独包括起来,这样就可以要求这步运算具有更高的优先级,例如 if ((x & y) == 0)
。简而言之,你记不住优先级没关系,只要会加括号就行了。
作者:逐月的游星、梁秋月
程序设计基础第三周答疑要点整理
https://suzumiyaakizuki.github.io/2023/10/12/C3-E3答疑要点整理/