zoukankan      html  css  js  c++  java
  • C语言博客作业03--函数

    0.展示PTA总分

    1.本章学习总结

    1.1学习内容总结

    函数定义:

    函数类型 函数名(参数)
    {
    函数体
    }
    函数的用途
    把一部分代码写入函数中,可以多次调用,省空间的同时也让可读性更高,也适合多人合作写代码时使用。
    注意:

    • 函数定义后必须声明
    • 程序的运行都首先从main函数开始

    参数传递
    参数分实参和形参,形参为函数体内的变量,实参为调用时传入的变量
    实参和形参必须一一对应,且类型一致
    参数在函数结束时会被系统回收,因此若要利用函数做计算的话,需要return值回main函数中的变量中
    如果要让参数不在函数结束时被回收,应该在变量定义前面加上static定义为静态变量

    全局变量和局部变量
    全局变量的作用范围为定义后直到程序结束,局部变量为定义后直到当前函数结束
    灵活利用全局变量和局部变量能让程序更简洁,同时也方便写代码的人
    注意:

    • 当全局变量和局部变量同名时,以局部变量为先

    void类型的函数
    该函数无返回值,常用于输出展示文字内容
    即使用了return也只是表示在这里结束,不会返回值

    1.2本章学习体会及代码量学习体会

    1.2.1学习体会

    我太难了。咳咳!划掉
    因为在其他学科上的任务可能比较多,导致专业课的课余时间都没多少时间打pta,感觉写代码的时候有点压力
    特别是在这次大作业中,许多地方都在碰壁,有些能简洁表达的代码一开始写了好长,之后我会尽可能挤时间多花在专业课上(毕竟是以后要吃饭的专业。这句也划掉!

    1.2.2代码累计

    本次综合作业代码量:460

    2.综合作业

    • 本次作业我完成了一下内容
    • 一年级:整十数加一位数的加法,整十数减整十数的减法,两位数减整十数的减法,10以内三个数连加,100以内连加连减混合运算
    • 二年级:1-9以内的表内乘除法,整十数加减法(进位的,退位的),尾数是0三位数加减法(和在一千以内的),整百数加减法(和超过一千的,退位的),10以内除法加法混合运算,有余数的除法
    • 三年级:三位数加减三位数(含连续进位和退位),一位数乘一位、二位、三位数,整十数乘整十数,一位数的四则运算,两位数除以一位数(有余数),万以内的加减法
    • 部分扩展内容尝试

    3.本次作业的函数关系图

    • 上面漏了一个ErrorWarning和CorrectAmount

    4.函数功能及全局变量介绍

    4.1全局变量

    没有定义(捂脸)

    4.2ListMenu函数

    • 真的就单纯用于展示

    4.3CorrectGrade函数

    • 利用循环,当choice不为1-3时返回1,进行一次清屏并重新展示菜单,同时输出警告
    • 该函数用于保证choice的输入正确

    4.4CorrectAmount函数

    • 该函数用来判断输入的非回车键是否是数字,只有当是的时候才能继续进行
    • 二图的代码是用于将符合条件的字符amount转化成数字

    4.5ErrorWarning函数

    • 用于提示用户输入错误,并回到amount的输入

    GradeChoice函数

    • 核心函数,根据选择的年级和输入的题量给出指定的题目
    • 主要用于生成题目与判断答案是否正确,最终返回做对的题目数

    5.运行结果截图,测试用例

    • 界面

    • 输入错误的年级,如输入a

    • 输入正确年级,但输入错误的amount

    • 年级题目类型展示,重新选择提示

    • 一年级

    • 二年级

    • 三年级

    • 结束答题

    • 提前退出(题量5)

    6.测试遇到问题及解决办法

    • 问题:选择年级(choice)时输入了字母,导致程序崩溃
      解决方法:把choice定义成字符型数据处理
    • 问题1:输入题量(amount)为字母时,程序崩溃
      解决方法:定义字符型数据
    • 问题2:do while循环输入时不小心把' '传入判断是否是数字的函数导致出错
      解决方法:多加了amount != ' '的条件为进入数字判断函数的条件
    • 问题:在输入答案的时候输入一串字母,会导致题目瞬间被做掉字母个数的题目或者直接结束或崩溃
      解决方法:暂未,因为数据种类繁多,而且前后代码矛盾,暂未找到合适方法修改

    7.大作业总结

    • 本次作业因为过分在意哪些数据会导致程序崩溃,在代码修改的时候经常导致前后矛盾,有时候错误的地方要一段时间才能发现,导致花的时间很长,也不容易
    • 这是第一次在没有测试点的情况下完成作业,自由度相当高,但是同时也不容易发现自己的错误,充分发挥了调试的功能
    • 本次作业函数分工不够明确,这是我的学的不精,我会继续努力,锻炼自己打代码的能力,以及对函数的应用
  • 相关阅读:
    PsySH——PHP交互式控制台
    CentOS 6.5升级Python和安装IPython
    yii2 邮件发送
    Centos 6.5安装最新版谷歌浏览器-Chrome
    centos 6.5 设置屏幕保护
    PHP实现生成唯一编号(36进制的不重复编号)
    十位用户唯一ID生成策略
    0基础学java_for循环
    0基础学java_while循环
    0基础学java_逻辑变量 逻辑表达式 和条件句
  • 原文地址:https://www.cnblogs.com/bestACG/p/11780067.html
Copyright © 2011-2022 走看看