第三章:运算符,表达式
- 列举C语言中的各类运算符
答:(1).算术运算符:+,-,*,/,%,++,--
- .关系运算符:>,<,==,>=,<=,!=
- .逻辑运算符:&&,||,!
- .位操作运算符:&,|,~,^,<<,>>
- .赋值运算符:简单赋值=,符合算术赋值+=,-=,/=,%=复合位运算赋值&=,|=,^=,>>=,<<=
- .条件运算符:?:
- .指针运算符:取内容(*),取地址(&)
- .求字节数运算符:sizeof
- .特殊运算符:(),[],->,.
- 简要说明运算符的优先级的问题
答:同一优先级的运算符,运算次序由结合方向所决定。简单记就是:!>算数运算符>关系运算符>&&>||>赋值运算符
- 条件运算符的特点,优势及其优先级的问题
答:条件运算符为?和:,它十一个三目运算符,并且它是一对运算符,不可拆开使用,条件运算符的结合方向是自右至左。
条件运算符的运算优先级低于关系运算符和算数运算符,但高于赋值符。
- 条件表达式的形式及注意事项
答:条件表达式的一般形式:表达式1? 表达式2: 表达式3
注意事项:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以条件表达式3的值为整个条件表达式的值。
- i++/i-- 与++i/--i的区分
答:++/--作为前缀时,是先自加,在做别的运算
而作为后缀时,先做运算,计算单位结束后在自加,计算单位结束的标志有“,”“;”“)”。
- 什么是位运算,以及位运算的特点?
答:数据的位是可以操作的最小数据单位,理论上可以用‘位运算’来完成所有的运算和操作。位操作可以有效地提高程序运行的效率。c语言提供了位运算的功能,可以是c语言能像汇编语言一样,编写系统程序。
- 按位与运算及其作用
答:数目运算符“&”,原理;参与运算的两个数对应的二进制位相与。只有对应的两个二进制位均为1,结果才为1,否则为0.参与运算的数以补码的形式出现。
- 按位或运算及其作用
答:双目运算符“|”,原理:参与运算的两个数字的二进制位相或,只要对应的两个二进制位有一个为1,结果位就为1.参与运算的两个数均以补码的形式出现。
- 按位异或运算及其作用
答:双目运算符“^”,原理是:参与运算的两个数字对应的二进制位相异或,当两对应的二进位相异时,结果为1.参与运算的数以补码的形式出现
作用:使特定位的值取反;
不引入第三方变量,交换两个变量的值。
- 左移右移的注意事项
答:左移“<<”右边的数指定移动的位数,高位丢弃,低位补0;
右移“>>”右边的数制定移动的位数对于有符号的数,右移,符号位随同移动,当为正数时,最高为补0;为负数时,最高位补0还是补1,有编译系统决定。
- 使用位操作的优势及使用技巧
答:优势:使用位操作可以减少除法和取模的运算,一般的位操作是用来1.控制硬件2.进行数据交换,但是灵活的位操作可以有效地提高程序运行效率。
使用技巧:对于以2的指数次方为“*”“/”“%”因子的数学运算,转化为移位运算“<<”“>>”通常可以提高算法效率,因为乘除运算指令周期通常比位移运算大。