深入学习 数据类型 运算符 表达式 i++,++i

一.

1.转义字符: 
   'n'    //字符 n 
   '\n'   //转换含义 --- 表示换行 
   '\t'   //调到下一个制表符  --- 制表符的宽度 8个字符
   '\b'   //退格 
   '\r'   //回车 --效果是光标回到本行开头

char ch='\101';'\八进制',输出为A

2.隐式类型转换

如图:从右向左  必转
           从下向上  低精度 和 高精度 混合运算时,低精度往高精度转

二.算术运算符

1.    / :就是数学中的÷号 
    (1).如果是两个整型数相除,此时相当于是整除的效果 
    (2).除法运算中 除数不能为 0

2.    %  :取余数
    (1).除数不能为0
    (2).求余运算,运算数不能是小数。必须是整数
    (3).结果的符号 ,取决于 左操作数 的符号

例如: -10%-3=-1; 10%-3=1;只取决于左边操作数;

%的应用:用来判断奇偶数   

一个数%100 的范围:0~99

一个数%50 的范围:0~49

还可以用来产生0~99的随机数

int rand(void);

void srand(unsigned int seed);  //函数原型 
  //void  --- 这个函数 返回值的类型 
  //srand --- 函数名字 
  //unsigned int seed --- 形式参数 //变量 --- 形参 

如:srand(5); //5 实际参数 ---实参 
  rand(); //seed = 1 ---> 一系列的随机数 0 ~ RAND_MAX
  seed = 2 //rand ---新的一系列的随机数

 
  time_t time(time_t *tloc); //时间秒数 
  time(NULL);//返回值就是获的到的秒数值 

第七行代码来实现每次输出的随机数不一样

注意:
    1.编译时 报错  --- 语法错误 --- 检查代码的语法问题 
    2.运行时 报错  --- 逻辑问题 --- 检查思路或逻辑问题

 
3.

优先级 --- 不同优先级的运算 混合运算时,高优先级的先结合 
结合性 --- 同一优先级的运算 混合运算时,按照结合性进行结合。

三、表达式

1、强制类型转换

(类型)运算数  //强制类型转换 需要注意 ,并不会影响运算数本身 

2. i++   //后置加加  --- 先用(表达式的结果) 后加(让i自增)
    ++i   //前置加加  --- 先加(让i自增) 后用(表达式的结果) 
    
    注意: 
    1. i++ ++i如果单独使用,效果上没有区别
    2. 先用后加或先加后用,是参与到别的运算中时,才发挥作用
    3. 运算数,必须是一个可修改变量 

3.表达式的左值右值

可定位的 左值   --- 变量 
不可定位 右值   --- 常量

判断是否可以定位:&a,取地址运算 --- 获取a对应内存空间的首地址 --地址编号

4.考点

编译后会报错,原因

最后一行:((i++)++)+i;i++是右值不能再继续++

5.  i++和++i,

i++占用2块区域,先用i值,再自增,所以需要第二块区域存储i++本身表达式的值,如图。

++i占用一块区域,先自增,再用i值

所以有++i的效率高

6.注意:
   printf("%d %d",i,i++);1.函数传参顺序 2.i++ 先用后加,什么时候加 --没有统一规定 

7.    =运算符

高精度 => 低精度   --- 精度丢失 
长类型 => 短类型   --- 高位截断 
 短类型 => 长类型   --- 短类型是否有符号  
                          无符号 ---高位补0
                          有符号 ---符号位扩展(高位补符号位) 

8. 逗号运算

1+2,a++,3+4 //从左到右,挨个运算 
                     //逗号运算表达式的结果 --- 是整个式子中最后一个表达式运算的结果

输出b=7,a=2

9.

int a='abcd';格式不对,编译会有警告,会被识别成16进制0x61626364

%d:输出它的10进制1,633,837,924

%c:输出d ,高位截断

%#x:输出0x61626364

  • 24
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值