算符论文关于对C语言中运算符的再认识论文范文参考资料_第1页
算符论文关于对C语言中运算符的再认识论文范文参考资料_第2页
算符论文关于对C语言中运算符的再认识论文范文参考资料_第3页
算符论文关于对C语言中运算符的再认识论文范文参考资料_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

算符论文关于对C语言中运算符的再认识论文范文参考资料 摘要:该文对C语言中的各种运算符按照其特点进行分析、归类,指出容易产生混淆的理由,给出了使用并掌握这些运算符的一些技巧。 关键词:C语言;运算符;优先级;结合性 1009-3044(xx)26-5944-02 C语言的各种运算符号按照运算级别有15级,牵扯到45个左右的运算符号,他们分别处于不同的位置,发挥不同的作用,但C语言的运算符也有许多的缺陷,相同的符号有不同的含义,相似的符号不少,再加上运算级别、结合性,面对具体理由中的符号,有时还真的会不知所措。 1 C语言运算符的优先级及结合性(如下图1) 图1 按照箭头方向,(),优先级最高,可惜它们不是真正作用上的运算符。对于真正的运算符,应该从单目运算符算起,它们的优先级仅次于前者,而双目运算符的优先级低于单目运算符,条件运算符是C中唯一的三目运算符,它的运算级别比双目运算符第,但却高于赋值运算符,逗号运算符是级别最低的。在此要记住以下几点: 算术运算符比移位运算符优先级要高,而移位运算符比关系运算符要高。按位运算符的优先级比关系运算符低,比逻辑运算符高。所有的按位运算符优先级要比逻辑运算符高,每个“与”运算要比相应的“或”运算符优先级高,而按位异或运算符优先级介于“与”“或”间。 每个运算符都有两重身份,优先级和结合性。优先级体现一个不含括号的表达式中运算符之间的“紧密”程度,决定了他的运算顺序。例如,在表达式a*b+c,先执行a*b,而不是b+c.但当运算符的优先级相同时,结合性就起仲裁的作用,由它决定哪个运算符先执行。 例如,int a,b=1,c=2; a=b=c /* 赋值运算符为右结合性,因此a的值为2 */ 对运算符结合性的记忆,要注意以下两点: 所有的单目运算符为右结合性。所有赋值运算符都为右结合性,其余双目运算符都皆为左结合性。 2 “木林”型运算符 C语言也是在不断的改善过程中发展的成今天的ANSI C。“林”型符号的出现(见表1),有其历史理由,但每个符号在今天的C中都有自己的使命。需要注意的是:在使用“林”型符号时,中间一定不能嵌有空白(空格符、制表符和换行符)例如,=是单个符号,而= =则是两个符号。 失之毫厘,差之千里。在以上运算符中,相似的面孔,不同的作用。如果你出现误操作,误判断,张冠李戴,系统编译却正常通过,不会出现错误提示,但程序的原意已经转变,运转结果自然已经不是初衷。例如: while (c=| c=t|c=n) c=getc(f); 此循环语句的本意是跳过文件中的空格符、制表符和换行符,但由于程序员误将比较运算符=写成了赋值运算符=。因此实际上是将表达式 | c=t|c=n赋给了c,这样形成死循环。对于这类“木-林”型运算符,在编程过程中为了避开出现的误操作,倡议可以多加注释部分,虽看似麻烦,但可以提示操作者避开误写,也为程序查错提供帮助。 3 运算符的重载 重载作用于不同类型的同一操作具有相同的名字。在C语言中,许多运算符号被重载,在不同的上下文环境中有不同的意思。这些符号容易混淆,产生歧义。(如下表) 让一个符号所表达的意思越多,编译器就越难检测到这个符号在使用中所存在的异常情况。这是C语言自身的缺陷。为了避开这种歧义性的产生,在编程时,多使用()、空格和注释,在阅读程序或查错时,一定要根据上下语句之间的关系来具体理由具体分析。才能准确的理解它。例如: y=x/*p; y=x/ *p; /* p指向除数 */ 4 小结 虽然每个运算符都有自己的位置、作用和运算规则,但只要掌握优先级的普遍规律,根据其结合性,注意做到在编程时避开产生歧义性。就可以写出正确的C语句。 _: 1 谭浩强. C程序设计M. 北京:清华大学出版社,xx. 2 Peter Van Der Linden. C专家编程M. 徐波, 译. 北京: 人民邮电出版社,xx. 3 杨路明. C语言程序设计教程M. 北京:北京邮电大学出版社,xx. 4

温馨提示

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

评论

0/150

提交评论