【学习总结】C-翁恺老师-入门-总
2019-1-2 翁恺老师C入门视频-启程
代码详见GitHub:
目录
第0周:程序设计与C语言
第1周:计算
第2周:判断
第3周:循环
第4周:循环控制
第5周:数据类型
第6周:函数
第7周:数组
第8周:指针与字符串
第0周:程序设计与C语言
第1周:计算
第2周:判断
第3周:循环
第4周:循环控制
第5周:数据类型
第6周:函数
第7周:数组
第8周:指针与字符串
第4周
------------------------------------------
第1周 -
1-变量定义:找零程序

2-常量定义:const

3-相加:同时多个scanf

4-身高换算:引入浮点类型

5-时间差:表达式引入

6-平均数:运算符优先级

7-交换两个变量:顺便学习调试功能
- 注:Dev软件里的调试功能看起来是图形化的gdb
设置断点运行,停下来的地方是当前命令尚未执行的状态,按下一步才执行并跳转下一步
鼠标光标扫过的变量,可以从左侧栏看到当前状态下此变量的值。


注:这里遇到一些设置问题,详见【问题解决方案】Dev C++ 无法调试的问题与解决
老师说:很多事情都有一般的做法,即套路。阅读,看别人怎么做,你跟着做。
8-plusplus:复合赋值+=、-=和递增递减++、--(递增递减必须要有变量)
讲了一些来源
- a++: a+1以前的值
++a: a+1以后的值
a: 都让a的值+1

9-scanf:如何正确地输入以及一系列可能的问题
scanf() - 括号里的内容是它期望你输入的东西,少了或者不一致就报错
两个变量中间写了逗号,输入时也要有逗号。前面有price,输入时也需要输入price。
后面有空格,或者\n,输入时也得随便给一个数字之类来填补这个空要不然就出错。
(空格不行,回车也不行 - 这两者代表虚无)

10:代码里的零0长得像希腊字母西塔θ的渊源
追溯到电报时代,与英文字母O区分,默认在数字0中间加一撇
------------------------------------------
第二周 -
1-时间差2.0:判断是否借位引入判断机制-if语句
- 注意:从调试可以看出if语句判断为真或假时,程序执行的路子

2-关系运算符-作比较:运算结果是0或1
优先级:较低。比算术低,比赋值高
判断是否相等的==和!=比其他比较运算符低 5>3 == 6>4 :
连续的关系运算是从左到右的 6>5>4: 0

3-找零2.0版,年龄输入输出:判断、注释、流程图
注释:// c99独有 或 /* */
流程图的画法简单介绍


4-找零3.0版:引入if-else语句
流程图一个走这边,一个走那边

5-两数最大值:关于代码孰优孰劣的思考-要足够傻,让尽可能多的人读懂你的代码

6-计算薪水,判断成绩:if-else语句后面可以没有大括号,只做紧跟其后的第一句语句。


7-三数最大值:if-else嵌套时,不加大括号则if会找下面最近的else匹配,与缩进格式无关。
安全的方式是:if-else语句始终加上清晰的大括号,即使只有一条语句

(此处还有另一个例子不过很简单,为了验证if-else的自动匹配,故不再赘述)
8-分段函数:级联if-else if
单一出口问题:好处是这一段只管计算,最终得到的值,下一步再print,但也许还有别的用处呢。单一出口比较好。。

9-if语句的常见错误:
忘了大括号;if后面分号;错误使用==和=;else
==和=:error和warning的区别,能不能产生可执行程序的区别。学会尊重warning!
if()括号里只要是非0就会执行
代码风格:if-else加大括号,括号里缩进,前半个大括号放在上一行。
10-成绩分级:switch-case

- 1-控制表达式只能是整数型的结果
- 2-常量可以是常数或常数表达式,即结果是知道的那种。c99 only
- 3-break分隔了switch内部,case只是开始执行的一个位置,一个路牌,直到遇到break停下来。

11-测试题:输入一个三位数,然后逆序输出
通过取余和整除弄到三个数字,然后乘以100和10并相加得到。
脑子里第一反应除了数组别的什么也没,怎么肥事。。。

------------------------------------------
------------------------------------------
------------------------------------------
------------------------------------------
【学习总结】C-翁恺老师-入门-总的更多相关文章
- 【学习总结】C-翁恺老师-入门-第0周<程序设计与C>
[学习总结]C-翁恺老师-入门-总 1-首先按视频说的下载编辑器 <DevC++> 并一路默认设置: 安装包下载链接 (我有vc6.0不过预感告诉我老师要用类似CS50里那种命令行编辑器? ...
- 【学习总结】C-翁恺老师-入门-第4周<循环控制>
[学习总结]C-翁恺老师-入门-总 1-阶乘:引入for循环 2-控制循环次数:初始化与控制条件的设置 任何一个for循环都可以写成一个while循环 for中的每一个表达式都是可以省略的:for(; ...
- 【学习总结】C-翁恺老师-入门-第3周<循环>
[学习总结]C-翁恺老师-入门-总 1-求一个整数的位数:引入循环while 注:循环体内要有改变循环的机会,要不然就死循环了啊! 注:手写推测程序是否正确. 注:测试程序-边界:个位数.10.0.负 ...
- 听翁恺老师mooc笔记(1)--为何选择学习C
知识点1:众多编程语言,为何选择C? 现在我们的同学喜欢java,也参加很多java的培训班,java是比较热门,但是C语言在工业界依然有重要的地位,在很多领域无可替代,几乎所有和硬件打交道的地方都得 ...
- 《程序设计入门——C语言》翁恺老师 第三周编程练习记录
1 时间换算(5分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果 ...
- 《程序设计入门——C语言》翁恺老师 第五周编程练习记录
1 素数和(5分) 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个 ...
- 《程序设计入门——C语言》翁恺老师 第四周编程练习记录
1 奇偶个数(5分) 题目内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据.程序输出读到的数据中的奇数和偶数的个数. 输入格式: 一系列正整数,整数的范围是(0,1 ...
- 《程序设计入门——C语言》翁恺老师 第二周编程练习记录
1 逆序的三位数(5分) 题目内容: 逆序的三位数: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 提示:用%1 ...
- 《程序设计入门——C语言》翁恺老师 第一周编程练习记录
1 输出“Hello World”(5分) 题目内容: 请输出一行,内容为 Hello World 请注意大小写. 由于这一周只是简单地介绍了C程序的基本框架,还不能做很多事情,甚至还不能做数据的输入 ...
随机推荐
- 持续集成-Jenkins安装部署
1. 安装JDK[java8] 1.1. 软件安装 [yun@mini05 software]# pwd /app/software [yun@mini05 software]# .0_112.tar ...
- LeetCode算法题-Palindrome Linked List(Java实现)
这是悦乐书的第196次更新,第202篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第58题(顺位题号是234).给出一个单链表,确定它是否是回文.例如: 输入:1-> ...
- C语言 汉诺塔问题
//凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 汉诺塔是由三根杆子A,B,C组成的.A杆上有n个(n>1)穿孔圆盘,盘的尺寸由下到上依次变小.要求按 ...
- ES5-ES6-ES7_Promise对象详解
Promise对象概述(什么是Promise) Promise 是异步编程的一种解决方案,比传统的异步解决方案——回调函数和事件——更合理和更强大 所谓Promise,简单说就是一个容器,里面保存着某 ...
- RMQ 字符串 F. Strings and Queries
F. Strings and Queries time limit per test 2.5 s memory limit per test 256 MB input standard input o ...
- RSA简介
RSA概述 首先看这个加密算法的命名.很有意思,它其实是三个人的名字.早在1977年由麻省理工学院的三位数学家Rivest.Shamir 和 Adleman一起提出了这个加密算法,并且用他们三个人姓氏 ...
- PHP 3 函数
PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数. PHP 用户定义函数 除了内建的 PHP 函数,我们可以创建我们自己的函数. 函数是可以在程序中重复使用的语句块. 页面加载时函数 ...
- Memcache分布式锁 转发 https://www.cnblogs.com/li150dan/p/9529090.html
在分布式缓存的应用中,会遇到多个客户端同时争用的问题.这个时候,需要用到分布式锁,得到锁的客户端才有操作权限 下面通过一个简单例子介绍: 这里引用的是Memcached.ClientLibrary.d ...
- Flink知识点
1. Flink.Storm.Sparkstreaming对比 Storm只支持流处理任务,数据是一条一条的源源不断地处理,而MapReduce.spark只支持批处理任务,spark-streami ...
- glance系列一:glance基础
一 什么是glance glance即image service,是为虚拟机的创建提供镜像的服务 二 为何要有glance 我们基于openstack是构建基本的Iaas平台对外提供虚拟机,而虚拟机在 ...