运算符、表达式和条件结构

内容概要:各种运算符的使用

运算符的优先级

表达式的计算

条件分支结构判断的常用结构

表达式:

表达式是运算符和操作数的组合,如下所示:

s = ( n + 9 ) * ( k / 6)

其中,n + 9 和 k / 6分别是一个表达式

运算符:

1.赋值运算符,=;它在C语言中不叫等号,也不意味着相等,而是一个赋值符号。如下例:

double sam;

sam = 24.36;

这里应该这样理解,我们声明了一个double类型的变量sam,然后把24.36赋值给sam。赋值运算符的计算顺序是从右往左。

2.复合运算符,+=、-=、*=、/= %= 等等;最直观的理解方式就是它有两个运算符号,并且其中有赋值运算符。如下例:

int num;

num = 3;

num += 10;//相当于num = num + 10,输出结果则为13;意思就是它本身加上3再赋值给它本身。

num -= 10;//同理相当于num = num - 10,

num *= 10;//相当于num = num * 10

3.算术运算符,可以进行算术运算。并且分成两类。

a.一元运算符,++、--

b.二元运算符,+、-、*、/、%

二元运算符中前四个和数学中的加减乘除大同小异,第五个%的意思是取模,即取余数,如5 % 2的值是1,这里我们着重理解一元运算符,如下例:

int num = 5;

num++;   //这里的num++相当于num = num + 1

printf("%d",num);

这里最后打印的值应该是6。--同理,它们在变量的左右都不影响计算方式。

然后我们再看一种情况:

int num,result;

num = 5;

result = num++;  //有赋值运算符,则需要考虑一元运算符的位置来确定优先级。

printf("%d\n",result);

printf("%d\n",num);

这里我们要注意,在有赋值运算符的情况下,我们要根据一元运算符的位置来决定我们是先赋值还是先计算它,如果一元运算符在变量的左边,那我们要先计算,如果它在变量的右边,那么我们就要先赋值再计算,所以这里result的值是依然是5,num的值是6。

4.关系运算符,可以比较大小、高低和长短。

a. >   、

b. >=   、 <=,大于等于和小于等于

c. ==   、!=,恒等于和不等于

在C语言中,0表示假,1(非零)表示真,高级语言中才有true(正确)和flase(错误),但是C语言是一 门很老的语言是没有的。所以我们看一下下面例子:

prinf("%d\t%d\n",5 > 8,10 < 20);

输出结果为01,因为5 > 8为假,10 < 20为真

5 .逻辑运算符,且(&&)、或(||)、非(!),它们和数学中学的逻辑关系相似。

a. && ,条件1 && 条件2,两个条件同时为真时,结果为真。

b. || ,条件1 || 条件2,两个条件中有一个为真时,结果为真。

c. ! ,! 条件,条件为真时结果为假,条件为假时结果为真。

6.sizeof运算符,使用此运算符可以获得数据类型占用内存空间的大小,数据类型可以是一个具体的值,也可以是数据类型的关键字。

基本用法很简单:sizeof(),结果是以字节为单位,它是用来计算括号内数据的类型所占的字节,如下:

printf("%d\n",sizeof(35));  //35是整型数据,所以所占字节是4个

printf("%d\n",sizeof(char));  //char是字符型,所以所占字节是1个

printf("%d\n",sizeof(35.3f));  //35.3f是单精度浮点型,所以所占字节是4个

printf("%d\n",sizeof(35.63987));  //35.63987是双精度浮点型,所以所占字节是8个

所以打印结果分别是:4,1,4,8

运算符优先级:

从上到下的优先级(靠前的优先级最高)

() ,  sizeof(),  ++,  --

!     非

算术运算符 +, -, *, /, %

关系运算符 > , < , >= , <= , == , !=

&&  且

||      或

赋值运算符  =

其中,括号的优先级最高,赋值运算符的优先级最低,算术运算符中先算乘除后算加减。

例:C语言中打印!((18 + 45 % 3 * 5) > 16)的结果是什么

根据优先级不难看出,我们要先算45 % 3为 0 , 0 * 5依然是零,所以结果就是我们要算!(18 > 16),18 >16为1,所以这个题打印结果为0。

条件建构:

1.if结构,语法结构如下所示:

if(条件为真)                {

//代码块1;

}

else

{

//代码块2;

}

if语句遵循先判断后执行,如果(if)条件为真,那我们执行代码块1,;否则(else),我们执行代码块2,如果有多种可能,那我们可以在其中穿插else if()来继续执行。(多重if结构)

2.switch结构,语法结构如下所示:

switch(表达式)

{

case常量1:

语句1;

break;

case常量2:

语句2;

break;

......

default:

语句;

}

switch语句通常用来探讨区间内的值,一般用来处理数轴中某几个点的情况。

switch代表开关,意思就是我们打开这个switch(开关)探讨可能会出现什么case(情况或者案例),break(中断)在这里是跳出这个switch结构的意思,结构中就是说,如果switch中的表达式出现常量1的情况,那我们执行语句1,并且跳出这个结构,如果没有出现常量1的情况,那我们就看常量2,以此类          推。直到我们程序中的case都被执行完还不满足,那我们就执行default中的语句。使用switch结构时的注意点:

1.switch后的小括号里的表达式只能是整型或字符型

2.case后常量表达式的值不能相同

3.case后允许有多条语句,不需要大括号

4.如果不添加break语句,需要特别注意执行程序

5.case和default的先后顺序可以自行变动   //如果放在case之前,需要注意加break让它中断。

6.default子句是可以省略的

多重 if 结构和 switch 结构都是处理多分支条件的结构,switch适用于条件是有限个的小范围区间内,而多重if 能判断某个连续区间时的情况。

本章总结:

各种运算符的使用,赋值运算符(=)、算术运算符(一元 ++、--,二元 +、-、*、/、%)、关系运算符(>、=、<=等)、逻辑运算符(或||、且&&、非!)、复合运算符(+=、-=、*=、/=、%=等)

表达式的运算,以及它们的优先级。(重点优先级)

条件分支判断的常用结构(if,多重if,switch)

问题:

运算符的优先级?先算什么再算什么?多练习。运算符各自应用在什么地方?条件分支判断结构的练习?

c语言表达式用法,C语言 运算符、表达式和条件结构 用法总结相关推荐

  1. 3.运算符、if条件结构

    运算符.if条件结构 关系运算符 == != < > >= <= 1.关系运算符运算的结果是boolean类型 2.可以使用boolean类型的变量接收关系运算的结果 publ ...

  2. c语言表达式用法,C语言开发之运算符、表达式用法

    C语言中运算符和表达式数量之多,在高级语言中是少见的.正是丰富的运算符和表达式使C语言功能十分完善.这也是C语言的主要特点之一.C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性.在 ...

  3. C语言基础之5:运算符、表达式和语句

    Tips1: 关键字:while.typedef 运算符:=.-.*./.%.++.--.(类型名) C语言的各种运算符,包括用于普通数学运算的运算符 运算符优先级以及语句.表达式的含义 while循 ...

  4. c语言运算符与表达式ppt,c语言运算符与表达式.ppt

    c语言运算符与表达式.ppt 第三讲 运算符与表达式 运算符与表达式 [例] 自增.自减运算符的用法与运算规则示例. /*程序功能:自增.自减运算符的用法与运算规则示例*/ main int x 6, ...

  5. c语言等号 逗号,C语言逗号运算符和逗号表达式

    在C语言中逗号","也是一种运算符,称为逗号运算符. 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式.其一般形式为:表达式1,表达式2 其求值过程是分别求两个表达式的 ...

  6. c语言表达式10 3的结果是,C语言程序设计--第3讲运算符与表达式.ppt

    C语言程序设计--第3讲运算符与表达式资料 §3.10 逗号运算符和逗号表达式 逗号表达式的一般形式可以扩展为 表达式1,表达式2,表达式3,--,表达式n 它的值为表达式n的值. 逗号运算符是所有运 ...

  7. c语言中短路逻辑有与有或例子,C语言零基础教程之运算符和表达式,全面解析,轻松上手...

    运算符和表达式 运算符:运算符用于执行程序代码运算,会针对一个以上操作数来进行运算.例如:2+3,其操作数是2和3,而运算符则是"+" 操作数:是运算符作用于的实体,操作数指出指令 ...

  8. c语言字符型运算符,C语言试题:数据类型、运算符与表达式

    <C语言试题:数据类型.运算符与表达式>由会员分享,可在线阅读,更多相关<C语言试题:数据类型.运算符与表达式(4页珍藏版)>请在人人文库网上搜索. 1.3 数据类型.运算符与 ...

  9. 单片机C语言中的位运算符,单片机c语言教程第八课 运算符和表达式(位运算符)...

    学过汇编的朋友都知道汇编对位的处理能力是很强的,但是单片机C语言也能对运算对象进行按位操作,从而使单片机C语言也能具有一定的对硬件直接进行操作的能力.位运算符的作用是按位对变量进行运算,但是并不改变参 ...

最新文章

  1. jQuery学习(第一天)
  2. maven jdk 版本配置
  3. 小贷公司的风险成因及应对策略——风险篇
  4. spring 配置项 随机_Spring Boot--从配置文件中获取随机数
  5. 学校做计算机教室锐捷,锐捷网络云课堂:让学生爱上每一节课
  6. This property is obsolete now. Use the TextPattern property instead.的警告解决办法
  7. 关于win7系统重装完鼠标不能用的解决办法
  8. 微软流媒体服务器直播,流媒体服务器Flussonic Media Server对直播流进行录制
  9. 多源异构网络安全关联分析
  10. 【便签纸】记录一次Linux服务器上通过sftp上传文件时的错误
  11. std__vector介绍
  12. Flutter 跨平台框架中的 Widgets,你了解多少?
  13. 很不错的免费电影网站中国影视库mdbchina.com
  14. 八爪鱼软件爬取数据的操作流程
  15. linux 驱动笔记(四)
  16. “耳根”发布新作《一念永恒》,交易记录
  17. 如何轻松安装 Debian Linux 系统
  18. c 语言token函数,科普 | Compound的cToken及相关核心函数
  19. RMAN实战1:RMAN备份数据库、控制文件、参数文件、FRA、归档日志
  20. 江西理工大学理学院计算机,2016年江西理工大学理学院计算机科学与技术(加试)之C程序设计复试笔试最后押题五套卷...

热门文章

  1. 安卓开发之apk自动安装代码
  2. okGo详细使用步骤(一)
  3. QWT--添加Label
  4. 【Android】小米手机 Root全攻略:轻松获取手机最高权限
  5. vue-cli3.0移动端使用的轮播插件
  6. 如何在个人博客中插入Jsbin或者jsfiddle代码
  7. php html 锚点,html中怎么设置锚点定位?设置锚点定位方法汇总
  8. 如何搭建类似湖南卫视芒果TV直播的APP后台软件系统
  9. Linux服务架设篇--traceroute命令
  10. LeetCode 169 Majority Element(Majority Voting Algorithm)