EXCEL加VBA用于边坡稳定计算之探索与实践_第1页
EXCEL加VBA用于边坡稳定计算之探索与实践_第2页
EXCEL加VBA用于边坡稳定计算之探索与实践_第3页
EXCEL加VBA用于边坡稳定计算之探索与实践_第4页
EXCEL加VBA用于边坡稳定计算之探索与实践_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、2.4 运算符和表达式(见附录c)c运算符算术运算符:(+ - * / % + -)关系运算符:( = !=)逻辑运算符:(! & |)位运算符 :( | &)赋值运算符:(= 及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(* &)求字节数符:(sizeof)强制类型转换:(类型)分量运算符:(. -)下标运算符:()其它(如函数调用运算符( ))学习运算符应注意:v运算符功能v与运算量关系l要求运算量个数l要求运算量类型v运算符优先级别v结合方向v结果的类型一.算术运算符和表达式算术运算符和表达式v基本算术运算符: + - + - * * / % / %l结合方向:从左向右l

2、优先级: -* / % - + -说明:l“-”可为单目运算符,负号运算符结合方向自右至左 优先级高于+ - * / % l两整数相除,结果为整数.若有负数,向零取整。l%要求两侧均为整型数据,结果为余数部分,余数的符号与被除数一致例 5/2 = 2 -5/3 = -1 (向零取整) -5/2.0 = -2.5 (int double)例 5%2 = 1 -2%3 = -2 2%-3 = 2 5%1 = 0 5.5%2 ()例 将一个三位数365转换为563。(2-4.c)#include “stdio.h”void main() int x=365,a,b,c,y; c=x%10; b=x/

3、10%10; a=x/100; y=c*100+b*10+a; printf(“x=%d,y=%dn”,x,y);结果:x=365,y=563v自增、自减运算符自增、自减运算符+ -+ -l作用:使作用:使变量变量值加值加1 1或减或减1 1l种类:种类:u前置前置 +i, -i (+i, -i (先执行先执行i i+1+1或或i-1i-1,再使用,再使用i i值)值)u后置后置 i+,i- (i+,i- (先使用先使用i i值值, ,再执行再执行i i+1+1或或i-1i-1)例例 自增运算自增运算#include “stdio.h”void main() int a=3,b=4,c,d;

4、c=a+; d=+b; printf(“a=%d,b=%d,c=%d,d=%dn”,a,b,c,d);程序的运行结果为:a=4,b=5,c=3,d=5_其中,c=a+;与下列两条语句等价:c=a;a=a+1;先使用a的原值赋给c,再使a的值增1变成4_其中,d=+b;与下列两条语句等价:b=b+1;d=b;先使用b的值增1变成5,再赋给d.l说明:u优先级 + - - * / % + - (1)自右至左 (2)自左至右 (3)自左至右 例 -i+ -(i+) i=3; printf(“%d”,-i+); /-3 例 -i+ i=3; printf(“%d”,-i+); 例:main()main

5、()int a=1,b=1;int a=1,b=1; printf(“+a=%d,b+=%dn”,+a,b+); printf(“+a=%d,b+=%dn”,+a,b+); printf(“a=%d,b=%dn”, a,b); printf(“a=%d,b=%dn”, a,b); printf(“-a=%d,b-=%dn”,-a,b-); printf(“-a=%d,b-=%dn”,-a,b-); printf(“a=%d,b=%dn”, a,b); printf(“a=%d,b=%dn”, a,b); 运行结果:运行结果: +a=2,b+=1+a=2,b+=1 a=2,b=2 a=2,b=2

6、 -a=1,b-=2 -a=1,b-=2 a=1,b=1 a=1,b=1二二. .赋值运算符和表达式赋值运算符和表达式v简单赋值运算符l符号: =l格式: 变量标识符=表达式l作用:将一个数据(常量或表达式)赋给一个变量v复合赋值运算符l种类:+= -= *= /= %= a+=3a=a+3x*=y+8x=x*(y+8) /+优先级高于*=x%=3x=x%3例 a=3; c=d+2;v赋值运算符说明:l结合方向:自右向左l优先级: 14l左侧必须是变量,不能是常量或表达式l赋值表达式的值与变量值相等,且可嵌套l赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型例 3=x-2*y; 错

7、误 a+b=3; 错误例 float f; int i; i=10; f=i;则 f=10.0例 int i; i=2.56; /结果i=2;例: a=b=c=5 int a=b=c=5; ()/表达式值为5,a,b,c值为5练习: a=5; 计算 a+=a-=a+a,则表达式的值为()(1)a+a=10; a=5(2)a-=10,即a=a-10=-5. a=-5; (3)a+=-5,即 a=a+(-5),a=-10;练习: * x+20%3*(x=y)/16,其中x=3.0,y=4, 则表达式的值为()(1)1/2=0; 0*x=0(2)20%3=2;x=4.0(赋值后和左端类型一致) (3

8、)0+2*4.0/16=8.0/16=0.5逗号运算符和表达式逗号运算符和表达式v形式:表达式1,表达式2,表达式nv结合性:从左向右v优先级: 15v逗号表达式的值:等于表达式n的值v用途:常用于循环for语句中例 a=3*5,a*4 a=3*5,a*4,a+5例 x=(a=3,6*3) x=a=3,6*a/a=15,表达式值60/a=15,表达式值20/赋值表达式,表达式值18,x=18/逗号表达式,表达式值18,x=3例:#include main() int x,y=7; float z=4; x=(y=y+6,y/z); printf(x=%dn,x);运行结果:x=3三三.关系运算

9、符和表达式关系运算符和表达式v关系运算符l种类: = !=l结合方向:自左向右l优先级别:6,7例 ca+bca+b /*c(a+b)*/ ab!=c ab!=c /*(ab)!=c */ a=bc a=bc /*a=(bc a=bc /*a=(bc) */l关系表达式的值:是逻辑值“真”或“假”,用1和0表示例 int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc/表达式值1/表达式值1/表达式值0/d=1/f=0+,-,-*,/,% +,-6 ,=7 = =, !=,l关系运算举例:例 若a=0; b=0.5; x=0.3; 则 a=x278在c中是允许的,

10、值为0例 int i=1, j=7,a; a=i+(j%4!=0); 则a=2例 a0 结果为 a100 结果为10ab!a!ba&ba|b真假真假假假真真四.逻辑运算符和表达式v逻辑运算符l种类: ! & |l逻辑运算真值表lc语言中,运算量: 0表示“假”, 非0表示“真”, 运算结果: 0表示“假”, 1表示“真”,真假假假假假真真假假真真真假真真! (2)& (11)| (12)高低例 a=x & xb&xy a=b|x=y !a|abl优先级:l结合方向:! :从右向左& :从左向右| :从左向右/ (a=x) & (xb)&(xy)/(a=b)|(x=y)/(!a)|(ab)! (2)& (11)| (12)高低l优先级:l结合方向:! :从右向左& :从左向右| :从左向右例 a=4;b=5; !a a&b a|b !a|b 4&0|2 53&2|83)&2|(8b)&(n=cd)后n的值( ) 2练习:2.设有:main() int a=0,b=1; a+&b+; a+|b+; 求执行后a,b的值( ) a=2,b=1五.条件运算符与表达式v一般形式: expr1 ? expr2 : expr3v执行过程v功能:相当于条件语句,但不能取代一般if语句例 if (

温馨提示

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

评论

0/150

提交评论