| 这个作业属于那个课程 | C语言程序设计II |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9981 |
| 我在这个课程的目标是 | 学会独立写一些小程序 |
| 这个作业在哪个具体方面帮助我实现目标 | 学习和掌握do-while语句 |
| 参考文献 | 《C语言程序设计》《C primer plus》百度 |
1.PTA实验作业

1.1 jmu-c-二进制转10进制
1.1.1数据处理
- 数据表达:运用字符型变量ch表示输入二进制各位字符,用整型变量sum表示对应的十进制输出值
数据处理:
运用了while语句和if-else分支结构
伪代码:if ch=i
十进制sum=sum2+1
else if ch=0
十进制sum=sum2=0
else ch=!0/1
输出error input!1.1.2 实验代码截屏

1.1.3 造测试数据
| 输入 | 输出 | 说明 |
|---|---|---|
| 11111111 | 225 | 八位数二进制 |
| 34 | error input! | 不是二进制 |
| 0001010 | 18 | 七位数二进制 |
| 347261 | error input! | 不是二进制 |
1.1.4 PTA提交列表及说明

列表说明:
* 未将sum赋值,导致部分错误
* 输出时未表达sum的类型,导致部分错误
1.2 爬动的蠕虫
1.2.1 数据处理
- 数据表达:定义整型变量s,n,u,d,count分别表示蠕虫的长度,井的深度,蠕虫每分钟爬行的距离,休息过程中蠕虫下滑的距离,爬行的次数
数据处理:
do-while语局和if的循环结构
伪代码:do
蠕虫总路程为s+d
循环count次
if s>=n时,说明蠕虫长度大于井的深度
else s<n,则输出数据1.2.2 实验代码截图

1.2.3 造测试数据
| 输入 | 输出 | 说明 |
|---|---|---|
| 12 3 1 | 11 | 爬出井用了11分钟 |
| 17 8 4 | 7 | 爬出井用了7分钟 |
| 23 3 7 | 无数据 | d>u |
1.2.4 PTA提交列表及说明

列表说明:
* for循坏结构的循环条件写成了s>=n;count++,导致编译错误
2.代码互评
同学代码截图

自己代码截图

对比:
* 同学代码只有了do-while语句就解决了问题,比较简单,但是变量定义的比较多,看起来比较繁琐
* 我的代码同时运用了do-while语句和for循环,结构上比较复杂和繁琐,还需要一定的改进
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问提 |
|---|---|---|---|---|
| 第一周 | 6h | 74 | 学习基本的C语言语法和知识,初步了解和接触C语言 | 不知道自己编的程序的正真用法 |
| 第二周 | 13h | 102 | 学习了解C语言的一些基础模式和变量 | 无法正确的解释代码中不同量的意义 |
| 第三周 | 15h | 156 | 学习C语言的一些基本函数和变量模板 | 无法正确使用各类函数类型和变量类型 |
| 第四周 | 15h | 130 | for语句和循环结构 | 运用for语句时变量的控制及其循环时各表达式的书写 |
| 第五周 | 12h | 273 | 学习调用,定义,说明函数 | 无法正确运用各种函数,不明白什么时候定义什么类型的函数 |
| 第六周 | 16h | 270 | 学习使用分支结构,和if-else与分支结构的合并使用 | 对于分支比较复杂的无法正确的分层 |
| 第七周 | 7h | 109 | 学习switch语句,并且运用switch语句 | 不知道表示case范围时,该怎么用switch语句编写 |
| 第八周 | 9h | 89 | 学习do-while语句,并且掌握switch语句 |
3.2 累积代码行和博客字数

3.3.1 学习内容总结

3.3.2 学习体会
- C语言仿佛将我的激情全部打碎了,发现自己的脑子不太好使了,switch语句的分层把我搞懵逼了,if-else可能还好用一些。
- 通过学习C语言真的是让人感受到悲伤,大佬就十分大佬,懵逼就一直懵逼,真的是让人心累,害怕挂科,怎么搞。
- 伪函数是什么东西也不太清楚,大概依葫芦画瓢写得,自己心里虚的很。

