网站大量收购独家精品文档,联系QQ:2885784924

C语言中常见符号问题探究.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言中常见符号问题探究

C语言中常见符号问题探究   摘 要:C语言是应用最广的高级程序设计语言,其语法灵活,使用便捷。文章在Turbo C环境下,提出几种常见的编译系统纠错无法判断的问题,分析了几种运算符、语句结束符和ELSE等,并通过案例来比较分析程序运行结果,为广大C语言程序学习者提供一些参考。 关键词:C语言;运算符;表达式;判断条件 C语言既有高级语言的特点,又有汇编语言的特点,因此它是应用最广的高级程序设计语言。用它不但能编写操作系统软件,也能开发各个领域的应用软件。目前在我国,众多的本科和高职院校的理工科专业都把C语言作为一门必修课程。C语言可读性强、容易维护、移植性好[1],它具有丰富的运算符与数据类型,也正因为这些,在学习C语言的过程中会出现很多困难和问题。 1 运算符与表达式 运算符是表示某种操作的符号,在C语言中运算符主要有:赋值运算符、算术运算符、逻辑运算符等。运算符的操作对象称为运算数,表达式是用运算符把运算数连接起来的式子[1]。只是认识运算符并不难,可是一旦将运算符与运算数结合成表达式时就很容易出现知识混淆产生问题而不知该如何入手解决。 1.1 赋值运算符“=”和关系运算符“==” 赋值运算符“=”在平常生活与基础学习中就是“等于”的意思,但是在C语言中却不能理解为普通的“等于”的意思,应理解为“赋予”或“给予”的意思,而作为判断平等的“等于”在C语言中用关系运算符“==”来表示。 因为习惯性使然,在编程时经常会出现误写“=”作为判断的“等于”,这样就使得所要完成的功能语句出错,而这种错误是编译系统无法判断出的错误。 例如:下列程序语句实现功能是:当变量x的值,在运行过程中等于0时,输出错误提示:error! “error!”的错误提示,表面上两个只有“=”与“==”不同的语句都没有什么问题,结果都是正确的。但是,如果将int x=0变更为int x=1,运行结果却是:第一句判断显示的结果还是“error!”的错误提示,第二句判断没有显示输出。实际上结果是很明显的,当x=1时是不要输出错误提示的,而第一句判断仍然是“error!”的错误提示,这是不对的,问题出在第一句判断句的(x=0)中的“=”,该式子表达的意思是把0赋予x,因此无论前面如何改变x的值,执行到第一句判断句时x的值就会被改变为0,判断的结果永远都是输出错误提示。 1.2 逻辑或运算符“||”和逻辑与运算符“” 逻辑运算的结果为逻辑值,逻辑值只有两个值:“真”和“假”,在C语言中用1表示“真”,用0表示“假”[2]。逻辑运算符的运算数一般为逻辑值,如果不是逻辑值的会自动转为逻辑值,转换的规则是:0为逻辑假,非0为逻辑真。 逻辑或“||”:如果两个运算数都是假的,则结果是假的,否则结果为真; 逻辑与“”:如果两个运算数都是真的,则结果是真的,否则结果为假; 逻辑或“||”和逻辑与“”的表达式运算规则 如果依靠死记硬背这些规则,不常用时是容易混乱出错的。为了方便记忆可以用一个生动的比喻来帮忙,就是逻辑或“||”是一个“好好老师”而逻辑与“”则是一个“严格老师”。怎么解释应用呢?可以这样看:“好好老师”(或“||”)的要求比较松,只要两个数有一个是“真”的就可以通过,结果就是“真”的;而“严格老师”(与“”)比较严格要求只有两个数都是“真”的才能通过,结果才是“真”的,如果有一个是“假”的就不能通过,结果就是“假”的。 除了上表的运算规则还要注意逻辑运算规律是:从左到右的运算的。“好好老师”(或“||”)在运算时如果一直是“假”的就一直向左运算,只要遇到“真”的就结束运算结果为“真”或全部操作数运算结束仍然没有“真”结果就为“假”。“严格老师”(与“”)在运算时如果遇到“假”就结束运算结果为“假”,只有一直遇到“真”的才能继续运算,直到所有操作数结束,结果为“真”。 这两个运算符在C语言中是很常被使用的,在使用过程中它们还分为前缀运算和后缀运算两种[3]。它们只作用于变量,不能用于常量和表达式,如:1++,(a+b)++都是不对的,但是自增、自减的变量是可以出现在表达式中的,如:a=a+b++是可以的。 运算中变量本身的自增与自减是很容易的,但是与之结合的表达式运算就会出现无法抉择的情况。 例子中的x、y的值都与原来预计中的不同的原因是: 在x=j+i++中,i++是后缀引用,是先将变量i的值引用到表达式中参加运算后再自增,即x=j+i=1+1=2,i=i+1=2,而不是i=i+1=2,再x=j+i=1+2=3,注意:即使加上括号变为x=j+(i++)运行时也是一样的。 在y=j+++i中,本意是要做前缀运算++i的,但因与前面的算术运算符

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档