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

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

    0.展示PTA总分(0----2)

    image-20201129123940254

    1.本章学习总结(4分)

    1.1 函数定义、调用、声明

    函数的定义:函数类型+函数名+输入值

    例:int sum(int num1,int num2)

    函数调用: 函数名+输入值sum=sum(a,b)定义时定义了多少个变量在调用时就必须输入多少个变量。

    声明:当函数体在main函数前时不需要额外定义,当函数体在main函数后时需在main函数前定义函数。

    例:

    #include<stdio.h>
    int sum(int sum1,int sum2)
    {
    ...
    }
    int main()
    {
    ...
    }
    
    #include<stdio.h>
    int sum(int sum1,int sum2);
    int main()
    {
    ...
    }
    int sum(int sum1,int sum2)
    {
    ...
    }
    

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

    全局变量:在所有函数外部定义的变量,它的作用域默认是整个程序。

    局部变量:它的作用域仅限于函数内部, 离开该函数后就是无效的;main 函数中定义的变量也是局部变量,只能在 main 函数中使用;同时,main 函数中也不能使用其它函数中定义的变量。main 函数也是一个函数,与其它函数地位平等。

    静态局部变量:用static声明的局部变量,在函数调用结束后不消失而保留原值,在下一次该函数调用时,该变量已有值。

    1.3 C数据类型及注意点

    1.3.1.整型变量

    • int类型
      取值范围(16位):-32768~32767(-2^15— 2^15-1)
      转换说明:%d
    • short int(或简写为short)
      取值范围(16位):-32768~32767(-2^15— 2^15-1)
      转换说明:%d
      -long int(或简写为long)
      取值范围(16位):取值范围(16位)-2147483648~2147483648(-2^31— 2^31-1)
      转换说明:%ld
    • long long int(简写为long long)
      取值范围(16位):-9223372036854775808~:9223372036854775807-(2^63— 2^63-1)
      换说明:%lld
    • unsigned+声明语句表示无符号类型(即非负数)
      转换说明:%u (十进制无符号整数 )l和u能一起用(%lu)

    1.3.2.浮点数

    • 单精度float
      取值范围:10^-37 —10^37
      转换说明:%f
    • 双精度double
      取值范围:(2^63— 2^63-1)
      转换说明:%f
    • 指数计数法
      xen(或xEn)[中间没空格]
      eg:1.2e(E)10=1.2*10^10
      转换说明:%e(%E)
      {浮点数声明short 、long 、longlong型同整型变量}

    1.4 C运算符

    1.4.1优先级1级

    结合方向 左结合(自左至右)

    ( ) 圆括号

    [ ] [1] 下标运算符

    -> 指向结构体成员运算符

    . 结构体成员运算符 [1] (请注意它是一个实心圆点)

    1.4.2优先级2级

    结合方向 右结合(自右至左)单目运算符

    ! 逻辑非运算符
    按位取反运算符

    ++ 自增运算符

    -- 自减运算符

    - 负号运算符

    (类型) 类型转换运算符

    * 指针运算符

    & 地址与运算符

    sizeof 长度运算符

    1.4.3优先级3级

    结合方向 左结合 双目运算符

    * 乘法运算符

    / 除法运算符

    % 取余运算符

    1.4.4优先级4级

    结合方向 左结合 双目运算符

    + 加法运算符

    - 减法运算符

    1.4.5优先级5级

    结合方向 左结合 双目运算符

    << 左移运算符

    >> 右移运算符

    1.4.6优先级6级

    结合方向 左结合 双目运算符

    <、<=、>、>= 关系运算符

    1.4.7优先级7级

    结合方向 左结合 双目运算符

    == 等于运算符 (判断)

    != 不等于运算符(判断)

    1.4.8优先级8级

    结合方向 左结合 双目运算符

    & 按位与运算符

    1.4.9优先级9级

    结合方向 左结合 双目运算符

    ^ 按位异或运算符

    1.4.10优先级10级

    结合方向 左结合 双目运算符

    | 按位或运算符 举例:0xfe|0xef 即为1111 1110 与1110 1111按位或运算则答案为:1111 1111 即0xff。

    1.4.11优先级11级

    结合方向 左结合 双目运算符

    && 逻辑与运算符

    1.4.12优先级12级

    结合方向 左结合 双目运算符

    || 逻辑或运算符

    1.4.13优先级13级

    结合方向 右结合 三目运算符

    ? : 条件运算符

    1.4.14优先级14级

    结合方向 右结合 双目运算符

    = 赋值运算符

    + = 加后赋值运算符 如s+=1表示s=s+1

    - = 减后赋值运算符 如s-=1表示s=s-1

    * = 乘后赋值运算符

    / = 除后赋值运算符

    % = 取模后赋值运算符

    < <= 左移后赋值运算符

    >>=右移后赋值运算符

    &= 按位与后赋值运算符

    ^=按位异或后赋值运算符

    |= 按位或后赋值运算符

    1.4.15优先级15级

    结合方向 左结合

    , 逗号运算符

    2.综合作业(6分):小学生口算表达式自动生成系统

    2.1.模块流程图



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

    void OperateMenu();//游戏操作界面
    void GradeOneMenu();//一年级
    int RandomNumber(int grade);//生成随机数
    char RandomCharacters(int grade);//生成运算符
    void AnswerJudgment(double answer, double RightKey);//判断答案对错并且回复
    void GradeTwoMenu();//二年级
    void GradeThreeMenu();//三年级
    

    生成随机数:生成时先输入难度等级,从而生成一到三位整数

    生成运算符:生成时先输入难度等级,由1-3分别是 “-”和“+”、“*”、“/”。

    判断答案对错并且回复:根据判断对错随机输出相应的回复鼓励。

    2.2.1.全局变量

    未设定全局变量QWQ。

    2.2.2 菜单相关函数

    void OperateMenu();//游戏操作界面
    void GradeOneMenu();//一年级
    void GradeTwoMenu();//二年级
    void GradeThreeMenu();//三年级
    





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


    输入3;

    输入

    y

    -3

    输出

    小朋友你做对了, 继续加油(太快了没截到图)

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

    1.可以将函数的定义放在一个头文件中,有利于查找。
    2.把主要函数与次要函数分离,避免一页代码太长导致编程困难。
    3.在设计程序时对于有重复内容的问题,或者是关联性的问题,可根据(如本题中的年级)其相同点向旁发散,避免定义的变量过多。而写函数也可以简化重复性问题。
    4.一定要注意变量和函数的命名,不然会导致代码看不懂(过一段时间后)。
    5.对代码多进行注释,有利于他人理解,以及自己后续的工作。

    代码提交

    请博客作业页面内容+口算系统的全部代码复制到一个word文档中。(记住,要复制过去,不能截图),文档保存好请提交课堂派的作业中。我们会用课堂派对你写的代码进行查重,请务必要独立完成

  • 相关阅读:
    使用 libevent 和 libev 提高网络应用性能
    An existing connection was forcibly closed by the remote host
    各种浏览器的兼容css
    vs输出窗口,显示build的时间
    sass
    网站设置404错误页
    List of content management systems
    css footer not displaying at the bottom of the page
    强制刷新css
    sp_executesql invalid object name
  • 原文地址:https://www.cnblogs.com/WangBo020809/p/14057734.html
Copyright © 2011-2022 走看看