罗良第四周学习小结

一·函数应用

<1>.函数定义的以般形式

1.无参函数
定义无参函数的一般形式如下:
类型说明符 函数名()
{
声明部分
语句
}

2.有参函数

定义有参函数的一般形式如下

类型说明符 函数名 ()

声明部分
语句

<2>函数的调用

函数名 ()

注:实参:调用时传递给函数的参数

       形参:定义函数名和函数体的时候使用的参数

<3>函数值的反回

return 表达式;

注:return语句只能反回一个值

二·模块化程序设计

1.定义:是指在程序设计中将一个复杂的算法系统分解成若干相对独立、功能单一的模块,并利用这些模块积木式地组合成所需的全部程序。

2 .自顶向下的设计方法

对比较复杂的程序设计问题,程序设计人员通常是将任务逐步分解细化,首先把复杂问题分解为主要任务,然后在主要任务中再进一步细分为一系列子任务,直到所有的任务都被确定。这种先定主要任务,再逐步细分成子任务的过程称为自顶向下设计方法。

三·局部变量与全局变量

例:

 

 

2·区别 

1. 作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等

2. 内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区

3. 生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了

四·递归

是什么:直接或间接调用自己的算法。
 
关键点:1.确定好条件。2.找到循环的是哪些。
(1)边界条件:确定递归到何时终止,也称为递归出口
2·图解

.

 

 3·例

汉诺塔

#include <stdio.h>
#include <string.h>
void move(char A,int n,char B)//定义一个move函数,来打印往哪挪,谁挪。
{
printf(" %d 从%c挪到%c\n",n,A,B);
}
void Hanoi(int n,char A,char B,char C)//汉诺塔递归
{
if(n==1)//递归终结条件
move(A,1,C);
else
{
Hanoi(n-1,A,C,B);
move(A,n,C);
Hanoi(n-1,B,A,C);
}
}
int main()
{
int a;
char A = 'A',
B = 'B',
C = 'C';
printf("请输入汉诺塔的层数:");
scanf("%d",&a);
Hanoi(a,A,B,C);
return 0;
}

 

posted @ 2021-10-17 17:17  软件2111罗良  阅读(49)  评论(1编辑  收藏  举报