一、实验作业
1.1 PTA题目:递归实现顺序输出整数
1.1.1设计思路
定义函数printdigits,形参为n接收数字
判断n/10是否不等于0
如果是则递归调用函数printdigits(n/10)
输出当前n的最后一位并换行
1.1.2代码截图
1.1.3调试问题
本题比较简单,思路清晰,一遍就过,并无调试问题。
1.2 学生成绩管理系统
二、截图本周题目集的PTA最后排名
三、阅读代码
猴子吃桃
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多
吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天刚好剩一个。问猴子第一天摘了多少个桃子?
我们可以先将这10天分开来看,第十天时剩下一个,而这一个正是“前一天剩下的一半再加一个”,那么第九天就是有2*(1+1)=4
个,此时再将第九天与第八天一起看,则第8天有2*(3+1)
个,由此递推。
四、本周学习总结
1.1.介绍本周学习内容
- 1.函数嵌套调用:可以用main函数解决整个问题,它调用解决小问题的函数,而这些函数有进一步调用解决更小问题的函数,从而形成函数的嵌套调用;采用结构化思想,使代码看起来更加清晰,结构明确。
- 2.递归:利用函数的嵌套调用,可以使函数自己调用自己;递归函数有两个关键点,递归出口和递归式子;这两个条件缺一不可;递归函数实质是把问题简化成形式相同比较简单的一些情况,可以解决一些用其他方法很难解决的问题。
- 3.宏定义格式为:
#define 宏名 宏定义字符串
- 4.宏的用途:(1)符号常量,如PI,数组大小定义,以增加程序的灵活性;(2)简单的函数功能实现;(3)为程序书写带来一些方便,当程序中需要多次书写一些相同内容时,可以把内容简写为宏。注意点:宏只是进行替换。
- 5.#include<需包含的文件名>这个将从系统文件夹里查找;#include"需包含的文件名"这个将从当前文件夹里查找,找不到再从系统文件夹里找。
- 6.编译预处理命令不会被编译。
- 7.指针数组定义格式:
类型名 *数组名[数组长度];
- 8.二级指针:指向指针的指针,定义格式为:
类型名**变量名;
- 9.命令行参数:形式为:
命令名 参数1 参数2 ··· 参数n
。可以在DOS环境的命令窗口中,输入可执行文件名作为命令,运行该程序。
2.学习体会
在经过了快一个学期的学习,我从这门课程中学到了很多;记得在开学之前我就开始接触C语言了,在打出自己的第一个代码Hello World之后,我的内心是无比激动的;后来在经过课堂上的学习与每天打代码练习,我对于C语言的认识也越来越深,代码量也越变越大,从当初的寥寥几行代码,到现在的几百行代码,回顾这个成长的过程,我的有一点成就感。但是随着学习的不断深入,我感觉也越来越难了,比如这一次的学生成绩管理系统,对于提高它的健壮性,我感到有些无从下手;所以我还需要继续不断努力,争取取得一些好成绩。