函数

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

目录
0.展示PTA总分
1.本章学习总结
1.1函数定义、调用、申明
1.2 全局、局部变量、静态局部变量
1.3C数据类型及注意点
1.3.1整型
1.3.2浮点数
1.3.3字符型
1.4C运算符
1.4.2位运算符
2.综合作业 小学生口算表达式自动生成系统
2.1模块流程图
2.1.1总流程图
2.1.2一年级流程图
2.1.3二年级流程图
2.1.4三年级流程图
2.2函数功能介绍
2.2.1.全局变量
2.2.2.菜单相关函数
void OperateMenu();//游戏操作界面(是否进入三个不同年级计算的页面)
void GradeOneMenu();//一年级(做题或退出的一年级操作页面)
void GradeTuoMenu();//二年级(做题或退出的一年级操作页面)
void GradeTuoMenu();//三年级(做题或退出的一年级操作页面)
2.2.3 出题相关函数
2.3.运行结果截图,测试用例。
2.4.大作业中编程技巧总结

0.展示PTA总分

1.0本章学习总结

1.1函数定义,调用,声明

 自定义函数的一般形式:
 [数据类型]函数名称([参数])
 {
    执行代码块;
    return (表达式)
  }
` 函数定义:
  [数据类型]函数名称([参数]);
` 函数调用:
  函数名称(参数);
` 函数声明:
  [数据类型]函数名称([参数])

形参与实参

形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。形参只有在函数内部有效
函数调用结束返回主调函数后则不能再使用该形参变量。
实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,
以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。
在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误

函数返回值:

函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值
1.函数的值只能通过return语句返回主调函数
return 表达式; or return (表达式);
2.函数值类型和函数定义中函数类型应保持一致,如果两者不一致,则以函数返回类型为准,自动进行类型转换。
3.没有返回值的函数,返回类型为void
4.void函数中可以有执行代码块,但是不能有返回值,另void函数中如果有return语句,语句只能起到结束函数运行的功能格式为:return;

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

全局变量:

定义:定义在函数外而不属于任何函数的变量。
作用范围:可作用于所有函数,作用范围是整个源程序
优点:解决多个函数间的变量共用
一般情况下把全局变量定义在函数的最前面,即第一个函数的前面

局部变量:

定义:定义在函数内部的变量
作用范围:仅限于函数内
优点:避免了各个函数之间的变量互相干扰
全局变量可以解决函数多结果返回的问题,但全局变量更多的用于多函数间的全局变量表示。

静态局部变量:

static 类型名 变量表 (作用范围:局部变量)(生命周期:全局变量)
用static修饰的为静态变量,定义在函数内部的,叫静态局部变量,定义在函数外部的,叫静态外部变量
注:定义时如果没有赋初值,系统将自动赋0
赋初值只在第一次调用的时候起作用,以后调用都按前一次保留的值使用。

int globalVariable=0;//全局变量
static int GlobalStaticVariables;//全局静态变量,初值为0
int main()
{
int localVariable=0;//局部变量
static int LocalStaticVariables;//局部静态变量
  globalVariable++;
  GlobalStaticVariables++;
 add();
printf("%d",LocalStaticVariables);
}
void add()
{
LocalStaticVariables++;
}

1.3 c数据类型

1.3.1数据存储

原码:

符号位是1,其余各位表示数值的绝对值

反码:

符号位是1,其余各位对原码取反

补码:

反码加1

如:-1
原码:1  0  0  0  0  0  0  0      0  0  0  0  0  0  0  1
反码:1  1  1  1  1  1  1  1      1  1  1  1  1  1  1  0
补码:1  1  1  1  1  1  1  1      1  1  1  1  1  1  1  1

1.3.2基本数据类型

整型

名称 类型名 数据长度
整型 int 32位
短整型 short 16位
长整型 long 32位

字符型

名称 类型名 数据长度
字符型 char 8位

浮点型

名称 类型名 数据长度
单精度浮点型 float 32位
双精度浮点型 double 64位

1.4 c运算符

  种类:算术运算符,赋值运算符,关系运算符,逻辑运算符,三目运算符
  赋值运算符分为简单赋值运算符和复合赋值运算符 eg:int a=3;a+=5等价于a=a+5
  逻辑运算符:&&逻辑与 ||逻辑或 !逻辑非
  三目运算符格式:表达式1?表达式2:表达式3;
    (执行过程:判断表达式1是否为真,真则执行表达式2,假则执行表达式3)
目数 单目 单目 单目 单目 双目 双目 双目 双目 双目
运算符 ++ -- + - + - * / %
名称 自增 自减 正值 负值 模(求余)

优先级和结合性

右结合(从右向左):!,++ -- + -(单目),?: (条件表达式),= += -= *= /= %= (赋值运算符)

左结合(从左向右):,(逗号运算符), < >...(关系运算符),&& ||( 逻辑运算符),(双目运算符)

算术表达式

1.算术表达式是用算术运算符和括号将运算量(也称操作数)连接起来的、符合C语言语法规则的表达式。其中运算对象包括函数、常量、变量。

2.算术表达式的运算规则:

A.在算术表达式中,可以使用多层圆括号,但括号必须配对。运算时从内层括号开始,由内向外依次计算各表达式的值。

B.在算术表达式中,对于不同优先级的运算符,可按运算符的优先级由高到低进行运算,若表达式中运算符的优先级相同,则按运算符的结合方向(算术运算符的结合方向是从左到右)进行运算。

C.如果一个运算符两侧的操作数类型不同,则先利用自动转换或强制转换,使两者具有相同数据类型,然后再进行运算。
学习体会:函数代码的使用率很高,效率高,平时在复杂的题中可以多使用函数来增加代码可读性,刚开始不是很熟练,不知如何正确调用,以后要多做题练练

posted @ 2020-11-30 22:26  耶斯莫拉  阅读(89)  评论(0编辑  收藏  举报