zoukankan      html  css  js  c++  java
  • 博客作业--函数

    0.PTA总分

    1.本章学习总结

    1.1 学习内容总结

    • 1.函数的定义:函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种。例如scanf()、printf()等为库函数,由c语言系统提供定义,编程时只要直接调用即可;cylinder()、fact()需要用户自己定义,属于自定义函数。

    • 2.从函数实现计算功能角度来看,C语言和数学上的函数概念十分接近。数学中函数的自变量 C语言中称为函数参数,数学中函数f(x)计算后有结果值,C语言中必然为某一种数据类型,称其为函数类型。

    • 3.函数首部由函数类型、函数名和形式参数表组成,位于函数定义第一行。形参表中各个形参用逗号分隔,每个形参前面的类型必须分别写明。函数的形参的数量可以是一个,也可以是多个,或者没有形参。

    • 4.函数首部不能加分号,它和函数体一起构成完整的函数定义。

    • 5.任何c程序执行,首先从主函数main()开始,如果遇到某个函数的调用,主函数被暂停执行,转而执行相应的函数,该函数执行完后将返回主函数,然后从原先暂停的位置继续执行。

    • 6.函数定义时,位于其首部的被称为形参,主调函数的参数被称为实参。程序运行到函数调用时,实参的值依次传给形参,这就是参数传递。

    • 7.函数的形参必须是变量,实参可以是常量或表达式,实参和形参一一对应,数量应相同,顺序应一致,初学时建议类型也应一致;return可以是结束函数的运行,也可带着运算结果返回主调函数,return语句只能返回一个值。

    • 8.C语言要求函数先定义后调用;如果在调用函数前,既不定义也不声明,程序编译时会出错。

    • 9.函数类型为void,表示不返回结果,函数体中可以使用没有表达式的return语句,可以省略return;在不返回结果的函数定义中,void不能省略;否则,函数类型默认定义为int;void类型的函数,如果省略了return语句,当函数中所有语句都执行完毕时,遇到最后的大括号即自动返回主调函数。

    • 10.局部变量:C语言中把定义在函数内部的变量称为局部变量;局部变量的有效作用范围局限于所在的函数内部。形参是局部变量;
      使用局部变量可以避免各个函数之间变量相互干扰。

    • 11.全局变量:定义在函数外耳不属于任何函数的变量称为全局变量。全局变量的作用范围是从定义开始到程序所在文件结束,他对作用范围内所有函数都起作用。
      一般情况下把全局变量定义在程序的最前面,即第一个函数前面。

    • 12.静态局部变量:存放在静态储存区,不会像普通局部变量那样因为函数调用结束而被系统回收,它的生存周期会持续到程序结束。由于存储单元被保留,一旦含有静态局部变量的函数被再次调用,则静态局部变量会被重新激活,上一次函数调用后的值仍然保留着,可供本次调用使用。静态局部变量格式:static 类型名 变量表.
      静态变量赋初值只在函数第一次调用时起作用,若没有赋初值,系统将自动赋0。

    1.2 本章学习体会及代码量

    1.2.1 学习体会

    随着函数的学习,编程的魅力也一点一点被发掘出来了,函数的学习不仅仅是教会我们一个计算方法,也是让我们知道如何去简化我们的程序,使它更节省空间;

    函数的出现让我们的代码可读性提升了一个空间,同时我们能使用的方法也越来越多,我们能去做的题也越来越多。

    1.2.2代码量

    周数 代码量
    500~600
    十一 840~910
    代码总量 1340~1510

    2.综合作业

    题目:小学生口算表达式自动生成系统

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

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

    4.1.全局变量

    • 1.函数功能:自动生成不同年级的口算题并对比答案计算正确率
    • 2.全局变量:count
      是为了计算错误题目个数,方便最后算正确率
      全局变量:all
      每个函数计算正确率

    4.2.ListMenu()函数

    展示各个年级以及它们的代表数字

    4.3.oralArithmeticfunction()函数

    • 功能:选择年级以及想要的题目量,以方便进入下一步函数,
      同时如果选择的年级并没有则输出错误提示
    • 思路:以数字确定年级,输入一个变量flag以判断输入是否正确

    4.4.gradeOne函数

    • 功能:生成一年级题目,对比答案,计算正确率
    • 思路:以数组存放运算符,以便随机使用,再通过随机数生成计算,通过统计错误的题目数量,计算正确率



    4.5.gradeTwo函数

    • 功能:生成二年级题目,对比答案,计算正确率
    • 思路:以数组存放四个运算符,以便随机使用,再通过随机数生成计算,通过统计错误的题目数量,计算正确率




    4.6.gradeThree函数

    • 功能:生成三年级题目,对比答案,计算正确率,同时开始对除法中除0问题进行排查
    • 思路:以数组存放四个运算符,以便随机使用,再通过随机数生成计算,通过统计错误的题目数量,计算正确率,同时在计算前判断除数是否为零




    5.运行结果测试

    • 一年级:

    • 二年级:

    • 三年级:


    6.调试碰到问题及解决办法

    • 1.首先是switch因为我case那数字加了‘’,所以程序一直进不去一直显示错误;后面还是被提醒才发现错在哪
    • 2.函数调用()中写错很多次,还有大括号一直忘记
    • 3.计算中符号输入错误;数组中的运算符位置确定好后就修改完成
    • 4.忘记调用符号,一些数据没有初始化就使用
    • 5.还有一个不知道是我的电脑问题还是程序问题,就是答完以后提示有时候会出现两次,这个我还不知道为什么

    7.大作业总结

    这次的大作业对我真的很困难,因为对应每个要求的逻辑理解我有时会考虑特别多,这次的代码是我改了四五次后的结果,这个改不是调试修改,而是删了所有的重新打,其中最长的一次是我打了400行左右,发现问题有点多,需要修改得地方太多了,所以没办法;
    其次就是调试,我不记得自己改了多少次了,但是多是一定的,各个数据的调试以及逻辑,该怎么处理有时是我的一个突然出现的想法,然后去尝试;
    这次的大作业代码量很多,花费时间也很长,但是最后还是打完了,实在是松了口气

  • 相关阅读:
    《Head First》 MVC运用的设计模式
    unity工具 Animator的使用
    服务器搭建 如果搭建KBE开源服务器
    unity 实战图片挖洞Mask(转载)
    unity博客 推荐(不断补充)
    unity实战 UGUI英雄联盟英雄头顶分段式血条
    unity组成 ToLua
    unity实战 UGUI Text 间距和ContentSizeFitter组件的适配
    unity工具 推荐(不断补充)
    各种单例模式的对比分析
  • 原文地址:https://www.cnblogs.com/sunweiling/p/11783745.html
Copyright © 2011-2022 走看看