【学习打卡】第4天 物联网/嵌入式工程师 第一周
2022/8/7 3:22:50
本文主要是介绍【学习打卡】第4天 物联网/嵌入式工程师 第一周,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称: 物联网/嵌入式工程师
课程章节: 第一周 计算机基础和C语言
主讲老师: 大白老师
课程内容:
今天学习了赋值复合运算符,逗号运算符,三目运算符以及运算符的优先级。
课程收获:
今天算是把运算符学完了,马上就开始第二周的课程了,第二周的课程是C语言的进阶,控制语句,数组,指针,以及函数。期待一下能学到新的知识吧^_^.
开始今天的总结:
赋值符合运算符
比较简单,a+=b相当于a=a+b,a*=b相当于a=a*b,就这样,你学会了举一反三。
逗号运算符与三目运算符
ret = 表达式1,表达式2,表达式3,....,表达式n
功能:按顺序执行表达式,并将表达式n的结果,作为整个表达式的值赋值给ret。
在所有的运算符中,逗号表达式的优先级最低。
a=1,b=2
ret=(a-b,a+b)
结果就是ret=3
ret = 表达式1 ? 表达式2 : 表达式3 ;
功能:判断表达式1是否为真,若是为真则执行表达式2,并把表达式2最终的结果复制给ret,
否则,就执行表达式3,并把表达式3最终的结果赋值给ret。
关于这个三目运算符呢,刚开始学我有疑问,能不能a>b?表达式1: ;
事实证明不可以。为了保证本文的准确性以及可信性,我仔细查阅了一下三目运算符,其实相当于
if(条件) { return 表达式; }else { return 表达式; }
笔者有些东西学的不扎实,所以刚才犯了个错误找了半天才知道为什么
先上代码
int ret=0,a=2.b=1; a<b?ret=a:ret=b; printf("%d\n",ret);
然后报错了,[Error] lvalue required as left operand of assignment。
如果有小伙伴也犯这类错误就要好好记牢了,条件运算符(包括三目运算符)的优先级大于赋值运算符所以这样才是对的:
int ret=0,a=2.b=1; a<b?(ret=a):(ret=b); printf("%d\n",ret);
运算符优先级
不知道大家关于这点是不是头疼呢,在刚接触时感觉要记很多,其实不然。
运算符优先级我个人建议就是记常见的,算术大于逻辑这些,如果遇到的话就查阅资料,跟其他同学聊天时我询问了一下他们的意见,他们说如果真遇到优先级,就给想先算的加上小括号,也是个很好的做法。
今天的课后作业:
下面是答案
最后就是每日一句激励自己以及你我的话:
所谓努力,就是主动而有目的的活动。
这篇关于【学习打卡】第4天 物联网/嵌入式工程师 第一周的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?