2022-2023-1 20221408《计算机基础与程序设计》第六周学习总结
第六周学习总结
作业信息
- 这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
- 这个作业要求在哪里:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06
- 这个作业的目标:总结本周学习内容
- 作业正文:https://www.cnblogs.com/liudi20221408/p/16773067.html
教材学习总结
计算机科学概论
- 在循环发生前,要先将变量/事件初始化,然后才能进行测试和更新
- 字符串不可分割
- 搜索:set position to xx
- 顺序搜索就是进行循环不断在原位置的基础上加一,直到找到该位置循环结束
- 在算法中通常使用index而不是poisition
- 二分检索就是将数据分成一半,并根据原组中间项与所查找的数据比较选择哪一半,若在前一半则从新数据中间开始检索,若在后一半则从后一半的起点处开始
- 排序:先find,后move
- 递归:算法调用自己本身
- 快速排序中的分裂值一般选用数组中的第一个值
C语言程序设计
- 注意一些运算符比如:=是赋值,==才是运算符号
- !=表示不等于
- 0表示假,非零表示真
- 判断语句:if(判断条件)
- else 表示否则xxxx
- else if用于多分支
- switch语句:
switch(表达式)
{
case 常量1:
可执行语句序列1
···
case 常量n:
可执行语句序列n
default:
可执行语句序列n+1
}
- 程序测试不能证明程序无措
教材学习中的问题和解决过程
- 问题1:return 0指结束程序,递归阶乘代码中的return 1和return*Factorial是什么意思
- 问题1解决方法:查询百度得return 1表示结束递归
-
假设你输入的正整数是3,即number=3
那么执行 result =factorial(number),就会调用factorial,此时n=3,
第一次执行factorial,n=3,if判断,不满足条件,执行else后的语句,即return 3*factorial(3-1)
这时遇到函数调用,先去执行函数调用,即递归执行factorial(2)
第二次执行factorial,n=2,if判断,不满足条件,执行else后的语句,即return 2*factorial(2-1)
这时遇到函数调用,先去执行函数调用,即递归执行factorial(1)
第三次执行factorial,n=1,if判断,满足条件,执行 return 1,函数返回 1,返回到上次调用的地方
即返回到第三次调用的地方,继续执行 return 2*factorial(2-1),现在得到的是return 2*1,返回 2,返回到上次调用的地方
即返回到第二次调用的地方,继续执行return 3*factorial(3-1),现在得到的是 return 3*2,返回6,返回上次调用的地方
即返回到第一次调用的地方,现在得到result=6 - 问题2:图7-12的冒泡排序示例是从Bob开始的,为什么
- 问题2解决方法:参考网页:(4条消息) 冒泡排序从前向后/从后向前实现_南隅笙箫的博客-CSDN博客_冒泡排序从后往前
- 在c++中,j=n-1从后向前,j=0从前向后
代码调试中的问题和解决过程
- 也不算是问题吧,就是在看到一些习题时思维还停留在浅层,写出来的代码也很麻烦。因为我还没有连校园网所以没有使用哈工大的网站,我就在信息协会的学长发的网站里自行练习了,每次做完不管对错都会看看优质题解,有很多种方法,打开了新的思路,非常受益。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | |
第一周 | 150/150 | 2/2 | 17/17 |
第二周 | 100/250 | 1/3 | 15/32 |
第三周 | 200/450 | 2/5 | 16/48 |
第四周 | 230/680 | 2/7 | 17/65 |
第五周 | 200/880 | 2/9 | 20/85 |
第六周 | 350/1230 | 5/14 | 14/99 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现