三种基本结构的程序设计.ppt

上传人:sh****n 文档编号:13179124 上传时间:2020-06-06 格式:PPT 页数:32 大小:691.50KB
返回 下载 相关 举报
三种基本结构的程序设计.ppt_第1页
第1页 / 共32页
三种基本结构的程序设计.ppt_第2页
第2页 / 共32页
三种基本结构的程序设计.ppt_第3页
第3页 / 共32页
点击查看更多>>
资源描述
2020/6/6,1,3.4C语言的运算符与表达式,变量用来存放数据,运算符则用来处理数据。用运算符将变量和常量连接起来的符合C语法规则的式子被称为表达式。,运算符的分类:单目运算符:只带一个操作数的运算符。如:+、-运算符。双目运算符:带两个操作数的运算符。如:+、-运算符。三目运算符:带三个操作数的运算符。如:?运算符。,学习运算符时应注意:运算符的功能:该运算符主要用于做什么运算。与运算量关系:要求运算量的个数及运算量的类型。运算符的优先级:表达式中包含多个不同运算符时运算符运算的先后次序。运算符的结合性:同级别运算符的运算顺序(指左结合性还是右结合性)。运算结果的类型:表达式运算后最终所得到的值的类型。,2020/6/6,2,2020/6/6,3,1.赋值运算符、赋值表达式,赋值运算符(“”,双目运算符),一般形式:,变量=常量或变量或表达式,功能:将右边常量或变量或表达式的值赋给左边变量,例如:intx,y,z;x=20;y=x;z=x+y;,赋值表达式,定义:,由赋值运算符或复合赋值运算符(后面即将介绍),将一个变量和一个表达式连接起来的表达式,称为赋值表达式。,一般格式:,变量(复合)赋值运算符表达式,赋值表达式的值:被赋值变量的值。,例如:“a=5”这个赋值表达式,变量a的值“”就是它的值。,2020/6/6,4,赋值语句,例如:x=8;a=b=c=5;,定义:赋值表达式在其后面加分号就构成了赋值语句。,赋值运算符及赋值表达式的使用,多个变量连续赋值,例如:a=b=c=10;,a=(b=(c=10);,结果:a、b、c的值都为10,赋值表达式的嵌套,例如:a=(b=2)+(c=3),(a=(b=2)+(c=3),结果:b为2,c为3,a为b+c即5,注意:赋值语句“=”左边必须是变量名或对应某特定内存单元的表达式(后面的章节会遇到这样的表达式),不能是常量或其它表达式。例如:30=a;b+2=5;都是错误的。赋值语句中的“=”表示赋值,不是代数中相等的意思。要表示相等的意思则应用关系运算符“=”表示,二者切勿混淆!,2020/6/6,5,复合赋值运算:+=-=*=/=%=例复合赋值运算符举例。main()inta=3,b=9,c=-7;a+=b;c+=b;b+=(a+c);printf(“a=%d,b=%d,c=%dn”,a,b,c);a+=b=c;printf(“a=%d,b=%d,c=%dn”,a,b,c);a=b=c;printf(“a=%d,b=%d,c=%dn”,a,b,c);,返回,2020/6/6,6,2020/6/6,7,例下述程序的输出结果,#includemain()inta=2;a%=4-1;printf(“%d,”,a);a+=a*=a-=a*=3;printf(“%d”,a);,A)2,0,B)1,0,C)-1,12,D)2,12,2020/6/6,8,算术运算符:+-*/%-(取负)+-优先级:()+-*/%+-注:其中%+-只能用于整型。两个整数相除为整数,向零取整。%:余数与被除数符号相同。算术表达式:由运算对象(常量、变量和函数等)、圆括号和算术运算符组成。表达式中所字符写在一行上。,3.4.2算术运算符和算术表达式,-5/3=-1,-4%-3=1,-a/(b1+5)-11%7*a的运算次序,2020/6/6,9,例若有代数式,则正确的描述是(),)ae/bc,B)*a*e/b*c,C)*a*e/b/c,D)a*e/b/c,例若有代数式,则正确的描述是(),)sqrt(fabs(pow(y,x)+log(y),B)sqrt(abs(pow(y,x)+log(y),C)sqrt(fabs(pow(x,y)+log(y),D)sqrt(abs(pow(x,y)+log(y),2020/6/6,10,自增、自减运算符注意事项+和-运算符只能用于变量,不能用于常量和表达式。因为+和-蕴含着赋值操作。例如:5+、-(a+b)都是非法的表达式。负号运算符、+、-和强制类型转换运算符的优先级相同,当这些运算符连用时,按照从右向左的顺序计算,即具有右结合性。两个和之间不能有空格。在表达式中,连续使同一变量进行自增或自减运算时,很容易出错,所以最好避免这种用法。例如:+i+是非法的。自增、自减运算,常用于循环语句中,使循环控制变变量加(或减)-,以及指针变量中,使指针指向下(或上)一个地址。,自增自减运算符、符号运算符,例:intp,i=2,j=3;p=-i+;p=?i=?p=i+j;p=?i=?j=?p=i+-j;p=?i=?j=?p=i+-j;p=?i=?j=?p=i+i+;p=?i=?p=+i+(+i);p=?i=?,-2,3,5,3,3,4,2,2,4,3,2,4,4,8,4,2020/6/6,11,例main()inti=4,a;a=i+;printf(“a=%d,i=%d”,a,i);,A)a=4,i=4,B)a=5,i=4,C)a=4,i=5,D)a=5,i=5,例设intx=11;则表达式(x+*1/3)的值是,A)3,B)4,C)11,D)12,2020/6/6,12,例main()intn=2;printf(“%d,%d,%d”,+n,n+=2,-n);,A)4,3,1,B)4,4,1,C)1,3,4,D)4,3,3,2020/6/6,13,3.3.3逗号运算符、逗号表达式,位运算符:,逗号表达式:用逗号连接起来的表达式。其一般形式为:,表达式1,表达式2,表达式k,优先级:优先级最低。结合性:左结合性。即逗号表达式的求值顺序是从左向右依此计算用逗号分隔的各表达式的值。逗号表达式的值:最后一个表达式的值就是整个逗号表达式的值。用途:常用于循环for语句中。,例如:a+3,b=4,b+,例:a=3*5,a*4a=3*5,a*4,a+5例:x=(a=3,6*3)x=a=3,6*a例:a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);,/a=15,表达式值60,/a=15,表达式值20,/赋值表达式,表达式值18,x=18,/逗号表达式,表达式值18,x=3,/1,2,3,/3,2,3,例:#includevoidmain()intx,y=7;floatz=4;x=(y=y+6,y/z);printf(x=%dn,x);,运行结果:x=3,2020/6/6,14,2020/6/6,15,例假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值,A)7,B)8,C)9,D)10,例假设a为整型变量,则表达式(a=4*5,a*2),a+6的值,A)20,B)26,C)40,D)46,2020/6/6,16,关系运算符:=关系赋值运算符=值为0的表达式是()A)aif(+a0|+b0)+c;printf(“a=%d,b=%d,c=%d”,a,b,c);A)a=0,b=0,c=0B)a=1,b=1,c=1C)a=1,b=0,c=1D)a=0,b=1,c=1,2020/6/6,24,条件运算符:?:条件表达式:含有条件运算符的表达式。三目运算符。表达式1?表达式2:表达式3-执行过程:先表达式1,为非0,则执行表达式2;为0,表达式3。,3.4.6条件运算符和条件表达式,ab?a:b,a=(b=0)?c*d:c/d;,2020/6/6,25,例用条件表达式求出输入的两个整型数中较小者。main()inta,b;scanf(“a=%d,b=%d”,返回,a=3,b=4,Theminis3,2020/6/6,26,例以下程序的输出结果main()inta,b,c=6,d;printf(“%dn”,d=(ab)?(ac?a:c):b);A)4B)5C)6D)随机数,例若intw=1,x=2,y=3,z=4;则表达式wx?w:y,3.4.7位运算符和位运算表达式,逻辑位运算符,移位位运算符,2020/6/6,28,1、逻辑位运算scanf(a=%d,返回,a=3,31=133=031=633=24,2020/6/6,32,3.4.8运算符的结合律和优先级,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!