zoukankan      html  css  js  c++  java
  • 第四次作业

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

    0.展示PTA总分

    1.本章学习总结

    1.1 函数定义、调用、声明

    1. 函数定义
    一般形式:

    函数类型 函数名(形式参数表) /*函数首部*/
    {
       函数实现过程  /*函数体*/
    }
    
    • 函数定义的函数首部括号后面不能加分号
    • 函数类型一般与函数结果return返回的类型一致
    • 括号内的形参定义要分开写,不可写出int x,y这种类型
    • 函数体中可能需要定义一些变量,这些变量与形参是有区别的,形参为从主函数调用的已知数据
    • 若函数类型为void,则函数体最后可不需要return

    2. 函数调用
    一般形式:

    函数名(实际参数表)
    
    • c语言运行程序先从主函数开始,当遇到某个函数被调用时,主函数暂停,执行相应的函数,执行完后返回主函数。
    • 实际参数表可以是常量 变量和表达式。而形参只能是变量。
    • 函数调用的两种情况:
      (1)赋值语句:例:volume=cylinder(radius,height)
      (2)输出函数的实参:例:printf("%f",cylinder(radius,height))
    • 参数传递时,形参和实参必须一 一对应,数量相同,类型尽量一致
    • 函数return有两个作用:
      (1)结束函数的运行。
      (2)带着运算结果返回主调函数

    3. 函数声明

    函数类型 函数名(参数表);
    
    • 括号后面需要加分号
    • 若自定义函数被放在主函数后面,主函数前要添加函数说明

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

    1. 全局变量

    • 定义在函数外而不属于任何函数的变量称为全局变量
    • 其作用范围为所有函数
    • 局部变量和全局变量允许同名,当同名时,局部变量起作用,全局变量不起作用

    2. 局部变量

    • 定义在函数内部的变量成为局部变量
    • 其作用在函数内部,形参是局部变量
    • 局部变量一般定义在函数或者复合语句的开始处

    3. 静态局部变量
    格式:

    static 类型名 变量表
    
    • 局部变量调用完后其分配的单元会被收回
    • 静态局部变量调用时的存储单元会被保留,其生命周期保留到程序结束
    • 全局变量的存储单元也会被保留,其生命周期保留到程序结束

    1.3 C数据类型及注意点

    (1)
    整型:
    int可在其前面加上short long unsigned等限定词

    • int 输入输出%d long int输入输出%ld
    • %u以十进制输入输出一个无符号整数,%o以八进制输入输出一个整数,%x以十六进制输入输出一个整数
    • 整型是指不存在小数部分的数据类型
    • 无符号的整型数据指不带符号的整数,即零和正整数,不包括负数

    整型常量:

    • 十进制:由正负号和阿拉伯数字0~9组成,但首位数字不能为0
    • 八进制:由正负号和阿拉伯数字0~7组成,首位数字必须为0
    • 十六进制:由正负号和阿拉伯数字09组成,英文字符af或A~F组成,首位数字必须为0x或者0X
    • 判断整数的类型,首先根据整数后面的字母后缀,若没有则根据整型常量的值判断其在哪个数值范围

    (2)

    字符型

    *输入getchar()输出putcahr单个字符,%c用于另一形式输入输出

    字符型常量:

    • 字符型常量指单个字符,用一对单引号将要表达的单个字符括起来,如'a''x'

    转义字符:

    字符 含义
    换行
    横向跳格
    反斜杠
    " 双引号
    ' 单引号
    ddd 1~3位八进制整数代表的字符
    xhh 1~2位十六位进制整数所代表的字符

    例:“ "abc " "有7位字符

    (3)
    实型

    • 单精度输入输出%f,双精度输入输出%lf
    • 实型又称浮点数型,指存在小数部分的数
    • 浮点型数据分为单精度和双精度,但是当实数的有效位数超过了精度的有效范围,会降低精度
      例:IT 协会举办程序设计竞赛,准备购买 U 盘作奖品。请编写程序,根据活动经费和 U 盘单价预估可购买 U 盘的最大数量。
      当经费为660.8 单价为47.2,若数量用float来定义,输出结果为13,答案确是14
      需要在后面加上0.000001来消除误差

    实型常量
    (1)浮点表示法
    实数由正号 负号 阿拉伯数字0~9 小数点组成,必须要有小数点,且小数点前后至少有一边要有数字
    (2)科学计数法
    实数由正号 负号 数字 字母e或E组成,e是指数的标志。e之前要有数据,e后面的指数只能是整数
    例:0.2e2.3非法 e-5非法

    1.4 C运算符

    1. 运算符种类
    运算符种类 运算符 结合方向
    逻辑运算符 右到左
    算术运算符 ++ -- + - (单目) 右结合
    算术运算符 * / % (双目) 左结合
    算术运算符 + -(双目) 左结合
    关系运算符 < <= > >= 左结合
    关系运算符 == != 左结合
    逻辑运算符 && 左结合
    赋值运算符 = += -= *= /= %= 右结合
    逗号运算符 左结合
    1. 位运算
    运算符 名称
    &
    ^ 亦或
    ~ 取反
    << 左移
    >> 右移
    A B A^B
    0 0 0
    0 1 1
    1 0 1
    1 1 0

    例:对二进制的后三位取反加密 ,则另其与7取反

    1. 位移运算
    • a>>b相当于二进制右移b位,得到的数相当于原数除2的b次方 a<<b相当于二进制左移b位,得到的数相当于原数乘2的b次方

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

    2.1.模块流程图

    • 外界面选择进入年级界面流程图

    • 进入年级后的答题系统界面流程图

    • 一年级生成题目的流程图

    • 二三年级生成题目的流程图

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

    2.2.1.全局变量

    本次大作业并没有用到全局变量,可能对其在本次大作业哪里的用处比局部变量更好不太了解

    2.2.2 菜单相关函数

    主界面

    先在界面形成一个总界面,再要求输入年级来参加,通过switch来辨别年级后再进入相应年级的答题界面

    年级界面

    进入年级界面,提示是否答题,判断输入是否后,若否返回主界面,若是则进入答题系统,用循环来控制要答题的数量,同时每轮询问是否继续,判断是否后重新进行。二三年级的模板类似于此。

    2.2.2 出题相关函数

    随机数函数

    因为不同年级需要的不同数要求是不一样的,故将随机数分为三类,一类为110一类为1100另一类为1~1000,不同年级会用到其中不同的随机数

    随机运算符函数

    一年级只用到+和-,而二三年级需要+ - * /,故用switch来辨别年级,并产生相应的运算符

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

    一年级答题测试

    二年级答题测试

    三年级答题测试

    界面进入退出测试

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

    • 在进行随机数生成时,将srand生成随机种子放在生成随机数函数里面,调试的时候生成的2个随机数是一样的,在百度查找资料后,将srand放在大函数里面,调试后生成的两个随机数是不一样的
    • 界面设定可用到的代码:system("cls");//清屏 Sleep(数字);//保持界面的时间
    • 在写大作业这种类型的代码量大的任务时,一定要多写函数来分担主函数,分成几个块任务逐个完成,减少自己的工作量,同时也便于调试找出错误
    • 写之前先构思模块,通过画流程图的方法,将流程图每个区域对应代码构思打出,区域代码可能也需要用流程图,大体代码构思后需要考虑一些特殊情况,怎样满足这些特殊情况又不影响到基本情况,甚至需要多种结构方法掺杂,不是一件轻松的事,多测试几组数据来检验。区域代码打完后再按照流程图的形式逐个以某些语句来拼接
  • 相关阅读:
    ML(5)——神经网络1(神经元模型与激活函数)
    ML(4)——逻辑回归
    ML(附录3)——过拟合与欠拟合
    多变量微积分笔记24——空间线积分
    iOS开发--横向流水布局实现
    李洪强和你一起学习前端之面试题
    前端面试题 -- JS篇
    很强大的HTML+CSS+JS面试题(附带答案)
    李洪强iOS之集成极光推送三iOS集成指南
    李洪强iOS之集成极光推送二iOS 证书 设置指南
  • 原文地址:https://www.cnblogs.com/960223447a/p/14020245.html
Copyright © 2011-2022 走看看