文档详情

C语言程序设计课件:顺序结构流程及应用.ppt

发布:2024-10-27约1.26万字共10页下载文档
文本预览下载声明

【案例2-3】运行下面的程序,观察并分析基本算术运算符的用法。#includestdio.hmain(){inta=20,b=5;printf(A=20B=5\n);printf(A与B的和是:%d\n,a+b);printf(A与B的差是:%d\n,a-b);printf(A与B的积是:%d\n,a*b);printf(A除以B的商是:%d\n,a/b);printf(A除以B的余数是:%d\n,a%b);}2.强制类型转换运算符强制类型转换可以将一个表达式转换成所需的类型。其格式为:(类型名)表达式例如:(float)a /*将a转换成float型*/(int)(x+y) /*将x+y的值转换成int型*/(int)x+y/*将x的值转换成int型*/注意:①强制类型转换不能写成float(a)。②(int)x+y是将x转换成int型。而(int)(x+y)是将x+y的值转换成int型3.自增、自减运算符自增、自减运算符是单目运算符,即仅对一个运算对象施加运算,运算结果仍赋予该运算对象。表2.6列出了自增、自减运算符的种类和功能。表2.6自增、自减运算符【案例2-4】运行下面的程序,观察并分析自增和自减运算符的运算规则#includestdio.hmain(){inta,b,c,d,e,f,g,h;a=5;b=5;c=5;d=5;e=a++;f=++b;g=c--;h=--d;printf(a的初值=5\te=a++值为%d\ta=%d\n,e,a);运算符名称举例等价于++加1i++或++ii=i+1--减1i--或--ii=i-1printf(b的初值=5\tf=++b值为%d\tb=%d\n,f,b);printf(c的初值=5\tg=c--值为%d\tc=%d\n,g,c);printf(d的初值=5\th=--d值为%d\td=%d\n,h,d);}运行结果:a的初值=5 e=a++值为5a=6b的初值=5 f=++b值为6 b=6c的初值=5 g=c--值为5 c=4d的初值=5 h=--d值为4 d=4从本例的操作结果可以看出,表达式a++与++a的值不同,表达式a--与--a的值也不同。对于a++,系统先计算表达式的值,再进行a增1的运算;而对++a,则先进行a增1的运算,再计算表达式的值。类似地,a--是先计算表达式的值,再进行a减1的运算;而对--a,则先进行a减1的运算,再计算表达式的值。【注意】自增运算符(++)或自减运算符(--)只能用于变量,而不能用于常量或表达式。(二)算术表达式用算术运算符、圆括号将运算对象(或称操作数)连接起来的符合C语法规则的式子,称为C算术表达式。其中运算对象可以是常量、变量、函数等。1.算术表达式的书写形式C算术表达式的书写形式与数学中表达式的书写形式是有区别的,在使用时要注意以下几点:C表达式中的乘号不能省略。例如:数学式b2-4ac,相应的C表达式应写成b*b-4*a*c。C表达式中只能使用系统允许的标识符。例如:数学式πr2相应的C表达式应写成3.1415926*r*r。C表达式中的内容必须书写在同一行,不允许有分子分母形式,必要时要利用圆括号保证运算的顺序。例如:数学式相应的C表达式应写(a+b)/(c+d)。C表达式不允许使用方括号和花括号,只能使用圆括号帮助限定运算顺序。可以使用多层圆括号,但左右括号必须配对,运算时从内层圆括号开始,由内向外依次计算表达式的值。2.算术运算符的优先级和结合性优先级:是指当一个表达式中如果有多个运算符时,则计算是有先后次序的,这种计算的先后次序称为相应运算符的优先级。结合性:是指当一个运算对象两侧的运算符的优先级别相同时,进行运算(处理)的结合方向。按“从右向左”的顺序运算,称为右结合性;按“从左向右”的顺序运算,称为左结合性。表2.7中给出了算术运算符的优先级和结合性。在算术表达式中,若包含不同优先级的运算符,则按运算符的优先级别由高到低进行运算;若表达式中运算符的优先级别相同时,则按运算符的结合方向(结合性)进行运算。表2.7算术运算符的优先级和结合性二、关系运算符和关系表达式(一)关系运算符关系运算是对两个操作数之间进行比较的运算符,其运算结果为逻辑值或“布尔”(boolean)值,其值只有两种可能“真”或“假”,C语言提

显示全部
相似文档