📄 c语言基础(05-运算符和表达式).htm
字号:
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>! ~ ++ -- (类型) sizeof + - * & </FONT></TD>
<TD><FONT color=#000000>从右至左</FONT></TD>
<TD><FONT color=#000000>单目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>* / %</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>+ -</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000><< >></FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>< <= > >=</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>== !=</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>&</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>^</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>|</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>&&</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>||</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>?:</FONT></TD>
<TD><FONT color=#000000>从右至左</FONT></TD>
<TD><FONT color=#000000>三目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000>低</FONT></TD>
<TD><FONT color=#000000>= += -= *= /= %= &= ^= |= <<= >>=</FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>
<TD><FONT color=#000000>双目运算符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000>高 -------------→ 低</FONT></TD>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000></FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR></TBODY></TABLE></P>
<P><FONT color=#000000> 从表中可以看出一个规律,凡是单目运算符都是“右结合”的,凡是双目运算符都是“左结合”的。其中有一个?:运算符是三目运算符是右结合的,记住了这个规律,运算符的结合性也就掌握了。<BR> 如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级。<BR>由于将表熟记是比较困难的,为了防止产生歧义并提高可读性,应当用括号确定表达式的操作顺序。例如:<BR>d = (high << 8) | low /*用括号把需要先运算的括起来*/<BR><BR>if ((a | b) && (a & c)) /*用括号把需要先运算的括起来*/<BR><BR>例:<BR>下列程序输出的结果是<BR>#include<stdio.h><BR>void main()<BR>{<BR> int a=2;<BR> a%=4-1;<BR> printf("%d",a);<BR> a+=a*=a-=a*=3;<BR> printf("\n%d",a);<BR>}<BR><BR>A. 2,0 B. 1,0<BR>C. -1,12 D. 2,12<BR><BR>分析:由于%=运算符的优先级别低于-运算,a%=4-1即是a%=3,等价于a=a%3即a=2%3=2,所以选项B和C是错误的。表达式a+=a*=a-=a*=3,计算时注意赋值类表达式的值和变量的值随时被更新,计算表达式的值,开始时a=2,表达式赋值是从左至右进行的,表达a*=3使得a=6,此表达式的值也为6,于是表达式a-=a*=3相当于a-=6=6-6=0,a的值为0,后面的计算就不用做了,所以a的值最终为0。<BR>答:A</FONT></P>
<P><FONT color=#000000>下列语句中错误的是<BR>A.x=sizeof int;<BR>B.x=sizeof 3.14<BR>C.printf("%d",a=a+1,b--,c+1);<BR>D.printf("%d",++x,x++);<BR>分析:此题的选项A的作用是测试int类型所占内存的字节数,因为类型符要用括号括起来,这时缺少括号是错误的。<BR>选项B是正确的。<BR>选项C从表面上看似乎复杂一些,但其中的a=a+1,b--,c+1是一个逗号表达式,C语言允许使用这种表达式所以D也是正确的。<BR>答案:A<BR><BR>下面的语句中,符合C语言语法的赋值语句是<BR>A.a=7+b+c=a+7; B.a=7+b++=a+7;<BR>C.a=7+b,b++,a+7; D.a=7+b;c=a+7;<BR>分析:一般情况下,表达式不能放在赋值号的左边,所以A和B选项是错误的。<BR>选项C不是一个C语言的语句,因为它不是以分号作为结束标志的。<BR>答:D<BR></FONT></P></STRONG> </td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td width=758 bgColor=#b1bde0>
<P align=right>教程录入:Sunpeople 责任编辑:Sunpeople </P></td>
</tr>
<tr>
<td height=16>
<form method="POST" action="--WEBBOT-SELF--">
<!--webbot bot="SaveResults" U-File="fpweb:///_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
<p align="left"> <li>上一个教程: <a class='LinkPrevArticle' href='/c/ShowArticle.asp?ArticleID=27' title='文章标题:C语言基础(10-字符数据类型和字符串)
作 者:dd
更新时间:2006-6-6 18:03:13'>C语言基础(10-字符数据类型和字符串)</a></li><BR> <li>下一个教程: <a class='LinkNextArticle' href='/c/ShowArticle.asp?ArticleID=29' title='文章标题:C语言基础(11-数据类型转换)
作 者:dd
更新时间:2006-6-6 18:07:13'>C语言基础(11-数据类型转换)</a></li></p>
</form>
</td>
</tr>
<tr>
<td width=758 bgColor=#adb9dd>##相关推荐:</td>
</tr>
<tr>
<td width=758>
<div align=right>
<table cellSpacing=0 cellPadding=0 width="99%">
<!-- MSTableType="layout" -->
<tr>
<td vAlign=top height=118><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1422' title='文章标题:06.9全国计算机等级考试二级C语言上机题
作 者:未知
更新时间:2006-11-4 17:32:49' target="_self">06.9全国计算机等级考试二级…</a><br><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1421' title='文章标题:06.9全国计算机等级考试二级C语言上机题
作 者:未知
更新时间:2006-11-4 17:32:04' target="_self">06.9全国计算机等级考试二级…</a><br><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1420' title='文章标题:06.9全国计算机等级考试二级C语言上机题
作 者:未知
更新时间:2006-11-4 17:31:17' target="_self">06.9全国计算机等级考试二级…</a><br><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1419' title='文章标题:06.9全国计算机等级考试二级C语言上机题
作 者:未知
更新时间:2006-11-4 17:30:27' target="_self">06.9全国计算机等级考试二级…</a><br><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1418' title='文章标题:06.9全国计算机等级考试二级C语言上机题
作 者:未知
更新时间:2006-11-4 17:21:25' target="_self">06.9全国计算机等级考试二级…</a><br><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1417' title='文章标题:2006年9月23日计算机等级考试二级C上机试题
作 者:未知
更新时间:2006-11-4 17:19:24' target="_self">2006年9月23日计算机等级考试…</a><br><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1416' title='文章标题:全国计算机等级考试二级C语言上机题2
作 者:未知
更新时间:2006-11-4 17:16:40' target="_self">全国计算机等级考试二级C语言…</a><br><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1415' title='文章标题:全国计算机等级考试二级C语言上机题1
作 者:未知
更新时间:2006-11-4 16:58:55' target="_self">全国计算机等级考试二级C语言…</a><br><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1192' title='文章标题:C语言教程第二章: 数据类型、运算符、表达式
作 者:佚名
更新时间:2006-9-29 17:26:28' target="_self">C语言教程第二章: 数据类型、…</a><br><a class='LinkArticleCorrelative' href='/c/ShowArticle.asp?ArticleID=1191' title='文章标题:C语言教程第二章: 数据类型、运算符、表达式
作 者:佚名
更新时间:2006-9-29 17:25:13' target="_self">C语言教程第二章: 数据类型、…</a><br></td>
</tr>
</table>
</div></td>
</tr>
</table>
<table height=164 cellSpacing=0 cellPadding=0 width=760 border=0>
<tr>
<td width=760 background=/images1/index_32.gif height=26>
<P align=center>| <A class=Bottom onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://lsjs.gsau.edu.cn');" href="#">设为首页</A> | <A class=Bottom href="javascript:window.external.addFavorite('http://lsjs.gsau.edu.cn','蓝色极速');">加入收藏</A> | <A class=Bottom href="mailto:wxw404@gmail.com">联系站长</A> | <A class=Bottom href="/FriendSite/Index.asp" target=_blank>友情链接</A> | <A class=Bottom href="/Copyright.asp" target=_blank>版权申明</A> | </P></td>
</tr>
<tr>
<td width=760 background=/images1/index_33.gif height=138>
<P align=center>Copyright (C) 蓝色极速 All Rights Reserved<BR>建议使用:1024*768分辨率,16位以上颜色、Netscape6.0<BR>IE5.0以上版本浏览器和中文大字符集</P></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -