计算机基础与C语言程序设计第4章_运算符和表达式_第1页
计算机基础与C语言程序设计第4章_运算符和表达式_第2页
计算机基础与C语言程序设计第4章_运算符和表达式_第3页
计算机基础与C语言程序设计第4章_运算符和表达式_第4页
计算机基础与C语言程序设计第4章_运算符和表达式_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 4章 运算符和表达式 第 4章 运算符和表达式 术运算符和算术表达式 增、自减运算 运算 值运算 系表达式与逻辑表达式 件表达式与逗号表达式 表达式 :用运算符将要运算的对象连接起来的式子 运算符的 优先级 : 如 2+5*4 运算符的 结合性 :如 :如 *(a*x+(b+x)/(a+x) 术运算符和算术表达式 运算符 表达式 + 3+5、 +3 - 5 3*5 3 2 (结果为 1) 3/, , (结果为 7%4 (结果为 3) (求余 ) (结果为 - 4) 9%( (结果为 4 ) (错误 , 1. 单目运算符 2. 双目运算符 字符以其 a+1 为 98 b-a 为 1 8-0 为 8 例:设 其各位数字之和。 解: a/10+a%10 (如 a=24,则结果为 6) 例:求一个整数 b 的十位上的数字。 解: (b%100)/10 (如 b=4321,则结果为 2) 3. 算术运算中的类型转换 (1) 自动转换 规则如下 高 例如: 2+a+ 97+99+2) 强制类型转换 一般形式为: (类型名 )表达式 例如: (a (将 (x+y) (将 x+ (5%3) (将 5%3的值转换成 ( (即 3%2) 增、自减运算 1. 运算符: +、 2. 使用格式: +i 加 1, 后 使用 如 i=3; j=+i; j: 4, i: 4 i+ 使用 , 后加 1 如 i=3; j=i+; j: 3, i: 4 减 1, 后 使用 使用 , 后减 1 又如: i=3; d”, +i); i=3; d”, i+); 3 优先级与结合性 +、 (+、 -)相同 , 比双目运算符 (*、 /、 %、 +、 -)高 +、 有右结合性 例如: 相当于: -(a+) 减运算符的注意事项 略 运 算 1位运算符的种类 & 按位与运算符 | 按位或运算符 按位异或运算符 二进制右移运算符 按位取反运算符 2按位与运算 (&) 当对应位均为 1时,结果为 1;否则为 0。 例如, 12&10的运算如下: 12 : 00001100 & 10 : 00001010 _ 结果: 00001000 又如,只保留 位,其余位置 0: a : 11010010 & 020 : 00010000 _ a&020 : 00010000 3按位或运算 ( | ) 对应位均为 0时,结果为 0;否则结果为 1。 例如: 0123 : 01010011 | 014 : 00001100 _ 0123|014 : 01011111 例如:若想使 端四位)不变,低四位(右端四位)置 1,可用: a=a|017。 4按位异或运算 () 当对应位相同时,结果为 0;否则为 1。 例如 : 00110011 11000011 _ 11110000 又如,使 四位取反: a: 01101010 017: 00001111 _ a017 : 01100101 5按位取反运算 () 使每一位上的 0变 1; 1变 0。 例如; 0115是将八进制数 115按位求反。 即: 01001101 _ 结果: 10110010 6左移运算 () a=b; b=a2; 符号位 : 1111001100000000 : 1000110011111111 : 1000110100000000 (机内存储形式 ) b=a2 : 1110001101000000 : 1001110011000000 : - 016300 值 运 算 1赋值表达式 变量名 =表达式 如 a 3 b=2*a+10 2赋值语句 变量名 =表达式 ; 如 a=3; c=b=a+3; 右结合 3赋值时数据类型的转换 在赋值语句 变量名 =表达式; 中,当左右类型不同时,系统自动转换, 具体规则见表 4复合赋值运算 += 、 -= 、 *= 、 /= 、 %= 、 = 、 &= 、= 、 |= 例如: a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8) x/=2* 等价于 x=x/(2*a&=b 等价于 a=a&b 系表达式与逻辑表达式 1六种关系运算符 (大于 ) = (大于等于 ) 、 = 、 b, a+bb+c, (a=3)(b=5), ab)(b x,y=y=y*11; x=6+if(x=y) x=y); x!=y); 程序运行结果: x!=y #”的逻辑表达式 可写为 b=10&x=a+cb&b+ca。 件表达式与逗号表达式 件表达式 1条件运算符 ? : 2条件表达式 表达式 1 ? 表达式 2 : 表达式 3 例如 a:b; ( 2)求三个变量 a、 b、 解 s=(s=ab?a:b)c?s:c; ( 3)对字符变量 为小写字母,则改为大写字母,其余字符不变。 解 a&%d”,x):%d”, 【 例 任意输入三个整数,按从大到小输出。 程序如下: # a,b,c,m,n,k; %d%d%d,&a,&b,&c); m=(m=ab?a:b)c?m:c; /* 将 a、 b、 m */ n=(n=ab?a:b)c?n:c; /* 将 a、 b、 n */ k=a+b+ /* 将 a、 b、 k */ %d %d %dn,m,k,n); /* 从大到小输出三个数 */ 程序运行情况: 3 9 3 逗号表达式 形式: 表达式 1,表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论