- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言与C语言对比举例 (1) C关键字(保留) 按位与 () 运算规则 0 0 = 0; 0 1 = 0; 1 0 = 0; 1 1 = 1; 用途 按位清零 保留某些指定位 按位与举例 运算举例 1010,1101 (0xAD) 0110,1001 (0x69) 0010,1001 (0x29) 按位清零、其他位不变 xxxx,xxxx_____ 0110,0010 (0x62) 0xx0,00x0_____ 按位或 (|) 运算规则 0 | 0 = 0; 0 | 1 = 1; 1 | 0 = 1; 1 | 1 = 1; 用法 按位置一 按位或举例 运算举例 1010,1101 (0xAD) | 0110,1001 (0x69) 1110,1101 (0xED) 按位置一 xxxx,xxxx_____ | 0110,0010 (0x62) x11x,xx1x_____ 按位异或 (^) 运算规则 0 ^ 0 = 0; 0 ^ 1 = 1; 1 ^ 0 = 1; 1 ^ 1 = 0; 说明 相“异”则为1,相“同”则为0 相当于按位且无进位的加法 按位异或用法举例 特定位翻转 1010,1101 (0xAD) ^ 0110,1001 (0x69) 1100,0100 (0xC4) 与0相异或,保持原值不变。 与1相异或,翻转其值。(翻转特定位) 与自身相异或,则全部位清零 交换两个整数值 a=a^b; b=b^a; a=a^b; 按位取反 (~) 运算规则 ~ 0 = 1; ~ 1 = 0; 用法 所有位翻转 按位取反举例 运算举例 ~ 1010,1101 (0xAD) 0101,0010 (0x52) 所有位翻转 左移 () 运算规则 i n 把i各位全部向左移动n位 最左端的n位被移出丢弃 最右端的n位用0补齐 用法 若没有溢出,则左移n位相当于乘上2n 运算速度比真正的乘法和幂运算快得多 左移举例 运算举例 1010,1101 3 (101)0110,1000_____ 溢出举例 若左移后的数据超出表示范围,则发生溢出 int i, j; i = 0x2431; j = i2; /* j=-0x6F3C, 溢出 */ j = i3; /* j= 0x2188, 溢出 */ 右移 () 运算规则 i n 把i各位全部向右移动n位 最右端的n位被移出丢弃 最左端的n位用0补齐(逻辑右移) 或最左端的n位用符号位补齐(算术右移) 用法 右移n位相当于除以2n,并舍去小数部分 运算速度比真正的除法和幂运算快得多 右移举例 运算举例 0101,1101 3 0000,1011(101) 三种形式的简明示意图 if语句中注意的问题 switch语句说明 switch语句说明 switch 语句应用举例 (一) while语句(当型循环) 注意事项 (1)while语句的特点是先计算表达式的值,然后根据表达式的值决定是否执行循环体中的语句。因此,如果表达式的值一开始就为“假”,那么循环体一次也不执行。 (2)当循环体为多个语句组成,必须用{}括起来,形成复合语句。 (3)在循环体中应有使循环趋于结束的语句,以避免“死循环”的发生。 while语句应用举例 例:利用while语句,编写程序计算1+2+3+…+100。 流程图 (二)do-while语句(直到型循环) 执行流程 说明 (1)do-while循环,总是先执行一次循环体,然后再求表达式的值,因此,无论表达式是否为“真”,循环体至少执行一次。 (2) do-while循环与while循环十分相似,它们的主要区别是:while循环先判断循环条件再执行循环体,循环体可能一次也不执行。do-while循环先执行循环体,再判断循环条件,循环体至少执行一次。 (三)for语句(当型循环) for循环执行过程 for循环的执行流程 注意 (1)for循环中语句可以为语句体,但要用“{”和“}”将参加循环的语句括起来。 (2)for循环中的“初始化表达式”(表达式1)、“循环条件表达式” (表达式2)和“增量表达式” (表达式3)都是选择项,即可以缺省,但“;”不能缺省。省略了初始化表达式,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。 (3
文档评论(0)