C语言博客作业--函数嵌套调用

一、实验作业

1.1 PTA题目

6-4 十进制转换二进制

设计思路

void dectobin( int n )

  定义整型变量 i;
  当i不比二小时,i=n/2执行该函数
  递归输出n%2的值

代码截图

调试问题

一开始的思路有点模糊,然后感觉该题与课堂派的期中考递归题的思路有点相似,借鉴思考后正确

1.2 学生成绩管理系统

1.2.1 画函数模块图,简要介绍函数功能

1.2.2 截图展示你的工程文件

1.2.3 函数代码部分截图

头文件

插入学生信息及学生成绩信息代码


删除学生成绩信息代码

总分排序代码

本系统代码总行数:294

1.2.4调试结果展示

能够新增学生信息:


对输入重复有处理

根据输入学号和课程号修改学生成绩信息:

6学号原先的数据:

对6学号数学进行修改:

根据输入学号和课程删除学生成绩信息:

删除6学号的数学成绩:

输出显示所有学生成绩信息。(按照学号排好序的)

能够分别按照总分和平均分进行排序:

能够根据学号查询学生信息

1.2.5 调试碰到问题及解决办法

最早是显示源文件未编译,后重新弄项目,添加进去就可以了


文件存放问题,后有发现头文件没放到同目录下


成绩的输入问题,自己看代码后发现是自己的scanf语句有问题,定义double却用%d

自己在最开始增加代码时想以增加的形式,即第二次及其以后是要在原有的基础上增加还是清空重新赋数据,出现了循环问题,无法重复录入

后发现是自己的循环问题,写i=count为最初赋值,然而count也随循环改变,后自己重新用count1变量来赋i循环初值

自己在弄学生系统时没把要求理解好,要求是插入新增,一直保持有序状态,而自己以为只要输入,排序的问题自己在输完排序

在用dev-c++运行时系统总会出现运行失误问题,回跳到其他的界面,有些文件弄好却会显示找不到,我都是自己再新建才能重新运行

自己的系统还存在着较多的不完善

二、截图本周题目集的PTA最后排名

三、阅读代码

这是一个运用递归输出1,2,3的所有排列方式的代码

我认为该代码用递归的方式比较简洁,若以以往的思维罗列,那将大大复杂化且易出错,该代码函数的使用、调用与条件应好好思考

四、本周学习总结

1.介绍本周学习内容

宏基本定义:

define 宏明 宏定义字符串

  • 宏定义尾号无需跟分号,如果跟分号视为宏替换内容
  • 宏定义字符串可以是任意字符串,中间可以有空格,以回车结束
  • 当# define后面跟杠符表示该行未结束,与下一行合起来成为完整一行,但一般不提倡把整个C语句简写成宏
  • C语言允许宏嵌套定义

如:# define  PI  3.1415  
     # define  S   PI*r*r

  • 宏替换不做计算,直接替换进去,要避免计算问题,要增加括号

文件包含

  • 格式:# include <需包含的文件名> 或 # include "需包含的文件名"
  • 使用<>时表示使用C语言的标准头文件,使用“”表示到当前工作文件夹寻找或再到系统include文件夹中寻找,适用于编程者自己的包含文件

编译预处理

  • 功能主要包括文件包含( # include)、宏定义( # define)、条件编译
  • 条件编译
#define  FLAG 1
# if  FLAG
    程序段1
# else
   程序段2
#endif

外部变量

  • 声明格式:extern 变量名表

字符串之间的比较与赋值不能直接进行,要记得调用函数

指针数组

  • 一维指针数组:类型名 * 数组名[数组长度];
  • 指向指针的指针定义(二级指针):类型名 * * 变量名;
  • 二维数组的指针形式:a+i是第i行的地址,* (a+i)是i行首元素的地址,* ( * a+i )第i行首元素的值,a[i][j]等同于* ( * (a+i)+j )或* (a[i]+j)
  • 指针数组不存放字符串,仅仅用数组元素指向各个字符串,不造成内存单元的浪费
  • 不能在实现函数时返回在函数内部定义的局部数据对象的地址,所有的局部数据对象在函数返回时就会消亡,不再有效

错题

该题很好的体现指针与数组的指向表示问题


要记得宏替换不做计算,直接替换进去!

A为正确

2学习体会

指针进阶,链表,学生系统...感觉C越来越复杂了,代码越来越难懂,

在做学生系统时自己也感觉到自我查错能力的重要性,

那么多的代码总数,许多的函数汇集,是难以调试,更多的是要提高自己的找错能力才能更高效率的完成

知识点的多与杂,也要好好理解消化,在一些知识点的使用上要理解好,使用时要注意

posted @ 2017-12-31 22:50  hahaha233  阅读(455)  评论(1编辑  收藏  举报