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

    0.展示PTA总分

    1.本章学习总结

    1.1 学习内容总结

    1.函数的声明以及定义。(判断素数)
    int IsPrime(int number);//函数声明
    
    int IsPrime(int number)//函数定义
    {
            函数体
    }
    
    2.函数调用时参数的传递过程(形参、实参)
    主调函数的参数为实参,被调函数的参数为形参,两者一一对应数量相同,顺序一致。
    如:volume=cylinder(radius,height);语句中radius、height为实参,double cylinder(double r,double h)中r和h为形参。
    
    3.函数结果返回。
    函数结果可通过return语句返回,但如不使用指针的情况下,之能返回一个结果。
    也可定义void类型函数,就不需要返回结果。
    如:
    void 函数名(形参表)//函数首部
    {
        函数实现过程
    }
    
    4.全局变量和局部变量
    全局变量定义在函数外,可被多个函数使用,但过多定义全局变量可能会互相干扰。
    局部变量定义在函数内,只能被该函数使用,可避免不同函数之间变量的互相干扰。
    当局部变量和全局变量同时存在时,全局变量失效,局部变量起作用。
    
    5.变量的生存周期和静态局部变量。
    系统为变量分配储存单元,当该函数调用结束,系统收回储存单元的过程称为变量的生存周期。
    静态变量定义格式:
    static 类型名 变量表
    静态变量的生存期可到程序结束,当其未被赋初值时,系统自动赋0。
    

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

    1.2.1 学习体会

    • 由于没有出现很复杂的调用函数情况以及复杂的函数,所以对本章内容相对学习较快。
    • 通过本章学习可见巧妙的代码可以让人眼前一亮,不但能节省时间提高效率,还能引起思考,提高学习代码的兴趣。
    • 希望在今后的学习中,能学会让单个函数返回多个值,以及实现多线程的函数调用。

    1.2.2 代码累计

    本次综合作业代码量:202行。

    2.综合作业

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

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

    2.1.全局变量:

    • int level; 储存用户输入的年级,多个函数都根据年级难度运行,故设置其为全局变量。
    • int count; 储存用户答对题、退出答题回到主菜单的开关。
    • int number;存储用户输入的答题数。

    2.2.ListMenu()函数

    显示主菜单,接受用户输入的年级数和题目数。

    2.3. int getQuestion()函数

    根据用户输入的题目数量及年级输出题目、接收答案、判断答案对错、给出相应答复。

    2.4.char getOperation(int a)函数

    可根据年级随机生成运算符。

    2.5.int getLevel(int lev, int flag, char op)函数

    可根据用户输入的年级控制题目运算数范围。

    2.6.int getAnswer(int value1, int o, int value2)函数

    可计算出答案并于用户输入的答案比对。

    2.7.int getMessage()函数

    可在每题结束时,让用户选择是否退出答题并回到主菜单。

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

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

    Q:无法实现中途返回主菜单的功能。
    A:将主函数放入循环内,当用户退出时返回-1,循环执行contune语句重新开始循环。

    Q:除法运算时出现小数。
    A:采用循环直到出现能除尽的两个数。

    Q:随机运算符号的实现。
    A:采用随机4个数,每个数对应一个符号。

    Q:随机的运算符号不具备运算的功能。
    A:重新采用一个函数根据符号计算出答案。

    Q:相减出现负数。
    A:先额外判断下两数大小,用交换两数的方式保证结果为正。

    5.大作业总结。

    • 本次大作业并没有很好的达到要求,细化的运算没有实现,代码行数太少,程序显得过于简单。
    • 回顾整个编写过程,理清思路很重要,在打代码之前先要有整个程序初步的框架。
    • 代码的拓展性也很必要,在遇到要增加功能或者修改功能时,若代码拓展性差则会让人手足无措。
    • 后续的写程序时,要先理清思路再动手,不可盲目乱写。尽可能不要用太特殊的思路或方法,这会让程序的拓展性变得较差。
  • 相关阅读:
    ASP.NET Web 项目文件类型
    SQL Server 2008数据类型
    哎,终于还是在博客园安家了
    document.evaluate的详细用法
    Prototype1.5.1源代码解读分析4
    Prototype1.5.1源代码解读分析1
    每个.NET 开发人员应该下载的十个必备工具
    #Rgeion #End Region 中的关于折叠所有和不折叠的有的方法
    如何把web站点的所有.aspx.cs文件编译为.dll文件?
    Prototype1.5.1源代码解读分析3
  • 原文地址:https://www.cnblogs.com/c4412/p/11709263.html
Copyright © 2011-2022 走看看