⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c语言基础(05-运算符和表达式).htm

📁 语言基础(初学都必修)包括数据类型、运算符与表达式,运算符和表达式,逻辑运算符和逻辑表达式,C语言中的关键字,定义宏和使用宏定义,数据类型转换
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<TD><FONT color=#000000>逻辑‘或’</FONT></TD>
<TD><FONT color=#000000>双目操作符</FONT></TD>
<TD><FONT color=#000000></FONT></TD></TR>
<TR>
<TD><FONT color=#000000>&lt;&lt;</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>&gt;&gt;</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>&lt;</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>&gt;</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></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></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></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></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></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></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></TR>
<TR>
<TD><FONT color=#000000>&lt;&lt;=</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>&gt;&gt;=</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>&amp;=</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></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></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></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></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></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></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></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></TR>
<TR>
<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></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></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></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></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></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></TR></TBODY></TABLE></P>
<P><FONT color=#000000>  要把表中的运算符仔细的分类是不容易的,因为同一个运算符,在不同的地方其含义是不同的。如*运算符,当作为乘运算时是双目操作符(所谓双目操作符,即运算时需要二个操作数),如3*6,那么3与6总共是二个操作数。当作为取值运算时就是单目操作符(所谓单目操作符是只需要一个操作数)如对一个数求反:!a,这里只有一个操作数a。<BR>  要记住运算符的二个特点,一个是运算符的操作对象,另一个就是运算符的优先级别。其中运算符的优先级别是最不容易搞清楚和最容易出错的地方。<BR>在讲运算符之前讲一下“表达式”的概念:所谓表达式,就是用运算符把各个操作数连接成符合C语法规则的进行运算的式子。这里说的“符合C语法的规则”也很重要。如 a+b+5就是一个用算术运算符连接起来的表达式。<BR>1、算术运算符:+、-、*、/、%<BR>1)+、-、*、/ 分别是相加、相减、相乘、相除<BR>2)%  求二个数运算的模。所谓求模就是求二个数相除后的余数。例:25/3的余数是1,可以说25%3的模是1。要注意的是求模运算时二个操作数必须是整数。如果求25.3/3.1这样是不能运算的。<BR>下面写一个例子:<BR>#include&lt;stdio.h&gt;&nbsp;&nbsp;&nbsp; /*程序中要用到输入输出库函数,所以包含了stdio.h*/<BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp; int a=10,b=20,c=30;&nbsp;&nbsp;&nbsp; /*定义了3个整型变量,并同时进行了初始化赋值*/<BR>&nbsp;&nbsp;&nbsp; a=a*b+c;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*a*b+c组成了一个算术表达式,运算后的结果为230并把值*/<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*赋给变量a*/<BR>&nbsp;&nbsp;&nbsp; printf("%d",a);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*以整型格式输出变量a的值。这里输出230*/<BR>&nbsp;&nbsp;&nbsp; a=a%b;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*进行求模运算。因为没有余数,最后的模为0*/<BR>&nbsp;&nbsp;&nbsp; printf("%d",a);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*输出变量a的值。这里输出0*/<BR>}<BR><BR>下面是一个要考虑运算符优先级的例子:<BR>#include&lt;stdio.h&gt;<BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp; int a=10,b=20,c=30;<BR>&nbsp;&nbsp;&nbsp; a=c-a*b;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*这里就要考虑运算符优先级,*运算符的优先级比-运算符*/<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*的高,所以先进行乘运算。这里最后结果为-170*/<BR>}<BR><BR>由上面这个例子看到,在一个有多个运算符连接起来的表达式中需要考虑运算符的优先级,这个例子很简单。关于运算符优先级的概念其实在小学生的算术运算中就有这样的概念了,只不过这里的运算符多了一些,要考虑的情况也就复杂了。<BR>如果这个式子改写一下,写成:a=(c-a)*b;在运算时就以括号中的运算优先。<BR><BR>几个简化的运算表达式:<BR>在C语言的程序中,经常看到这样的运算,如:i++;或者k--;这是运算符号的简化写法。<BR>1、加1运算的简写<BR>&nbsp;&nbsp; 当一个变量进行加1运算时,如a=a+1;这是变量自身加1,简写为a++;<BR>2、减1运算的简写<BR>&nbsp;&nbsp; 当一个变量进行减1运算时,如a=a-1;这是变量自身减1,简写为a--;<BR>3、加1个常量运算的简写<BR>&nbsp;&nbsp; 当一个变量与一个常量相加时,如a=a+5;这是变量自身加5,简写为a+=5;<BR>4、减一个常量运算的简写<BR>&nbsp;&nbsp; 当一个变量与一个常量相减时,如a=a-5;这是变量自身减5,简写为a-=5;<BR>5、乘一个常量运算的简写<BR>&nbsp;&nbsp; 当一个变量与一个常量相乘时,如a=a*5,这是变量自身乘5,简写为a*=5;<BR>6、除一个常量运算的简写<BR>&nbsp;&nbsp; 当一个变量与一个常量相除时,如a=a/5;这是变量自身除5,简写为a/=5;<BR><BR>运算符的结合性(或称作关联性)<BR>在一个复杂的表达式中,常常有许多运算符和变量,这时就要判断优先级和结合性这二个因素。<BR>例:-5+7; 这样的一个表达式用结合性来判断,因为运算符'-'和'+'相对于运算的数来说是‘左’结合的,所以就有'-5'和'+7'所以运算的结果为 2。<BR>通过这个例子要知道什么是“左结合性”和“右结合性”<BR>左结合性--变量(或常量)与左边的运算符结合<BR>右结合性--变量(或常量)与右边的运算符结合<BR><BR>运算符的优先级和结合性表</FONT></P>
<P><BR>
<TABLE style="WIDTH: 488px; HEIGHT: 379px" border=1>
<TBODY>
<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>( ) [ ] -&gt; .    </FONT></TD>
<TD><FONT color=#000000>从左至右</FONT></TD>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -