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文档中。(记住,要复制过去,不能截图),文档保存好请提交课堂派的作业中。我们会用课堂派对你写的代码进行查重,请务必要独立完成

  • 相关阅读:
    python之shutil模块
    python的os模块
    python的map函数
    Web基础知识
    Web基础知识 --- html中的meta元素有什么用?
    使用技巧 --- 与 FireFox 相关
    基础知识之WIN32 API
    资料索引
    基础知识之C++篇
    使用技巧 --- 与 Visual Studio 有关
  • 原文地址:https://www.cnblogs.com/WangBo020809/p/14057734.html
Copyright © 2011-2022 走看看