书接上回
数据类型 运算符 和 表达式(2)
一、转义字符及字符常量
转义字符是由反斜杠\将后面的字符转换成其他的意义
以下为转义字符及其作用:
二、算术运算符
+ 加法
- 减法
* 乘法
/ 除法
注:1.如果是两个整型数 相除 效果相当于是整除
2.程序出错
编译时 出错 --- 语法问题
运行时 出错 --- 逻辑问题 eg:被除数为0
3.除法运算 的 被除数不能为 0
% 求余
注:
1.求余运算的运算数 必须是 整型
2.被(除)操作数 不能为 0
3.求余运算的结果的符号 取决于 左操作数
求余符号的应用:
1、可以用来判断一个数是奇数还是偶数
n%2==1(奇) n%2==0(偶)
2、产生随机数(需配合函数rand使用)
a%N(求余结果范围为0~n)
函数:
rand time
#include <stdlib.h>
int rand(void); //函数原型
功能:伪随机数产生器 (当函数重复使用时产生的随机数相同)
参数 :void 表示不需要提供(实际)参数
返回值:就是 产生的随机数的值
void srand(unsigned int seed);
功能:给rand函数设置一个种子值
参数:seed 设置的种子值
返回值:void 不需要返回值
#include <time.h>
time_t time(time_t *tloc);
功能:获取当前时间的秒数
参数: tloc 需要一个指针 NULL
返回值:返回秒数
++(自增)/ --(自减)
a++(--) //后置++(--) “先用后加(减)”
++(--)a //前置++(--) “先加(减)后用”、
注:
1.运算规则 ,单独使用时,没区别
参与到别的运算中时,此时运算规则发挥作用
2.运算数必须是个左值
3.在函数参数中,不要对同一个变量连续多次 ++ --
左值 能够放在 = 左边的称为左值(可以被定位的) --- 变量
右值 只能放到 = 右边的称为右值(不能被定位的) ---常量/表达式
运算时遇到很多+(-)号时,运算遵循贪心原则
贪心原则:
从左到右,逐个扫描字符,
将字符尽可能多的结合成c语言的运算符
三、运算符的实际应用
1、表达式
由 运算符 与 运算数 构成字符序列
注:
1、表达式都是有值(结果)的
2、表达式都是有数据类型的
2、运算符的优先级
3、不同类型数值混合运算
隐式类型转化:
从右向左 必转
从下到上 不同精度的类型 混合运算时,低精度 往高精度转
4.不同类型混合赋值
赋值运算:运算数=运算数(右运算数赋值给左运算数)
1. 高精度 =>低精度
double/float => int
int
short
long
long long ---- 精度丢失
2. 长类型 => 短类型
int => short --- 高位截断
3. 短类型 => 长类型
无符号 短类型 => 长类型 高位补0
有符号 短类型 => 长类型 高位补 符号位
5、逗号运算
表达式1,表达式2......表达式n
运算结果为最后一个表达式(表达式n)的结果