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.可以建立多个项目,将不同作用的函数写在不同的项目中,防止主函数的界面太臃肿,同时保证了拓展性。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现