C语言博客作业--函数嵌套调用
一、实验作业(6分)
6-1 递归实现指数函数(15 分)
提交列表
设计思路
double calc_pow( double x, int n )声明函数
{
定义一个浮点型 result=1.0*x;
if(n==0) return 1;当n=0,说明result =x的n次方。
否则{
return x*calc_pow(x,n-1);继续调用本身,来实现result*x
}
}
代码截图
本题的调试过程
这是第一次的时候的做法,这样做有一个问题是,每次递归的时候都会将x的值改变,导致最终的结果错误。
.2 学生成绩管理系统(5分)
1.2.1 画函数模块图,简要介绍函数功能。
1.2.2 截图展示你的工程文件
1.2.3 函数代码部分截图
本系统代码总行数:256
1.2.4 调试结果展示
这道题我定义的全局变量好像没作用的样子,我的外部变量老是出错,导致程序不能正常运行其他地方虽然不够完善但是还是能够满嘴基本的要求,我能力有限,问了老师,我还是解决不了。
1.2.5 调试碰到问题及解决办法。
我在调试的时候,那个put代码总是不会生成o文件。导致在声明的时候总是出现undefine .弄了好久还是解决不了。
还有就是那个search 函数会出现程序崩溃,查了很久查不出来,明天去学校问问同学,现在经过询问老师后,那个put 会生成0的文件了但是就是那个全局变量的问题解决不了导致整个程序会运行错误。
最终的排名截图
三、阅读代码(1分)
本题是选自课堂派的一道当时错掉的题目俩阅读,虽然比较简单,但是还是能够巩固一下。
#include <stdio.h>
#include <string.h>
char *fun(char *t) 定义指针函数
{
char *p = t; 定义指针p让他=t
return (p+strlen(t)/2); 返回p后移4位的字符串
}
int main(void)
{
char *str = "abcdefgh"; 初始化指针
str = fun(str); 调用函数
puts(str);
return 0;
}
四、本周学习总结(1分)
1.介绍本周学习内容
1:本周新学的内容有递归,其中递归要注意的有一定要有递归出口,递归的表达式:如fact=n*fact(n-1);
2:还有就是老师教的如何建工程,虽然还没成功过,但是基本的操作还是明白了
3:然后就是学习了指针数组,指向指针的指针还有就是二维数组与指针数组的关系
4:了解了宏基本定义,宏可以增加程序的灵活性,还能实现一些简单的函数功能。
学习内容注意点
1:还有一个宏的注意点就是它是只进行替换,对于一些带有乘除的运算为了避免错误应当适当的加上一些括号。
2:文件包含的指定文件如果使用<>,将使用c语言的标准头文件,由编译器到c系统设置好的include 文件夹中把指定的文件包含进来;而如果使用的是双引号,则编译器会到当前文件夹去寻找包含文件,若是找不到会再到include 的文件夹中去寻找。
2.学习体会。
本周最有意思的我觉得就是建立工程这一项任务,虽然我的工程建的不是很成功。为什么觉得他有意思,因为,这是第一次比较接近现实的一次操作平常对pta上的题目虽然也很有意思,但总会让人觉得不知道有什么用。