表达式是使用运算符连接起来的式子,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. HDU 5741 Helter Skelter

    离线处理+扫描线.题意很容易转化:若干个矩形形成并集,询问一些点是否在并集中? 官方题解不是这样做的....那种做法效率更高,暂时还不会.我这样是4500ms G++过的,C++TLE...... 区 ...

  2. Disassembly3:variable

    Initializer C++ Primer上说:如果未初始化的Built-in type是定义在function外部的,那么它将自动被初始化为“0”:如果uninitialized的built-in ...

  3. mysql建库

    CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE 的语法: CRE ...

  4. MyEclipse报错 Building workspace has encountered a problem Errors occurred during the build 的2种解决方法

    1: Building workspace has encountered a problem Errors occurred during the build 如果报错这个 那么有可能是jar包,报 ...

  5. BroadcastReceiver的两种注册方式之------静态注册

    activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  6. jenkins邮件设置

    不要忘记上面的系统管理员的邮箱也要先填好.

  7. Naive Bayes在mapreduce上的实现(转)

    Naive Bayes在mapreduce上的实现 原文地址 http://www.cnblogs.com/sunrye/p/4553732.html Naive Bayes是比较常用的分类器,因为思 ...

  8. HDU 1887 Weird Numbers(负数的进制转化)

    题目要求有两种情况,第一种from情况,正常输出即可,很简单.第二种是to情况,给一个数字,输出负进制R的原码,这个有点小麻烦...解决方法如下; 首先,把这个数n按正常方式展开,形式如下: .... ...

  9. Init.rc分析(刘举奎)

    http://www.360doc.com/content/14/0926/20/13253385_412582822.shtml

  10. jquery.proxy的四种使用场景及疑问

    作者:zccst 其实只有两种使用方式,只不过每一种又细分是否传参. 先给一段HTML,后面会用来测试: <p><button id="test">Test ...