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

    这个作业属于哪个班级 C语言--网络2011/2012
    这个作业的地址 C博客作业03--函数
    这个作业的目标 学习如何设计函数、C语言基本数据类型
    姓名 李兴果

    0.展示PTA总分

    1.本章学习总结

    1.1 函数定义、调用、声明

    注意:
    1、[]包含的内容可以省略,数据类型说明省略,默认是int类型函数;参数省略表示该函数是无参函数,参数不省略表示该函数是有参函数;

    2、函数名称遵循标识符命名规范;

    3、自定义函数尽量放在main函数之前,如果要放在main函数后面的话,需要在main函数之前先声明自定义函数,声明格式为:[数据类型说明] 函数名称([参数]);
    (1)自创函数
    [数据类型说明] 函数名称([参数])

    (2)函数调用
    我们需要用到自定义的函数的时候,就得调用它,那么在调用的时候就称之为函数调用。
    在C语言中,函数调用的一般形式为:
    函数名([参数]);

    注意
    1、对无参函数调用的时候可以将[]包含的省略。

    2、[]中可以是常数,变量或其它构造类型数据及表达式,各参数之间用逗号分隔。

    (3)有参与无参

    在函数中不需要函数参数的称之为无参函数,在函数中需要函数参数的称之为有参函数,有参和无参函数的一般形式如下:

    区别:函数()中多了一个参数列表。

    有参函数更为灵活,输出的图形可以随着n的改变而随意变动,只要在main函数中传递一个参

    (4)形参与实参:
    特点:

    • 形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。形参只有在函数内部有效
      函数调用结束返回主调函数后则不能再使用该形参变量。
    • 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,
      以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。
    • 在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误

    (5)函数的返回值
    函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值
    注意

    1. 函数的值只能通过return语句返回主调函数
      return 表达式; or return (表达式);
    2. 函数值类型和函数定义中函数类型应保持一致,如果两者不一致,则以函数返回类型为准,自动进行类型转换。
      3.没有返回值的函数,返回类型为void
      4.void函数中可以有执行代码块,但是不能有返回值,另void函数中如果有return语句,语句只能起到结束函数运行的功能格式为:return;

    1.2 全局、局部变量、静态局部变量

    • 局部变量也称为内部变量
      作用域仅限于函数内
    • 全局变量也称为外部变量,它是在函数外部定义的变量
      全局变量也称为外部变量,其作用域是整个源程序

    1.3 C数据类型及注意点

    每个数据类型特点及其相关知识的扩展。如浮点误差、字符型数据输入问题等等
    浮点误差:
    取n的整数部分可以用:int a = int(n);
    得到n的小数部分: double b = n - a;
    对小数部分进行操作:b *= 10;
    取b的整数部分可以用: int c = int(b)
    eps处理浮点数误差的问题:
    的类似于4.9999999999999998的数据,eps可以进行对它的缺省值进行一定的补偿,使其在计算机中的存储值变成5.00000000000000或者5.000000000000001,这样在后续的计算中就会解决因为存储的误差造成的不必要后果
    用scanf连续输入字符型数据:
    scanf会从标准缓冲区中读取输入的字符

    • 用fflush(stdin);语句来清空缓冲区
    • 在scanf(“%c”,&j);中的%c之前加个空格scanf(” %c”,&j);这样这个空格就可以抵消那个回车
    • 在使用getchar()输入字符的时候也会出现这种情况,除了刚才两种方法,还可以改为:写两个getchar()

    1.4 C运算符

    逻辑非 ! >算术 > 逻辑与 &&、逻辑或 || > 赋值=
    ++:自增运算符
    --:自减运算符
    sizeof:长度运算符
    /=:除后赋值
    *=:乘后赋值
    %=:取模后赋值
    +=:加后赋值
    -=:减后赋值
    学习体会:
    函数这一块用法简介而且放便,代码使用率很高效率快,就是可能在一些题目中不太明确自己是否使用函数,何时使用函数调用,需要自己多做题总结思路和经验

    2.综合作业

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

    2.1.模块流程图

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

    void OperateMenu();//游戏操作界面
    void GradeOneMenu();//一年级
    void GradeTwoMenu();//二年级
    void GradeTherrMenu();//二年级
    int GatValue1();//生成一位随机数
    int GatValue2();//生成两位随机数
    char GetSymbol();//生成二则运算符
    char GetSymbo2();//生成四则运算符
     void Expression(int num1, char op, int num2);//生成随机表达式
    void Rewards();//奖励小朋友的话
    void Encouragements();//鼓励小朋友的话
    

    2.2.1.全局变量

    int temp;//作为临时变量替换数值
    int count;//计算每次答完后的总题数
    int eight;//计算小朋友答对题数
    int wrong;//计算小朋友答错题数
    

    2.2.2 菜单相关函数

    • 使用了printf输出函数,输出文字菜单界面
      *使用了switch函数,明确选择年级

    2.2.3出题相关函数





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





    其他年级同理

    2.4.大作业中编程技巧总结

    总结大作业编程中用到哪些课堂没有学过知识点

    • srand(time(0));//随机种子的表达,可以确保输出的数或是表达式随机输出
    • system("cls");//清屏
      Sleep(3000);//停留
  • 相关阅读:
    svn command line tag
    MDbg.exe(.NET Framework 命令行调试程序)
    Microsoft Web Deployment Tool
    sql server CI
    VS 2010 One Click Deployment Issue “Application Validation did not succeed. Unable to continue”
    mshtml
    大厂程序员站错队被架空,只拿着五折工资!苟活和离职,如何选择?
    揭秘!Windows 为什么会蓝屏?微软程序员竟说是这个原因...
    喂!千万别忘了这个C语言知识!(~0 == -1 问题)
    Linux 比 Windows 更好,谁反对?我有13个赞成理由
  • 原文地址:https://www.cnblogs.com/lixinggio/p/14026871.html
Copyright © 2011-2022 走看看