【学习总结】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程序的基本框架,还不能做很多事情,甚至还不能做数据的输入 ...
随机推荐
- 深入学习SpringMVC以及学习总结
一.优点: 1.SpringMVC简化web程序开发; 2.SpringMVC效率很好(单例模式): 3.SpringMVC提供了大量扩展点,方便程序员自定义功能: ①.DispatcherServl ...
- Eclipse修改Maven仓库配置
修改Apache-Maven\conf下的settings.xml文件 <?xml version="1.0" encoding="UTF-8"?> ...
- jQuery设置元素的readonly和disabled属性
jQuery的api中提供了对元素应用disabled和readonly属性的方法,如下: 1.readonly $('input').attr("readonly",&qu ...
- Lingo求解线性规划案例1——生产计划问题
凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 说明: Lingo版本: 某工厂明年根据合同,每个季度末 ...
- linux编译64bitHadoop (eg: ubuntu14.04 and hadoop 2.3.0)
Hadoop官网提供的编译好的hadoop-2.3.0.tar.gz二进制包是在32位系统上编译的,在64系统上运行会有一些错误,比如: WARN util.NativeCodeLoader: Una ...
- Docker卸载镜像
Linux服务器Docker卸载某个镜像: 首先输入命令docker images查看当前docker下有多少镜像: 1 [root@iZwz9a191mdam4di3dozk3Z ~]# docke ...
- 【JAVA8】双冒号
现在JDK双冒号是: public class MyTest { public static void printValur(String str){ System.out. ...
- [matlab] 15.罚函数降维
求非线性规划 min f(x)= x(1)^2 + x(2)^2 + 8 s.t. { x(1)^2-x(2)>=0 , -x(1) - x(2)^2 +2 = 0, x(1)>=0 ,x ...
- visual studio发布到远程服务器的IIS
visual studio发布到远程服务器的IIS 1.打开项目,选中发布的项目. 2.右键发布的项目,点击菜单中的“发布”,弹出发布配置窗体,如下图 3.选择“自定义”,如下图 4.填写发布配置的名 ...
- 【vue】vue +element 搭建项目,使用el-date-picker组件遇到的坑
1.html <el-form-item prop="dateTime"> <el-date-picker v-model="messageDataFo ...