C语言博客作业03--函数

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

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

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

1.1 函数定义、调用、声明

  • 定义:函数是一块代码,接受零个或多个参数,做一件事情,并返回零个或一个值。(无返回值为void)
  • 作用:能让代码能更简洁易懂、避免代码复制来提高代码质量,同时易于后期修改、更易读懂。
  • 函数在调用前应先声明
  • 函数需要声明参数的类型 int max(int x ,int y),double fact (),float number()
  • 声明函数时可以省略形参。如int max(int x ,int y);可写为int max(int ,int );
  • 特别地:当无参数时:括号可为(void)或者();当无返回值时 : 用void声明 如void number(int x);

例子:求e的近似值

  • 函数一般在文件头声明,函数的内容写在主函数之后。
#include<stdio.h>
double fact(int n);//函数声明

int main()
{
    int n;
    int i;
    double e = 1.0;
    scanf("%d",&n);
    for (i = 1;i <= n;i++){
        
        e += 1.0/fact(i);//函数的调用
        
    }printf("%.8f",e);
    return 0;
}
double fact(int n)
{
    double fact = 1;
    int i;
    for(i = 1;i <= n;i++){
        fact *= i;
    }
    return fact;
}
  • 函数内容也可以直接跟在函数声明的下面。
#include<stdio.h>
double fact(int n)         //函数声明以及内容
{
    double fact = 1;
    int i;
    for(i = 1;i <= n;i++){
        fact *= i;
    }
    return fact;
}
int main(){
    int n;
    int i;
    double e = 1.0;
    scanf("%d",&n);
    for (i = 1;i <= n;i++){
        
        e += 1.0/fact(i);          //函数的调用
        
    }printf("%.8f",e);
    return 0;
}

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

  1. 全局变量:定义在函数外面的变量,所以叫全局变量。

  2. 局部变量:定义在函数内部的变量称为局部变量,它的作用域仅限于定义的那个函数内部。

  3. 静态局部变量:静态局部变量定义时前面加static关键字,其不同之处在于静态局部变量在第一次函数被调用时创造并初始化,但在函数退出时它不死亡,而是保持其值等待函数下一次被调用。下次调用时不再重新创造和初始化该变量,而是直接用上一次留下的值为基础来进行操作。

1.3 C数据类型及注意点

数据类型 占用字节 数据类型 举例
char 1 字符型 char service = 'a'
int 2 整型 int narcissistic = 153
float 4 单精度浮点型 float lz = 20.315
double 8 双精度浮点型 double ldr = 831143.011031

浮点误差

  • 浮点型数据在存储时会会让小数靠后部分有误差,如图:

1.4运算符

| 名称 | 运算符号 | 举例 |
| ---- | ---- | ---- | ---- |
| 加减乘除 | +-/ | 8+2-104/5=2 |
| (求余)模 | % | 50%7=1 |
| 且 | && | (1>0&&3>2) = 1 |
| 或 | || | (1>2||2>1) =1 |
| 大于(大等于) | > (>=) | 5>4 |
| 小于(小等于) | <(<=) | 8<9 |

学习体会

  • printf("学习C语言非常开心,每天都乐在其中,为写出代码而开心极了呀!!!");
    /进度太快,完全跟不上,作业做不完,博客写不完也不会写,今天写完一个测试明天又是一个测试,要思维没思维,要数学基础没数学基础,感觉自己就是一个废物。请您别在意废物的这句话/

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

2.1.模块流程图

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

2.2.1.全局变量

  • 介绍见注释

2.2.2 菜单相关函数

  • 介绍见注释

2.2.2 出题相关函数

  • 函数为三个年级和随机字符的生成。

一年级

二年级

三年级

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

一年级


二年级


三年级


  • 二三年级可以选择做加减还是乘除
  • 不会用动图就截了几张

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

  1. 主函数为一个主干,可将函别的函数的定义放在外面,利于阅读。
  2. 对代码多进行注释,变量名起得易懂,方便之后的阅读者(包括自己)。
  3. 函数可以适当定义一些全局变量可以让每个函数直接使用。
  4. 象这种人机互动的题目有适当的人机交互的语句,做对了表扬错了鼓励使代码更生动。

代码提交

posted @ 2020-11-30 21:25  一笑惜命  阅读(140)  评论(1编辑  收藏  举报