嵌入式学习第三天--数据类型及运算符

 一、基本的编程思路
计算机的模型
输入————>cpu————>输出
数据 处理 数据
1.准备数据——准备变量
2.处理数据——对变量进行操作
3.输出数据——输出
eg:



————————————————分隔符————————————————————
二、转义字符
转义
‘n’——字符n
‘\n’——转换含义,换行
‘\t’——调到下一个制表符(制表符宽度8个字符)
‘\b’——退格
‘\r’——回车(效果是光标回到本行开头)
练习1:
abc\tij#k\n
abc ij#k
练习2:
ab*c\t*de\rf\tg\n
ab*c *de
f g
fb*c gde
练习3:
"D:\\abc\\"

char ch = 'A';
char ch = '\101'; //A
char ch = '\x41'; //A

———————————————— 分隔符————————————————————
三、运算符 表达式
1.隐式类型转换


① 从右向左 必转
② 从下向上 低精度和高精度混合运算时,低精度往高精度转
注:强制类型转换——自己手动完成
强制类型转换需要注意,并不会影响运算数本身
2.算术运算
运算符:+ - * / %
/ ——(1).如果是两个整型数相除,此时相当于是整除的效果
(2).除法运算中 除数不能为 0
%—— (1).除数不能为0
(2).求余运算,运算数不能是小数,必须是整数
(3).结果的符号,取决于左操作数的符号
%的应用:1.判断奇数偶数
%2——1 奇数
——0 偶数
2.%N
0~N-1
3.运算符:
优先级---优先级高的,并不一定决定先算,但是一定先结合
结合性
运算的对象个数---单目,双目,三目
优先级---不同优先级的运算,混合运算时,高优先级的先结合
结合性---同一优先级的运算,混合运算时,按照结合性进行结合
4.表达式
表达式由运算符和运算数构成字符序列
表达式都是有值的
表达式都是有数据类型的
5.补充
rand(伪随机)
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)----返回值就是获得的秒数值

6.练习



———————————————— 分隔符————————————————————
四、自增/自减
1.定义 自增---表示一次增加1
自减---表示一次减少1
2.int a =1;
a + + ——后置加加,先用(表达式的结果)后加(让i自增)
+ + a——前置加加,先加(让i自增)后用(表达式的结果)
注意:
① a + + ; + + a如果单独使用,效果上没有区别
② 先用后加 或 先加后用,是参与到别的变量中时,才发挥作用
③ 运算数,必须是一个可修改的量
3.补充
error : lvalue required as increment operand
lvalue------left value (左值)
eg: int a
a =10; 能放在“=”左边的值---左值 (变量)
只能放在“=”右边的值---右值 (常量)
const int a =10--------constant--常量
a其实还是个变量,但是这个变量只读(不能修改)
localtion able value------可定位的左值(eg:变量)
不可定位的右值(eg:常量,表达式)
&a---取地址运算------获取a对应内存空间的首地址---地址编号

浮点类型也可以自增自减
4.贪心法---从左到右逐个扫描,将字符尽可能多的结合成c语言运算符
eg:i + + + + + i-------->i ++ ++ + i------->((i++)++)+i
5.注意
Printf(“%d%d”,i,i++);
① 函数传参顺序
② i++先用后加,什么时候加没有统一规定
建议: m = i;
n = i++;
printf("%d %d\n",m,n);
总之,不要写出别人看不懂的、也不知道系统会怎样执行的程序。
6.总结
1.算术运算
+ - *
/
%
++
--
2.运算符
优先级
结合性
运算的对象个数
3.表达式
运算符 和 运算数 构成的字符序列
表达式都是有值的


———————————————— 分隔符————————————————————
五、赋值运算
1.赋值符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量
Eg: int a;
a=10;----赋值运算
-----赋值表达式
结果就是a的值
类型就是a的类型
注:a=b=c=10---可以连续赋值
a +=1 ------a=a+1
a -=1 ------a=a-1
2.不同类型间混合赋值
高精度------>低精度 (精度丢失)
低精度------->高精度 (不影响)
长类型------->短类型 (高位截断)
短类型-------->长类型 (无符号,高位补0)
看是否有符号位 (有符号,符号位扩展--高位补符号位)

———————————————— 分隔符————————————————————
六、逗号运算(顺序求值运算符)
1.语法
表达式1,表达式2,表达式3,.....,表达式n
2.逗号运算的过程
Eg:1+2,a++,3+4 ------从左到右,挨个计算
逗号运算表达式的结果,是整个式子中最后一个表达式运算的结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值