C语言基础知识学习(二)
来源:互联网 发布:workbanch 导出mysql 编辑:程序博客网 时间:2024/06/06 02:16
C语言基础知识学习之运算符
一.运算符
1运算符及分类
运算符是特定的算术或者逻辑符号。
1)按功能分类
算术运算符、关系运算符、逻辑运算符和按位运算符。
2)按操作数的个数分类
单目运算符、双目运算符和三目运算符。
2运算符的优先级
运算符的优先级分15等级,1级最高,15级最低。
表达式中,优先级高的的先于低的运算,优先级相同的时候,按照运算符的结合性运算。
3运算符的结合性
左结合:多个同级优先级的运算符,从左向右运算。比如算数运算符。
右结合:与左结合相反,比如赋值运算符。
4表达式
表达式:将同类型的数据(常量,变量和函数等)用运算符按照一定规则连接起来的式子。表达式一定有返回值。
表达式后加分号,构成表达式语句。
1)表达式分类
算术表达式、关系表达式和逻辑表达式。
5常用运算符
1) 算数运算符(左结合):+ - * / %
操作数为int型时,结果取整,如果有一个为实数类型,结果为双精度实数。
m/n取余的时候结构正负性取决于m。
2)赋值运算符(右结合) =
作用:把等号右侧的值赋值给左侧的变量。
变量=值(或表达式);
注意:等号左侧一定是变量,不能是表达式。
3) 复合赋值运算符 +=……
先运算后赋值。
a + = 3 作用和 a=a+3;作用一样
4) 自增自减运算符 i++; i--;++i;--i;
i++和++i的区别:
前缀表达式 ++i作用和i=i+1一样
先让变量i自增,之后用自增之后的i值作为表达式的值
后缀表达式 i++
先用i值作为表达式的值,之后i的值再自增
5)sizeof运算符)
作用:给出操作数的存储大小。单位(字节)
用法: sizeof(数据类型/常量/变量/结构体)
注意:sizeof不是函数,编译时进行
6) 逗号运算符
作用:把两个表达式连接到一起,形成逗号表达式。
求值过程:分别求每个表达式的值,以最后的表达式的值作为整个表达式的值。
例 Int a=4,b=6,c=7;
Int result =(a+1,b+1,c+1);逐个求值 最后把c+1的值赋值给result。
逗号表达式不注重求值的结果,注重求值过程中哪些变量的值发生了变化。
7) 关系运算符(左结合)>、<、>=、<=、==、!=
所有的数值都有真假性,非0即真,只有0为假。
关系运算符的返回值只有0和1.
8) 逻辑运算符 (或)||、&&(与)、(非)!
或(左结合):两个表达式只要有一个真值,整个表达式的值就为真。
短路或:前一个表达式的值为真,后面表达式就不进行判断了
与(左结合):两个表达式的值都为真,整个表达式的值才为真。
短路与:前一个表达式的值为假,后面表达式就不进行判断了
非(右结合):非真即假,非假即真。
9) 三目运算符(右结合) ? :
条件表达式? 表达式1:表达式2
如果条件表达式的值为真,表达式1的值为整个表达式的值。
如果条件表达式的值为假,表达式2的值为整个表达式的值。
注意:?和:是成对出现。
例如:
#include<stdio.h>int max(int a,int b){return a>b?a:b; }int main(){int a = 10,b = 20;printf("最大值为%d",max(a,b) );return 0;}
- C语言基础知识学习(二)
- C语言基础知识学习(二)
- C语言基础知识(二)
- C语言基础知识之(二):分支
- c语言基础知识整理(二)
- C语言基础知识整理(二)
- C语言基础知识之二
- C语言基础知识学习系列(一)
- C语言基础知识学习(一)
- C语言基础知识学习(三)
- C语言基础知识学习(数组)
- C语言基础知识学习(一)
- C语言基础知识学习(三)
- C语言基础知识学习(数组)
- C语言基础知识学习(函数)
- C语言学习(二)
- C语言基础知识学习记录
- objective-c语言基础知识总结(二)[201110101650]
- 文件自删除的一些资料与实现
- nginx高负载均衡服务器
- Elasticsearch之重新索引数据、索引别名和零停机时间。
- 脚本引擎执行
- VM虚拟机下安装CentOS7无法上网的解决办法
- C语言基础知识学习(二)
- Java IO笔记(BufferedReader/BufferedWriter)
- 2017 10 04小结
- 使用synchronized的注意点
- 显式类型转换
- PAT 甲级 1079. Total Sales of Supply Chain (25)
- 停课总结(二)
- 表达式类型的自动提升
- C语言版Hello world