C语言博客作业03--函数
0.展示PTA总分
1.本章学习总结
1.1 学习内容总结
1.函数的定义
其一般形式为:
函数类型 函数名(形式参数表) /*函数首部*/
{
函数实现过程 /*函数体*/
}
函数首部:
- 函数类型为函数返回值的类型 。
- 函数名是整体函数的称谓。
- 形式参数表中要给出函数计算所要用到的已知条件。
函数体:
- 需要用return来返回与函数类型相同的值(void除外)。
- return语句只能返回一个值。
2.函数的调用
其一般格式为:
函数名 (实际参数)
- 实际参数可以是常量、变量和表达式。
- 实参与形参必须一一对应,两者数量相同,类型尽量一致。
- 参数传递是单向的,只允许实参把值复制给形参,形参的值即使在函数中改变了,也不会影响在函数外的实参。
1.2 本章学习体会及代码量学习体会
1.2.1 学习体会
通过对函数的学习与运用,让我能够对函数进行分区编写,这样不仅能够将以往一整段繁长的代码分成一个个小的模块来运行,让代码的可读性大大提高,还便于以后查错。另外,灵活地运用函数的return,有时能带来许多方便。也希望老师以后能在课堂上多分享一些函数使用以及其他的关于编程的小技巧。
1.2.2 代码累计
本次综合作业代码量:560
2.综合作业
1.题目:小学生口算表达式自动生成系统
2.本次作业的函数关系图
3.函数功能及全局变量介绍
3.1.全局变量
无
3.2.void ListMenu();
主要用于初始菜单的输出。
3.3.void RightHandling();
当学生答对时,随机从设定好的四句鼓励的句子中输出一句。
3.4.void ErrortHandling(int result);
当学生答错时,随机从设定好的四句安慰的句子中输出一句,并且告知学生答案。
3.5.void GetChoice(int grade,int questionsNum);
输入学生的年纪与题目数量,调用相应的题库,有三个题库,等级为1、2、3,一年级可以调用的等级为1,二年级可以调用的等级为1、2,三年级可以调用的等级为1、2、3。并按所要求的题目数量输出多少道题目,且每做完一道题都会提示是否结束,结束答题后会计算正确率。
3.6.int QuestionsLevelOne();
输出一道难度为一年级的题目,如果回答正确,返回1,回答错误返回0。
3.7.int QuestionsLevelTwo();
输出一道难度为二年级的题目,如果回答正确,返回1,回答错误返回0。
3.8.int QuestionsLevelThree();
输出一道难度为三年级的题目,如果回答正确,返回1,回答错误返回0。
4.运行结果截图,测试用例。
-
一年级
-
二年级
-
三年级
因为高年级可以包含低年级的题库,而且题目都是随机的,所以比较不好找到符合条件的题目,以上测试数据仅为参考,展示程序的大部分功能。
5. 调试碰到问题及解决办法
1.有时候会少加一些回车,导致界面不够整洁
解决方法:不断调试,找到可以输出回车的地方,有时要根据情况放在句子前或后
2.有时会不小心写错条件,导致死循环
解决方法:在程序出现问题时不要忽视,一定要追查到底,不断调试,不断地缩小范围,最终找到错误点。
6.大作业总结
1.本次作业忘记注释了,希望以后养成每次写代码都要注释的习惯,方便以后回来阅读,也方便老师以及其他同学阅读。
2.本次大作业代码量较大,明显让我感受到代码规范的重要性,并且代码尽量要简洁,不要多许多不必要的语句,否则程序的代码量一大,整个程序的可读性就一塌糊涂。
3.在编写代码量大的文件时,应多用函数来分块,并且每一句都要仔细写好,否则出现错误,在代码量多的情况下很难去差错。