表达式是使用运算符连接起来的式子,C语言中的表达式有以下几种:

1、算数运算符 + - * / %

2、赋值运算符 +=  -=  *=  /=  %=

3、自增、自减 ++   --

    a++为先使用a,然后在进行a=a+1的运算,而++a为先a=a+1,然后再使用a,这个时候a的值已经不是原来的a了,而是a+1。

int a=1;(a++)*(a++)*(a++)*(a++)的结果是24,在进行完上式之后a的值是5.

4、关系运算符(比较运算符) <  >  >=  <=  ==  !=  关系运算结果为真(1)或假(0),即成立或不成立,对或者错,开或关

计算机返回表达式成立与否很标准:1(真);0(假)

5、逻辑运算符 &&  ||  !     表达式1 逻辑运算符 表达式2.

&& 表达式1和表达式2同时成立,即同时为1时返回值为1,否则返回0,也就是假。

|| 表达式1和表达式2中有一个成立,则返回值为真,返回1,否则返回0,即假。

!  !表达式1   如果表达式成立则返回假也就是0,如果不成立则返回真即1.

  !的优先级比较高,仅此于()。

6、位运算符  &  |  >>  <<

  a<<n相当于给一个变量乘2的n次方,a>>m 相当于a除以2的n次方。

7、三目运算符 表达式1?表达式2:表达式3     c=a>b?a:b意思是如果a>b,那么c=a,否则c=b。相当于if判断。

8、sizeof(表达式)用来获取表达式结果的类型在内存中存储所占用的字节数,sizeof()的结果是unsigned long ,在使用printf打印时占位符是%lu。

不同的运算符有不同的优先级(后面的数字表示优先级,数字越小,优先级越高):

()     0  最高

!       1

+ - * /  %    2

> < >= <= == !=     3

&&     4

||     5

+= -= *= /= %=     6

=      7   最低

如果不知道优先级的等级,就使用括号括起来,这样不但可以保证运算结果正确,也可以使逻辑关系清楚易读。

以下是上面知识的一些使用:

奇数的表示:int a=0; a%2==1

偶数的表示: int b=0; b%2==0

a/b的结果是a/b的商,a%b的结果为a/b的余数。

两位数的十位数和各位数的表示:int a=23;b=a/10表示a的十位数的数字。c=a%10表示a的各位数。

短路:在一个逻辑表达式中,如果存在||运算,且||运算符前面的逻辑结果为1,则整个逻辑表达式的结果肯定是1,这个称为短路;

断路:在一个逻辑表达式中,如果存在&&运算,且&&运算符前面的逻辑结果为0,则整个逻辑表达式的结果必然为0,这个称为断路;

C语言-表达式的更多相关文章

  1. EL语言表达式 (二)【EL对数据的访问】

    一.访问方式: EL中访问数据和Java中访问数组的方式相同,即可以通过“[]”和“.”运算符进行访问.而且两种形式是等价的.如: 访问JavaBean对象userInfo中的id属性,可以写成下面两 ...

  2. EL语言表达式 (一)【语法和特点】

    一.基本语法规则: EL表达式语言以“${”开头,以"}"结尾的程序段,具体格式如下: ${expression} 其中expression:表示要指定输出的内容和字符串以及EL运 ...

  3. Cg(C for Graphic)语言表达式与控制语句(转)

    摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 在上一章中,我们已经介绍了 Cg 语言的 ...

  4. 代数式到c语言表达式和常用的c语言数学库函数_pow_sqrt_exp_fabs_abs

    数学知识来源于生活,因此我们需要把相关的数学的知识在自己生活找到实例. #include "common.h" #include <stdio.h> #include ...

  5. C语言表达式和语句

    一.表达式 在C语言中,常量.变量.函数调用以及按C语言语法规则用运算符把运算数连接起来的式子都是合法的表达式 . 最后一类可以理解为运算符和运算对象的组合.例如: 算术表达式 = 算术运算符 + 运 ...

  6. C语言-表达式和运算符

    表达式:表达式是c语言的主体,在c语言中,表达式由操作符和操作数组成.简单的表达式可以只有一个操作数.根据操作符的个数,可以将表达式分为简单表达式和复杂表达式,简单的表达式只含有一个操作符(如:5+5 ...

  7. 第六课,T语言表达式(版本5.0)

    TC综合开发工具里的表达式大体分为:计算表达式.条件表达式 计算表达式: 它一般是用在赋值过程中,或者是和条件表达式混合使用这样的表达式里只有数字运算符(如:+.-.+=.*=等等运算符),没有关系运 ...

  8. EL语言表达式 (三)【EL中的算术运算以及判断EL对象是否为空】

    一.EL中的算术运算 EL和其他语言一样,同样也提供了基本的算术运算(加.减.乘.除和取余),如下图. 运算符 功能 示例 结果 + 加 ${19+1} 20 - 减 ${66-30} 36 * 乘 ...

  9. 语义分析:C语言表达式的语法树生成——Python实现

      令狐冲慢慢走近,那汉子全身发抖,双膝一屈,跪倒在雪地之中.令狐冲怒道:“你辱我师妹,须饶你不得.”长剑指在他咽喉之上,心念一动,走近一步,低声问道:“写在雪人上的,是些什么字?”   那汉子颤声道 ...

  10. 代数式转换为c语言表达式(很简单)

随机推荐

  1. J2SE基本数据结构

    1.J2SE中的常用数据结构对象的继承关系如下图 Collection ........|--------List ........|..........|----------ArrayList .. ...

  2. R语言——基本绘图函数

    通过一个综合的例子测试绘图函数 学习的内容是tigerfish老师的教程. 第一节:基本知识 用seq函数产生100位学生的学号. > num = seq(,) > num [] [] [ ...

  3. C#中:函数访问级别对函数形参访问级别的约束

    Inconsistent accessibility: parameter type 'Program.CommandLineInfo' is less accessible than method ...

  4. 线段树扫描线 HDU 1542

    n个矩形 问他们覆盖的面积重复的就算一次 x数组存线段  然后根据横坐标排一下 z 线段树 l - r   就是1 ~ 2*n #include<stdio.h> #include< ...

  5. POJ 3186 Treats for the Cows

    简单DP dp[i][j]表示的是i到j这段区间获得的a[i]*(j-i)+... ...+a[j-1]*(n-1)+a[j]*n最大值 那么[i,j]这个区间的最大值肯定是由[i+1,j]与[i,j ...

  6. DWR3.0框架入门(2) —— DWR的服务器推送

    DWR3.0框架入门(2) —— DWR的服务器推送 DWR 在开始本节内容之前,先来了解一下什么是服务器推送技术和DWR的推送方式.   1.服务器推送技术和DWR的推送方式   传统模式的 Web ...

  7. The 2014 ACMICPC Asia Regional Xian

    2题继续遗憾收场,每次都是只差最后一步.这一场却是之前那么多场中感觉距离奖牌最近的时候.好好总结一下经验教训,复盘之后好好准备下一场北京的最后一战吧. 一开始的状态非常不错,10分钟跟榜完成1A,第二 ...

  8. <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

    Asp.net Mvc 未能加载类型“System.Web.Mvc.ViewPage 的解決方法 2010-11-30 17:31:51|  分类: .net mvc |举报 |字号 订阅   如果多 ...

  9. 17.4.3 使用MulticastSocket实现多点广播(1)

    http://book.51cto.com/art/201203/322560.htm <疯狂Java讲义(第2版)>本书深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法 ...

  10. CDOJ 1269 ZhangYu Speech

    预处理打表,sum[i][j]表示1.....i这些数字中 j 有几个.然后就很好处理询问了. #include<stdio.h> #include<math.h> #incl ...