6.7-6.9递归

题外话:如何查询代码运行速度

在做了PTA浙大的程序题中我发现了这么一个要求:
在这里插入图片描述
就是对这些很关键的体现水平高低的一些参数做了要求。一般人也学不到需要考虑这个问题的境界。这里对程序的运行时间做一种查看方法介绍:
在这里插入图片描述
比如我们随便写一块代码:

#include<time.h>
int main()
{
   
	double start,finish;
	start = (double)clock();
	int a = 1;
	int b = 2;
	int sum = a + b;
	printf("sum=%d\n", sum);
	finish = (double)clock();
	printf("%.5f ms", finish - start);
	return 0;
}

在这里插入图片描述
一个很简单的代码,只是现在我还不能理解它的意义。

 //查看代码运行时间
    //double start, finish;
    //start = (double)clock();//程序运行时间,在程序开始处使用
    //finish = (double)clock();//程序结束处
    //printf("%.5f ms".finish - start);//输出时间差秒数

函数的声明和定义(续)

接上回继续补充。

#ifndef __Add_H__
#define __Add_H__
//函数的声明
int Add(int, int);
#endif //__Add_H_

相对上节所说我们多了几行说明,即

#ifndef __Add_H__
#define __Add_H__
#endif //__Add_H_

这是为了工程化使用。其后面__Add_H__的意义即取自头文件本身的名字add.h
在这里插入图片描述
我们引用头文件的时候,比如

#include <stdio.h>

往往别人也会引用,而且这样子的引用,其实是将整个头文件的代码都加入了这个文件之中,如果多人都引用,就容易造成冗杂。
ifndef即为if not define之意,如果原来这个头文件没有被引用,那就继续define,函数声明,在endif停止。
如果原来已经被引用则ifndef判断为假就不再继续。这就防止了函数被重复引用。

递归

程序调用自身的编程技巧称为递归。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化成一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可以描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
递归的主要思考方式在于:大事化小

int main()
{
   
	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值