C语言:运算符,表达式与语句
1.赋值预算 =
//给变量赋值,在赋值过程中存在左值和右值
左值:
在赋值号=左边的变量
左值必须是变量
表示变量在内存中的空间
右值:
在赋值号=右边的值
右值可以是常量,变量,表达式等
表示一个数值
赋值:从右到左赋值,就是将右边的值保存到左边的变量空间中。
例如:
int a,b,c ;a = 10; //正确10 = a; //错误b = a; //正确c = 2+4; //正确
2.算数运算符:+ - / % ++ –
取余运算%:
左右两边必须是整数
++和–:
对某个变量空间中的值加1;然后再保存到变量的空间中
如果++和–在变量的右边,则先取变量的值参与其他运算,最后再对变量++或–
例如:
int a = 5,b = 3,c;c = a + b++; a = ? //5 b = ? //4 c = ? //8
如果++或–在变量的左边,则先对变量++或–,然后再取出变量的值,参与其他运算
例如:
int a = 5,b = 3,c;c = a + ++b; a = ? //5 b = ? //4 c = ? //9
3.逻辑运算:! && ||
逻辑运算一般用于条件判断句中
//真假值运算
逻辑取反: !----------- 把真变假,把假变真
逻辑与:&& ----------- 按下面的真值表运算
表达式A && 表达式B = 结果
表达式A | 表达式B | 结果 |
---|---|---|
真 | 真 | 真 |
真 | 假 | 假 |
假 | 真 | 假 |
假 | 假 | 假 |
//如果表达式A为假,则表达式B不会执行,结果直接为假
逻辑或: || -------- 按羡慕的真值表运算
表达式A || 表达式B = 结果
表达式A | 表达式B | 结果 |
---|---|---|
真 | 真 | 真 |
真 | 假 | 真 |
假 | 真 | 真 |
假 | 假 | 假 |
//如果表达式A为真,则表达式B就不会执行,结果直接为真
4.位运算: ~ & | ^ << >>
整数的位运算,指的是按二进制位进行逻辑运算
例如:
char a = 5, b = 3; a : 0000 0101 ~a: 1111 1010 ---> -6 //对应二进制位取反a : 0000 0101 b : 0000 0011a & b : 0000 0001 ----> 1 //对应的二进制位同为1,结果则为1,否则结果为0a : 0000 0101 b : 0000 0011a | b : 0000 0111 ----> 7 //对应的二进制位同为0,结果则为0,否则结果为1a : 0000 0101 b : 0000 0011a ^ b : 0000 0110 ----> 6 //对应的二进制位相同为0,不同为1//左移位:在最右边补0即可 a : 0000 0101 a<<2: 00 00 010100 ---->20 //右移位:无符号数:在左边补0;有符号数:整数左边补0,负数左边补1a : 0000 0101 a>>2: 0000 0001-->01 ---->1-6 : 1111 1010-6>>2: 1111 1110-->10 -----> -2
5.关系运算:> >= < <= == !=
//比较两个数的大小,关系运算的结果为bool类型的值
int a = 5, b = 3;a > b ---> 真 a < b ---> 假a == b ---> 假a != b ---> 真
6.复合运算:+= *= <<= &= !=
//算数运算,位运算和赋值运算合并使用,就是复合运算
//当一个变量即出现在左值,又出现在右值,则可以使用复合运算
例如:
int a = 5, b = 3;a = a + b; ----> a += b;a = a <<2; ----> a <<= 2;
7.条件运算: ? :
格式:
表达式1 ? 表达式2 : 表达式3
//如果表达式1为真,则结果取表达式2的值,否则为表达式3的值
例如:
int a = 5, b = 3;a < b ? 20 : 10 //如果a<b为真,则结果为20,否则,结果为10
8.逗号运算: ,
将多个表达式一起运算,运算结果取最右边的表达式的值
例如:
int a = 5, b = 3;c = (a=1,b=2,a+=b,a+b) //c = 5
9.sizeof运算符
//用于计算变量在内存中的空间长度,或者类型的大小
char a;
short b;
double d;
//变量空间的大小
sizeof(a) --> 1 或 sizeof a --> 1
sizeof(d) --> 8 或 sizeof d -->8
//计算类型长度
sizeof(char) = 1
sizeof(double) = 8
C语言:运算符,表达式与语句相关推荐
- 《C Primer Plus》第五章-运算符 表达式和语句(笔记、复习题、编程题,副作用和序列点,升降级)
文章目录 运算符 表达式和语句 本章内容 循环简介 基本运算符 赋值运算符:= 几个术语:数据对象.左值.右值和运算符 加法运算符:+ 减法运算符:- 5.2.4 符号运算符:-和+ 乘法运算符:* ...
- 第五章运算符表达式和语句
title: 第五章 运算符.表达式和语句 author: HardyDragon tags: C Notes 第五章 运算符.表达式和语句 5.1 循环简介 5.2 基本运算符 5.2.1 赋值运算 ...
- C语言基础之5:运算符、表达式和语句
Tips1: 关键字:while.typedef 运算符:=.-.*./.%.++.--.(类型名) C语言的各种运算符,包括用于普通数学运算的运算符 运算符优先级以及语句.表达式的含义 while循 ...
- 0x5的c语言表达式是,0X05 运算符、表达式跟语句
0X05 运算符.表达式和语句 如果有很强劲的逻辑能力,或者是构思已久的话,你可以写一个很复杂的表达式,但为了使代码方便阅读,最好一个表达式不要超过3个运算符.(这里的语句,并不包含代码块),使用自增 ...
- C语言之运算符,表达式和语句总结
目录 前言 一.各种运算符 Ⅰ.算术运算符 Ⅱ.赋值运算符 Ⅲ.关系运算符 Ⅳ.逻辑运算符 Ⅴ.条件运算符(?:) Ⅵ.逗号运算符(,) Ⅶ.位运算符 Ⅷ.其他运算符 二.优先级大总结 三.类型转换 ...
- c语言关键字不做标识符,C语言标识符、关键字、注释、表达式和语句
这一节主要讲解C语言中的几个基本概念. 标识符 定义变量时,我们使用了诸如 a.abc.mn123 这样的名字,它们都是标识符(Identifier). 标识符就是程序员自己起的名字,除了变量名,后面 ...
- c语言的运算答案,C语言运算符与表达式的练习题答案.doc
C语言运算符与表达式的练习题答案.doc C语言运算符与表达式的练习题单项选择题 1以下选项中,正确的 C 语言整型常量是( D ). A. 32L B. 510000 C. -1.00 D. 567 ...
- python基本对象_python基础教程:运算对象、运算符、表达式和语句
编程的本质就是数据和运算,数据由基本数据类型.数据结构来表示,运算就是对这些数据的各种操作,基本的加减乘除.是非判断.流程控制等等.这些操作就是今天我们要讲的运算符.表达式和语句. 前面我们学习Pyt ...
- C语言为运算表达式添加括号,读书笔记-c语言-运算符与表达式
1.算术运算符:+-*/% %要求参与运算的两个量必须是整型或字符型的,实型(float,double等)的数据不能做%运算. 算术表达式 运算符和数据可以组成运算的式子,称为表达式.举例:10+20 ...
- C | 运算符、表达式和语句
目录 一.循环简介 二.基本运算符 2.1 赋值运算符:= 2.2 加法运算符:+ 2.3 减法运算符:- 2.4 符号运算符:-和+ 2.5 乘法运算符:* 2.6 除法运算符:/ 2.7 运算符优 ...
最新文章
- android快速打包工具下载,【Android】多渠道打包,其实可以更快
- windowskb2685811补丁_KB898461补丁
- 现代制造工程课堂笔记06-集成电路制造工程
- python商城源码_腾讯大佬用了10小时讲完的Python,整整400集,拿走不谢
- TFS源代码管理的8大注意事项
- Postgresql中存储过程(函数)调用存储过程(函数)时应用注意的问题
- 怎样提高文章原创度,被快速收录?
- Android集成阿里热修复(Hotfix)
- JavaScript 实现延迟合并处理任务
- 里氏转换,arraylist,path,file
- 信息学奥赛一本通:题解目录 (〃‘▽‘〃)点个赞吧
- Windows Server 2008 R2 C盘空间不足解决方法
- numpy.take()用法
- Tornado 源码分析(一)
- limbo模拟器安装linux,limbo模拟器win10镜像安装使用教程(附下载)
- 84. 从视图索引说Notes数据库(下)
- 优秀架构师必须掌握的架构思维 - 菜鸟架构(转载)
- 计算机二级excel服装采购表,计算机二级excel真题:制作采购成本分析表
- 前端、后端、学习网址
- 在Qt的公式计算中输入常量数值时的注意点
热门文章
- 这几天的学习进度总结
- poj1743--Musical Theme(后缀数组)
- 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- DisJSet:Wireless Network(POJ 2236)
- FMS Dev Guide学习笔记(SharedBall)
- php提取淘宝URL中ID的代码
- notepad++ :正则表达式系统教程(zz)
- 少了unicon-tools是不行滴
- 初学者python笔记(迭代器、生成器、三元表达式、列表解析、send()与yield())
- 宽依赖和窄依赖_Kardemir开始生产窄钢板,进入板材市场