你的成就由你买单 |
---|
大白的笔记难免由不足之处,望大佬指点一二 |
函数
函数(function)
完成特定任务的独立代码单元,让程序更加模块化,减少代码的重复性,提高代码的阅读性。
(边理解在通过代码演示往往会有事半功倍的效果)
#include <stdio.h> //c库文件头
void main(void)
{
printf("main函数是所有程序调用的入口");
}
上面就是我们最常见的一个函数,称为主函数。(不多逼逼,只要学了程序语言基本都知道)
如何自己创建一个函数
通过数组中冒泡排序这个例子,需要使用到的函数举例,这样就更容易理解。
int inputDataFunction(int array[] , int input) //对数组通过键盘输入元素
{
int a;
for(a=0;a<input;a++)
{
scanf("%d"&array[a]);
}
return 0 ;
}
inputDataFunction函数功能:
对数组进行赋值,你知道其中的方便了吗?(试想如果我通过键盘进行赋值是非常麻烦的,通过函数就简单实现了,是不是很爽!)
int outputDataFunction(int array[] , int output) //输出素组的元素
{
int m ;
for(m=0 ; m<output ; m++)
{
printf("%d",array[m]);
}
return 0;
}
outputDataFunction函数的功能:
调用后对元素进行遍历 (同样方便,只要我们进行传参进行调用就可以对数组元素遍历)
int bubbleSortingFunction( int array[] , int length)
{
int c,d ,middle;
for(c = 0 ; c<length ; c++)
{
for(d = 0 ; d<length-c-1 ; d++)
if(array[d]>array[d+1])
{
middle = array[d];
array[d] = array[d+1];
array[d+1] = middle;
}
}
return 0 ;
}
bubbleSortingFunction函数的功能是:
对数组元素进行升序排序,排序千万种,冒泡是一种。
int reverseOrder(int array[] , int length)
{
int e,middle,a = 0 ;
for(e=0 ;e<length/2 ; e++)
{
a++;
middle = array[e];
array[e] = array[length-a];
array[length-a] = middle;
}
}
reverseOrder函数功能:
对数组元素进行逆序
**==================================**
函数的数据类型
函数类型其实跟变量的规则类似 (废话不多直接代码演示)
#include <stdio.h>
{
void main(void){}
//该函数类型表示没有返回值,也不能对此函数进行传参
void mian(){}
//仅仅表示函数没有返回值,可以进行对起进行传参
int main(){}
//表示此函数有返回值,也可以进行传参
int main(void){}
//表示此函数有返回值,但是不能进行传参
}
以上使用的函数进行汇总进行调用查看效果
代码如下:
#include <stdio.h>
int inputDataFunction(int array[] , int input);
int outputDataFunction(int array[] , int output);
int bubbleSortingFunction(int array[], int length);
int reverseOrder(int array, int length);
void main(void)
{
int array[100] = { 0 }; //数组清零
int length;
printf("请你输入你想要排序的数组长度:范围在1~100 \n");
scanf("%d",&length);
printf("");
printf("录入数组元素: \n");
inputDataFunction(array , length);
printf("");
printf("你输入的数组元素原数列: \n");
outputDataFunction(array , length);
printf("\n冒泡排序之后的元素:\n");
bubbleSortingFunction(array , length);
outputDataFunction(array , length);
printf("\n冒泡排序后的函数进行逆序:\n");
reverseOrder(array , length);
outputDataFunction( array , length);
}
int inputDataFunction(int array[], int input) //对数组通过键盘输入元素
{
int a;
for (a = 0; a < input; a++)
{
scanf("%d", & array[a]);
}
return 0;
}
int outputDataFunction(int array[] , int output)
{
int m ;
for(M=0;M<output;m++)
{
printf(" %d",array[m]);
}
return 0 ;
}
int bubbleSortingFunction(int array[] ,int length)
{
int c ,d,middle;
for(c=0 ; c<length ; c++ )
{
for(d=0 ; d<length-c-1 ; d++)
{
if(array[d]>array[d+1])
{
middle = array[d];
array[d] = array[d+1];
array[d+1] = array[d];
}
}
}
return 0 ;
}
int reverseOrder(int array[] , int length)
{
int e,middle ,a =0 ;
for(e=0 , e<length/2 ;e++)
{
a++;
middle = array[e];
array[e] = array[length-a];
array[length-a] = middle;
}
}
运行结果如下