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