zoukankan      html  css  js  c++  java
  • 第四次博客——函数

    PTA总分展示

    本章学习总结

    定义一个函数我们需要确定三部分内容:
    (1). 函数的返回值类型
    (2). 函数的名称
    (3). 函数的参数

    函数类型 函数名(形式参数表)//:函数首部
    {
       函数实现过程//:函数体
    }
    
    1. 函数声明的作用如下:
      (1). 使编译器正确处理返回值
      (2). 使编译器可以检查输入参数的数目
      (3). 使编译器检查输入参数的类型,如果类型不正确,则对类型进行隐式转换
    函数类型 函数名(参数表);
    
    1. 函数调用的作用如下:
      (1). 用实参向形参传递数据
      (2). 为获得数据的参数和函数中为声明的变量分配临时存储空间
      (3). 中断当前正在运行的上级调用函数,将程序流程转到被调用函数的入口处
    函数名 (实际参数表)//:实际参数可以是常量、变量和表达式
    

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

    全局:具有文件作用域的变量
    静态:具有静态存储期或内部链接属性
    局部:具有函数或块作用域的变量
    • 局部变量:函数或块作用域的变量
    • 静态局部变量:函数或块作用域,静态存储期
    • 全局变量:具有文件作用域的变量

    c语言类型及注意点

    整型变量

    1. int类型
      取值范围(16位):-32768~32767(-2^15— 2^15-1)
      转换说明:%d
    2. short
      取值范围(16位):-32768~32767(-2^15— 2^15-1)
      转换说明:%d
    3. long
      取值范围(16位):取值范围(16位)-2147483648~2147483648(-2^31— 2^31-1)
      转换说明:%ld

    浮点数

    1. 单精度float
      取值范围:10^-37 —10^37
      转换说明:%f
    2. 双精度double
      取值范围:(2^63— 2^63-1)
      转换说明:%f

    字符型数据输入问题

    1、字符型数据(单个数据的输入)
    (1). scanf输入,遇到回车,空格,tab键会记录进去,使得一个字符的内容变为空格这类的字符
    解决:
    (1). getchar();处理一个字符。%c赋值抑制符,跳过一个字符,读入但不存储。
    (2). 跳过多个空白字符在格式传中的 %c之前加上空格或者在%d之后加上空格
    2. 字符数组与字符串
    通常用一个字符数组来存储一个字符串。字符串和普通字符数组的区别在于字符串末尾有一个空字符''. 空字符不计入字符串有效字符,也不计入总长度。

    c运算符

    1. 算术运算符:+ - * / %
      优先级:* / % 》 + - 结合:从左往右
      注:%只对整型数据 int%int
      注:int / int =int
      char-(char)->char
      char-(int)->int -(float/double)->double (可提高精度)
    2. 位运算符: &(按位与)--------->有假则假
      |(按位或)--------->有真则真
      ^(异或 )--------------->(0^1=1)
      ~(取反)--------------->0101——>1010
    3. 判定运算符: > < >= <= != !(非)
      结果:逻辑值 真1 假0
      1>2的结果为0 2>1的结果为1
    4. 自增自减运算符:++ --
      i++ ++i 或 i-- --i (i的值必须是变量)
      前自增、减: ++i --i (i)先自增/自减,(结果)再取(i)值
      后自增、减: i++ i-- (结果)先取(i)值,(i)再自增/减

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

    函数功能及全局变量介绍

    void OperateMenu();//游戏操作界面
    void GradeOneMenu();//一年级
    void GradeTwoMenu();//二年级
    void GradeThreeMenu();//三年级
    int GetOperands(int grade);//生成随机操作数
    char GetOperator(int grade);//生成随机运算符
    void PutExpression(int num1, int op, int num2);//输出表达式的函数
    int GetAnswer(int num1, char op, int num2);//计算正确函数
    void Compliment();//输出夸奖的话
    void Encouragement();//输出鼓励的话
    

    全局变量

    int RightNumber = 0;//计算正确题目的个数
    int WrongNumber = 0;//计算错误题目的个数
    int QustionNum = 0;//储存题目数量
    

    菜单相关函数


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



    大作业中编程技巧总结

    1. 应该学会去注释一些代码,这样可以使代码更清楚,明白,也便于理解。
    2. 运用srand((unsigned)time(NULL)),产生随机数。
    3. 多注意一些细节,因为代码很长,不容易找出错误,因为有错,调试了很长时间,最后发现是自己是一些细节错误。
  • 相关阅读:
    Leetcode Binary Tree Level Order Traversal
    Leetcode Symmetric Tree
    Leetcode Same Tree
    Leetcode Unique Paths
    Leetcode Populating Next Right Pointers in Each Node
    Leetcode Maximum Depth of Binary Tree
    Leetcode Minimum Path Sum
    Leetcode Merge Two Sorted Lists
    Leetcode Climbing Stairs
    Leetcode Triangle
  • 原文地址:https://www.cnblogs.com/yang123789/p/14063462.html
Copyright © 2011-2022 走看看