c语言系统引用什么符号,C语言中常见符号问题探究.docx

"本文探讨了C语言中常见的运算符误用问题,如赋值运算符与关系运算符的区别,以及逻辑或"||"和逻辑与"&&"的运用。通过实例分析,阐述了赋值运算符在条件判断中的错误用法,以及逻辑运算符的运算规则和记忆技巧。此外,还提到了自增自减运算符在表达式中的复杂性,强调了正确理解和使用这些运算符的重要性。"
摘要由CSDN通过智能技术生成

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

摘要:c语言是应用最广的高级程序设计语言,其 语法灵活,使用便捷。文章在Turbo C环境下,提出几种常 见的编译系统纠错无法判断的问题,分析了几种运算符、语 句结束符和ELSE等,并通过案例来比较分析程序运行结果, 为广大C语言程序学习者提供一些参考。

关键词:C语言;运算符;表达式;判断条件

C语言既有高级语言的特点,又有汇编语言的特点,因 此它是应用最广的高级程序设计语言。用它不但能编写操作 系统软件,也能开发各个领域的应用软件。目前在我国,众 多的本科和高职院校的理工科专业都把C语言作为一门必修 课程。C语言可读性强、容易维护、移植性好[1],它具有丰 富的运算符与数据类型,也正因为这些,在学习C语言的过 程中会出现很多困难和问题。

1运算符与表达式

运算符是表示某种操作的符号,在C语言中运算符主要 有:赋值运算符、算术运算符、逻辑运算符等。运算符的操 作对象称为运算数,表达式是用运算符把运算数连接起来的 式子[1]。只是认识运算符并不难,可是一旦将运算符与运 算数结合成表达式时就很容易出现知识混淆产生问题而不 知该如何入手解决。

1.1赋值运算符和关系运算符

赋值运算符 J”在平常生活与基础学习中就是'‘等 于”的意思,但是在C语言中却不能理解为普通的“等于” 的意思,应理解为“赋予"或"给予"的意思,而作为判断 平等的“等于”在C语言中用关系运算符“==”来表示。

因为习惯性使然,在编程时经常会出现误写'作为 判断的“等于”,这样就使得所要完成的功能语句出错,而 这种错误是编译系统无法判断出的错误。

例如:下列程序语句实现功能是:当变量X的值,在运 行过程中等于0时,输出错误提示:error!

“error! ”的错误提示,表面上两个只有与 不同的语句都没有什么问题,结果都是正确的。但是, 如果将int x=0变更为int x=l,运行结果却是:第一句判 断显示的结果还是“erroM ”的错误提示,第二句判断没 有显示输出。实际上结果是很明显的,当x=l时是不要输出 错误提示的,而第一句判断仍然是“error! ”的错误提示, 这是不对的,问题出在第一句判断句的(x=0)中的“二”, 该式子表达的意思是把0赋予x,因此无论前面如何改变x 的值,执行到第一句判断句时x的值就会被改变为0,判断 的结果永远都是输出错误提示。

1.2逻辑或运算符“丨丨”和逻辑与运算符“&&”

逻辑运算的结果为逻辑值,逻辑值只有两个值:"真”和“假”,在C语言中用1表示“真”,用0表示“假” [2]。 逻辑运算符的运算数一般为逻辑值,如果不是逻辑值的会自 动转为逻辑值,转换的规则是:0为逻辑假,非0为逻辑真。

逻辑或"II":如果两个运算数都是假的,则结果是假 的,否则结果为真;

逻辑与“&&” :如果两个运算数都是真的,则结果是真 的,否则结果为假;

逻辑或"丨丨”和逻辑与"&&”的表达式运算规则

如果依靠死记硬背这些规则,不常用时是容易混乱出错 的。为了方便记忆可以用一个生动的比喻来帮忙,就是逻辑 或“丨丨”是一个“好好老师”而逻辑与“&&”则是一个 “严格老师”。怎么解释应用呢?可以这样看:“好好老 师”(或“丨丨”)的要求比较松,只要两个数有一个是"真” 的就可以通过,结果就是“真”的;而''严格老师”(与 “&&”)比较严格要求只有两个数都是“真”的才能通过, 结果才是“真”的,如果有一个是“假”的就不能通过,结 果就是“假”的。

除了上表的运算规则还要注意逻辑运算规律是:从左到

右的运算的。"好好老师”(或

右的运算的。"好好老师”(或

”)在运算时如果一直

是“假”的就一直向左运算,

只要遇到“真”

的就结束运算

结果为“真”或全部操作数运算结束仍然没有“真”结果 就为"假”。“严格老师”(与“&&”)在运算时如果遇到

“假”就结束运算结果为“假”,只有一直遇到“真”的才 能继续运算,直到所有操作数结束,结果为“真” O

这两个运算符在C语言中是很常被使用的,在使用过程 中它们还分为前缀运算和后缀运算两种[3]。它们只作用于 变量,不能用于常量和表达式,女口: 1++, (a+b) ++都是不 对的,但是自增、自减的变量是可以出现在表达式中的,如: a二a+b++是可以的。

运算中变量本身的自增与自减是很容易的,但是与之结 合的表达式运算就会出现无法抉择的情况。

例子中的x、y的值都与原来预计中的不同的原因是:

在x=j+i++中,i++是后缀引用,是先将变量i的值引用 到表达式中参加运算后再自增,即x=j+i=l+l=2, i=i+l=2, 而不是i=i+l=2,再x=j+i=l+2=3,注意:即使加上括号变 为x=j+ (i++)运行时也是一样的。

在y二j+++i中,本意是要做前缀运算++i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值