• C语言博客作业03--函数


    0.展示PTA总分


    1.本章学习总结


    1.1 学习内容总结

    1.1.1 函数组成

    • 函数声明:函数声明指函数原型声明,只有函数名,函数类型,参数个数和类型,无函数体。一般放在主函数前,以分号结尾
      void hollowPyramid(int n);
    • 函数定义:除上述外,去掉结尾分号,加函数体
      void hollowPyramid(int n)
    • 形参:必须是变量,用于接收实参传递过来的值
    • 实参:可以是常量,变量或表达式

    1.1.2 变量

    • 局部变量:作用效果只局限于所在函数内
    • 全局变量:作用范围为全部函数,与局部函数同时出现时局部函数优先
    • 静态局部变量:上次函数调用后的值仍然保存
      static 类型名 变量表

    1.1.3 函数种类

    • 无返回值:void型
    • 有返回值:int型、double型

    1.1.4 return作用

    • 结束函数的运行
    • 带着运算结果返回主函数
    • return语句只能返回一个值

    1.1.5 易错点

    • 定义的函数类型一定要与函数返回值是一个类型
    • 形参和实参是一一对应的
    • 在不返回结果的函数定义中,void不能省略;否则,函数类型被默认定义为int
    • 静态局部变量赋初值只在函数第一次调用时起作用,若没有 赋初值,系统将自动赋0

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

    1.2.1 学习体会

    这两周接触了函数,了解到相同功能的代码可以放在同一个函数中,供其他函数调用,还可以解决代码的重复问题,使得代码量大的变得更加简洁。一开始虽然明白形参和实参的理论概念,但是课堂互动时还是搞不清哪个空该填形参哪个空该填实参,懵懵的。后来PTA上做了题练练手才逐渐了解了函数的相关操作,不过有时候还是会想不清楚要return什么值回主函数,对于函数的使用还是不太上手吧,在以后的作业中希望自己能够多使用函数解题。
    

    1.2.2 代码累计

    PTA函数题集 综合作业 总计
    270 496 766

    2.综合作业——小学生口算系统


    2.1 本次作业的函数关系图

    2.2 函数功能及全局变量介绍

    2.2.1 全局变量

    2.2.2 函数功能介绍

    • void listMenu();//初始界面菜单

    • void level();//一二三年级选择菜单

    • void getScore(int n);//得出分数

    • void rightMessage();//正确信息输出

    • void wrongMessage();//错误信息输出

    • int calculate(int n);//计算

    • int calculate1(int x, int y, int z);//一年级

    • int calculate2(int x, int y, int z);//二年级

    • int calculate3(int x, int y);//三年级

    • double correctRate(double rate);//计算正确率

    • main函数

    2.3 运行结果截图,测试用例

    • 一年级

    • 两位数减整十数

    • 整十数减整十数

    • 100以内连加连减混合运算

    • 二年级

    • 1-9以内的表内乘除法

    • 整十加整十(进位)

    • 三年级

    • 三位数加三位数的加法(含连续进位的)

    2.4 调试碰到问题及解决办法

    1.一开始发现程序不能读入用户所输入的值,即程序里面的youranswer,纠结了很久不知道是为什么,~~后来发现是我傻逼~~后来突然意识到我在scanf里面写了提示语所以不能读入,将文字删除之后就可以正常读入答案了
    
    2.发现一样的题目会输出两遍,用逐语句调试发现是我在判断是否为1的那一段输入了两遍函数,导致函数会运行两次,删除一次之后就完事了~
    
    3.发现第一题输入正确答案后并被判为正确后,继续第二题输入的也是正确答案,但是程序读入的youranswer是上一题的答案,纳闷了很久,我后来是把printf题目后面的
    以及scanf后面的
    删去,再加一个getchar()吸收字符
    
    

    2.5 大作业总结

    编写过程注意事项:

    • 首先在代码复杂的情况下创建一个清晰的思维导图还是很有效果的!!
    • 然后是要保持界面的友好
    • 要确定函数的先后顺序以及在程序中的位置

    碰到的问题:

    • 对于函数的嵌套顺序思考了很久,不熟练
    • 一些不合法的算式比如分母为0、减法不能出现负数的情况需要考虑到,但是我只能控制两位数的减法结果大于0,混合运算会再继续改进的
    • 对于很多要求不能够做到很精确,年级越高题目的要求也越多,由于是随机数,总是不能够调试出合适的数据
    • 一些细微的错误总要通过调试去发现,读代码的能力还有待提高
  • 相关阅读:
    Python multiprocessing相关疑问
    Tornado demo3
    WebSockets
    Tornado Demo1---webspider分析
    Python assert断言
    Python学习之--数据基础
    Python学习之--python概要
    Python学习之--函数/生成器/装饰器
    Python学习之文件操作
    Python操作MySQL数据库
  • 原文地址:https://www.cnblogs.com/hekikimi/p/11779122.html
Copyright © 2020-2023  润新知