0.展示PTA总分
1.本章学习总结
1.1 函数定义、调用、声明
函数定义:函数定义必须包含“函数原型”和函数体。例:
void/int/double(int x)
{
函数体
}
函数原型:返回值类型 + 函数名 + 形参列表
形参列表:形式参数列表,一定包含类型名、形参名。
函数调用:包含函数名(实参列表)
实参:(实际参数)在调用时,传参必须严格按照形参填充,(参数个数,类型顺序)实现在调用时,没有类型指述符。
函数声明:包含函数原型(返回值类型 + 函数名 + 形参列表)
1.2 全局、局部变量、静态局部变量
全局变量:
在函数外定义的变量称为全局变量;全局变量在静态存储区分配存储单元,在程序运行期间都不释放,在文件中的函数均可调用该全局变量
局部变量:
在一个函数中或复合语句中定义的变量,在动态存储区分配存储单元,在调用时动态分配,在函数或复合语句结束时自动释放。
静态局部变量:
在局部变量的说明前再加上static说明符就构成静态局部变量。
例: static int a,b;
静态局部变量在编译时赋值,则之后不再执行赋值的定义语句。静态全局变量在静态存储区分配存储单元,在程序运行期间都不释放。
1.3 C数据类型及注意点
数据类型 | 范围 | 存储大小 |
---|---|---|
int | -231~231-1 | 4字节 |
short | -215~215-1 | 2字节 |
long | -231~231-1 | 4字节 |
long long | -264~264-1 | 8字节 |
double | 2.3E-308 到 1.7E+308 | 8字节 |
float | 1.2E-38 到 3.4E+38 | 4 字节 |
long double | 3.4E-4932 到 1.1E+4932 | 16字节 |
unsigned int | 0~2^32-1 | 4字节 |
unsigned short | 0~2^16-1 | 2字节 |
注意long 或者 double 输入时的控制字符应为%ld 或 %lf。
float,double,long double 为浮点数类型 , 有一定的误差,在使用时应该考虑误差。
即结果为14.0可能变为13.999这时应该考虑好误差,并用判断语句控制误差。
1.4 C运算符
一、赋值运算符 赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量.符号为‘=’.这里并不是等于的意思,只是赋值,等于用‘==’表示
二、算术运算符
在c语言中有两个单目和五个双目运算符.
符号 功能
- 单目正
- 单目负
- 乘法
/ 除法
% 取余
- 加法
- 减法
三、逻辑运算符
逻辑运算符是根据表达式的值来返回真值或是假值.其实在c语言中没有所谓的真值和假值,只是认为非0为真值,0为假值.
符号 功能
&& 逻辑与
|| 逻辑或
! 逻辑非
四、关系运算符
关系运算符是对两个表达式进行比较,返回一个真/假值。
符号 功能
大于
< 小于
大于
=等于
<= 小于等于
== 等于
!= 不等于
五、复合赋值运算符:
符号 功能
+= 加法赋
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 模运算赋值
六、位运算符
位与运算符
“ & ”按位与运算符
位异或运算符
“ ∧ ”按位异或运算符
位或运算符
“ | ”按位或运算符
学习体会:
对代码的编写的量还不足,一些较容易犯的错误有时还是会反复的犯。
2.综合作业(6分):小学生口算表达式自动生成系统
2.1.模块流程图
2.2.函数功能及全局变量介绍
void OperateMenu();//主界面
void GradeOneMenu();//一年级操作菜单
void GradeTwoMenu();//二年级操作菜单
void GradeThreeMenu();//三年级操作菜单
void Encourage(double CorrectRate);//输出勉励语句
int getvalueOne();//生成一年级的随机数
int ComputationaOne(int chess, int value1, int value2);//输出一年级的算式并返回正确答案
int getvalueTwo();//生成二年级的随机数
int ComputationaTwo(int chess, int value1, int value2);//输出二年级的算式并返回正确答案
int getvalueThree();//生成三年级的随机数
int ComputationaThree(int chess, int value1, int value2);//输出三年级的算式并返回正确答案
2.2.1.全局变量
int n;//输入控制题目数量
int cnt = 0;//计算题目进行到第几题
double CorrectRate;//计算正确率
int right = 0;//记录正确的题数
int flag = 1;//控制只第一次循环输入题目数量
2.2.2 菜单相关函数
2.2.2 出题相关函数
2.3.运行结果截图,测试用例。
进入主菜单
测试一年级程序
输出正确率 并输出勉励语句 给出判断是返回主菜单还是继续答题
错误时有正确答案输出
2.4.大作业中编程技巧总结
1.创建一个头文件,将函数的声明写在头文件中,避免预处理过长。
2.可以建立多个项目,将不同作用的函数写在不同的项目中,防止主函数的界面太臃肿,同时保证了拓展性。