一·函数应用
<1>.函数定义的以般形式
1.无参函数
定义无参函数的一般形式如下:
类型说明符 函数名()
{
声明部分
语句
}
2.有参函数
定义有参函数的一般形式如下
类型说明符 函数名 ()
{
声明部分
语句
}
<2>函数的调用
函数名 ()
注:实参:调用时传递给函数的参数
形参:定义函数名和函数体的时候使用的参数
<3>函数值的反回
return 表达式;
注:return语句只能反回一个值
二·模块化程序设计
1.定义:是指在程序设计中将一个复杂的算法系统分解成若干相对独立、功能单一的模块,并利用这些模块积木式地组合成所需的全部程序。
2 .自顶向下的设计方法
对比较复杂的程序设计问题,程序设计人员通常是将任务逐步分解细化,首先把复杂问题分解为主要任务,然后在主要任务中再进一步细分为一系列子任务,直到所有的任务都被确定。这种先定主要任务,再逐步细分成子任务的过程称为自顶向下设计方法。
三·局部变量与全局变量
例:
2·区别
1. 作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等
2. 内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区
3. 生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了
四·递归
.
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;
}