C语言-表达式
表达式是使用运算符连接起来的式子,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语言-表达式的更多相关文章
- EL语言表达式 (二)【EL对数据的访问】
一.访问方式: EL中访问数据和Java中访问数组的方式相同,即可以通过“[]”和“.”运算符进行访问.而且两种形式是等价的.如: 访问JavaBean对象userInfo中的id属性,可以写成下面两 ...
- EL语言表达式 (一)【语法和特点】
一.基本语法规则: EL表达式语言以“${”开头,以"}"结尾的程序段,具体格式如下: ${expression} 其中expression:表示要指定输出的内容和字符串以及EL运 ...
- Cg(C for Graphic)语言表达式与控制语句(转)
摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 在上一章中,我们已经介绍了 Cg 语言的 ...
- 代数式到c语言表达式和常用的c语言数学库函数_pow_sqrt_exp_fabs_abs
数学知识来源于生活,因此我们需要把相关的数学的知识在自己生活找到实例. #include "common.h" #include <stdio.h> #include ...
- C语言表达式和语句
一.表达式 在C语言中,常量.变量.函数调用以及按C语言语法规则用运算符把运算数连接起来的式子都是合法的表达式 . 最后一类可以理解为运算符和运算对象的组合.例如: 算术表达式 = 算术运算符 + 运 ...
- C语言-表达式和运算符
表达式:表达式是c语言的主体,在c语言中,表达式由操作符和操作数组成.简单的表达式可以只有一个操作数.根据操作符的个数,可以将表达式分为简单表达式和复杂表达式,简单的表达式只含有一个操作符(如:5+5 ...
- 第六课,T语言表达式(版本5.0)
TC综合开发工具里的表达式大体分为:计算表达式.条件表达式 计算表达式: 它一般是用在赋值过程中,或者是和条件表达式混合使用这样的表达式里只有数字运算符(如:+.-.+=.*=等等运算符),没有关系运 ...
- EL语言表达式 (三)【EL中的算术运算以及判断EL对象是否为空】
一.EL中的算术运算 EL和其他语言一样,同样也提供了基本的算术运算(加.减.乘.除和取余),如下图. 运算符 功能 示例 结果 + 加 ${19+1} 20 - 减 ${66-30} 36 * 乘 ...
- 语义分析:C语言表达式的语法树生成——Python实现
令狐冲慢慢走近,那汉子全身发抖,双膝一屈,跪倒在雪地之中.令狐冲怒道:“你辱我师妹,须饶你不得.”长剑指在他咽喉之上,心念一动,走近一步,低声问道:“写在雪人上的,是些什么字?” 那汉子颤声道 ...
- 代数式转换为c语言表达式(很简单)
随机推荐
- J2SE基本数据结构
1.J2SE中的常用数据结构对象的继承关系如下图 Collection ........|--------List ........|..........|----------ArrayList .. ...
- R语言——基本绘图函数
通过一个综合的例子测试绘图函数 学习的内容是tigerfish老师的教程. 第一节:基本知识 用seq函数产生100位学生的学号. > num = seq(,) > num [] [] [ ...
- C#中:函数访问级别对函数形参访问级别的约束
Inconsistent accessibility: parameter type 'Program.CommandLineInfo' is less accessible than method ...
- 线段树扫描线 HDU 1542
n个矩形 问他们覆盖的面积重复的就算一次 x数组存线段 然后根据横坐标排一下 z 线段树 l - r 就是1 ~ 2*n #include<stdio.h> #include< ...
- 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 ...
- DWR3.0框架入门(2) —— DWR的服务器推送
DWR3.0框架入门(2) —— DWR的服务器推送 DWR 在开始本节内容之前,先来了解一下什么是服务器推送技术和DWR的推送方式. 1.服务器推送技术和DWR的推送方式 传统模式的 Web ...
- The 2014 ACMICPC Asia Regional Xian
2题继续遗憾收场,每次都是只差最后一步.这一场却是之前那么多场中感觉距离奖牌最近的时候.好好总结一下经验教训,复盘之后好好准备下一场北京的最后一战吧. 一开始的状态非常不错,10分钟跟榜完成1A,第二 ...
- <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
Asp.net Mvc 未能加载类型“System.Web.Mvc.ViewPage 的解決方法 2010-11-30 17:31:51| 分类: .net mvc |举报 |字号 订阅 如果多 ...
- 17.4.3 使用MulticastSocket实现多点广播(1)
http://book.51cto.com/art/201203/322560.htm <疯狂Java讲义(第2版)>本书深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法 ...
- CDOJ 1269 ZhangYu Speech
预处理打表,sum[i][j]表示1.....i这些数字中 j 有几个.然后就很好处理询问了. #include<stdio.h> #include<math.h> #incl ...