运算符
来源:互联网 发布:windows跳板机搭建 编辑:程序博客网 时间:2024/05/29 11:11
C 语言中的输入与输出
stdio 标准输入和输出
C 语言是没有定义如何进行输入和输出操作
而是使用库函数调用系统底层的输出与输入驱动程序来完成
printf
scanf
Mac OS X 系统底层提供了输入个输出的功能
而 printf和 scanf 去调用了系统底层的这些函数,才可以完成输入和输出
//------------------------$------------------------------------
scanf 的执行流程
首先系统会提供一个缓存(可以存储用户输入的内容的一段内存)
scnaf 在执行的时候,会首先到缓存中进行扫描
将取得的字符与格式化字符串进行比对,如果比对不成功,那么不读取任何字符函数结束
如果比对成功,那么读取匹配到的数据,然后结束,并将匹配到的数据转换成
必要的格式,赋值给传入的变量
// 分类:
// 功能:
// 基础运算符, 数学运算符,关系运算符, 逻辑运算符,位运算符, 逗号运算符等
// 操作数:
// 单目运算符(一元运算符)
// 双目运算符(二元运算符)
// 三目运算符(三元运算符)
// 初等单双目
// 关系逻辑忙
// 条件赋逗号
// 熟记心不慌
----------------------------------------------------------------------------------------------------
八个二进制位 八个2相乘 2^8 256种
所谓的隐式类型转换,是指小的数据类型与大的数据类型进行运算的时候,会自动的转换
成大的数据类型,不会有数据精度的丢失
1 -> 1.0 + 2.0
大的范围的数据如果转换成小的数据(把一个水盆中的水倒入杯子中?)
所以不会发生自动的隐式类型转换,需要程序员手动的处理
(类型)数据
强制类型转换,或显式类型转换
----------------------------------------------------------------------------------------------------判断闰年(如果年份可以被400正处,或者年份可以被4整除,但是不能被100整除)
如果年份可以被400正处 ||年份可以被4整除,但是不能被100整除
year % 400 == 0 || 年份可以被4整除 &&不能被100整除
@ year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)
year % 400 == 0 || year % 4 == 0 && year % 100 != 0
----------------------------------------------------------------------------------------------------
逻辑中断,逻辑短路
// int isTrue = (-1 > 0) && (num = 20);
// int isTrue = (-1 < 0) || (num = 20);
----------------------------------------------------------------------------------------------------
条件运算符
语法:
表达式1 ? 表达式2 : 表达式3
如果表达式1的值为真,那么整个表达式的值与表达式2的值一样
如果表达式1的值为假,那么整个表达式的值域表达式3的值一样
result = num1 >= num2 ? num1 : num2;
//
// result = result >= num3 ? result : num3;
// result = (num1 >= num2 ? num1 : num2) >= num3 ? ( num1 >= num2 ? num1 : num2) : num3;
//原则:尽量要代码易于读写,就算损失"一点"性能
//------------------------$------------------------------------
++ 自增运算符
-- 自减运算符
用法:
1)前缀用法
int num = 10;
++num;
--num;
2)后缀用法
int num = 10;
num++;
num--;
意义:
num++ 和 ++num
等价与
num += 1
num-- 和 --num
num -= 1
自增自减在复合表达式中的使用
//------------------------$------------------------------------
// 在有++--的运算符的表达式中,
// 在变量的上方写两个数字,用逗号隔开,表示它的表达式的值和变量的值
// 使用的时候,使用前面的表达式的值
//
int num = 10;
// int res = num+++num+++num++;
// 10,11 11,12 12,13
// res = (num++)+(num++)+(num++);
// 10 + 11 + 12
// 11,11 12,12 13,13
// int res = (++num)+(++num)+(++num);
// 实际开发中,禁$止将多个自增自减放到一起运算,禁止将自增自减作为函数参数...
----------------------------------------------------------------------------------------------------
逗号运算符$
,
语法:
(表达式1,表达式2,表达式3, ..., 表达式N)
功能与值
都号表达式从左往右运行里面表达式,但是值为最后一个表达式的值
逗号表达式可以在正常运行过程中插入附带的运行内容
- 运算和运算符
- 运算符
- ??运算符
- 运算符
- << 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- ?? 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- Maticsoft.Framework for Asp.Net框架应用实例(一)
- 科技咨询笔记
- 九度oj 1183
- POJ 2724 Purifying Machine
- 2015-点餐系统(客户端)
- 运算符
- 归并排序
- java:用UDP协议,开发一个聊天工具代码
- HDU 1598 ( find the most comfortable road )
- 01-复杂度1. 最大子列和问题(20)
- Eclipse里添加Tomcat服务器
- leetcode[224]:Basic Calculator
- 字符串指针与char型指针数组
- KNN算法学习--python实现和java实现