- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 运算符与表达式 了解 C语言运算符与表达式的概念 掌握基本运算符的功能及其与操作数的关系 掌握基本运算符的优先性和结合性 掌握表达式的结果类型 掌握数据类型的转换 教学内容: 基本运算符及其表达式 混合运算时数据类型的转换 3.1 基本运算符及其表达式 著名计算机科学家、PASCAL语言发明者N·沃思提出了程序定义的著名公式(沃思公式): 数据结构+算法=程序 相应的,在解决问题时不仅要考虑需要哪些数据,还要考虑对数据的操作,以达到求解问题的目的,因此运算符和表达式是程序设计中首要考虑的基本问题。 一般来说,C语言的基本运算符与表达式包括: 算术运算符及其表达式 赋值运算符及其表达式 关系运算符及其表达式 逻辑运算符及其表达式 位运算符及其表达式 条件运算符及其表达式 逗号运算符及其表达式 sizeof运算符 表达式就是变量、常量、函数等运算量按照一定规则和运算符连接而成的式子。 3.1.1 C语言运算符概述 运算:是对数据的加工,被加工的数据称运算量或操作数,最基本的的运算形式由运算符记述; 运算符:是一种向编译程序说明一个特定的数学或逻辑运算的符号,简单说即用来记述数据运算形式的符号; 运算符优先级:表达式中优先级较高的运算符先于优先级较低的运算符进行运算;当一个运算量两侧的运算符优先级相同时,则依据运算符的结合性处理; 运算符结合性:有左结合性和右结合性两种。 学习运算符应注意的几个问题: 运算符的功能 与运算量的关系 运算量的个数(是几目或几元运算符) 运算量的类型 运算符的优先级别(先高后低) 结合方向(在运算量两侧运算符优先级相同时) 表达式值的类型(尤其不同类型数据进行运算时) C语言中不含乘方运算符,不能直接进行乘方运算! 3.1.2 算术运算符及其表达式 1.算术运算符 算术运算符用于各类数值运算。C语言基本的算术运算符有5种:+、-、*、/、%;自加、自减运算符2种:++、--;正负号运算符2种:+、-。 注意: %运算要求运算量必须为整型数据(如5%2=1正确,而5.5%2不正确); /运算时若运算量均为整型则结果也为整型,舍去小数(如5/2=2,而5/2.0=2.5); +、-、*、/运算时,运算量有实数时则结果为double型; 字符型数据可与数值型数据混合运算(如’A’+1=66)。 2)自加、自减运算符 (++ --) 功能: 前置:++i,--i,在使用i之前i值先加/减1; 后置:i++,i--,在使用i之后,i值再加/减1; 目数:均为单目运算符,且要求运算量为变量; 优先级:高于基本算术运算符的优先级; 结合方向:右结合性。 例: j=3; k=++j; j=3; k=j++; j=3; k=--j; j=3; k=j--; 自增、自减运算小结: 自增运算符和自减运算符是单目运算符,且只能用于单个变量。 当前置运算或者后置运算与其他运算结合在一个表达式中时: 前置运算:先增值后引用 后置运算:先引用后增值 “++”和“--”的运算结合方向是从右到左。 阅读下面的程序,写出运行结果: main() { int i=2,j,k; j=(i++)+(i++)+(i++); k=(--i)+(--i)+(--i); printf(“%d %d %d \n”,i,j,k); } 3)正负号运算符 (+ -) 功能:改变数值的正负; 目数:单目; 优先级:高于*、/、%的优先级,与++、--同级; 结合方向:右结合性; 例: i=3; j=-i++; 因 - 与 ++ 优先级相同,则按又结合性,表达式 -i++ 等价于 -(i++), 则结果为:i 值为4,j 值为-3。 2.算术表达式 算术表达式的定义:由算术运算符和括号将常量、变量、函数等连接起来的式子;单个常量、变量和函数可以看作是表达式的特例。 如a*b+c/d、23+2*3.14*R、x。 算术表达式的运算:若一个运算符两侧的数据类型不同,先自动进行类型转换,使两者具有同一类型,再进行运算。 整型、单精度型、双精度型和字符型数据之间可以混合运算(字符型数据可以与整型通用) 如:35+’a’-8.8+27.34*’c’是合法的。 3.1.3 赋值运算符及其表达式 赋值运算符用于赋值运算,分为简单赋值(=)、复合算术赋值(+=、-=、*=、/=、%=)和复合位运算赋值(=、|=、^=、=、=)3类共11种。 相应的,由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。 1. 简单赋值符及其表达式 简
文档评论(0)