7.23

系统函数:由系统定义好的、用户可直接使用的函数叫做库函数

C语言程序是由一组函数组成的。C语言程序总是从main()函数处开始执行。main()函数可以调用其他函数,其他函数之间也可以相互调用,且被调用次数不限,但其他啊函数不能调用main()函数。

#include<stdio.h>
void print_image(int n)      /*打印规范图形*/
{
	int i,j;
	printf("\n");
	for(i=0;i<n-1;i++)
		printf(" ");
	printf("*");
	for(i=0;i<n-2;i++)
	{
		printf("\n");
		for(j=0;j<n-2-i;j++)
			printf(" ");
		printf("*");
		for(j=0;j<2*i+1;j++)
			printf(" ");
		printf("*");
	}
	printf("\n");
	for(i=0;i<2*n-1;i++)
		printf("*");
 } 
 main()                      /*主函数调用自定义函数*/
 {
 	int i;
 	printf("请输入需要打印三角*阵的行数:\n");
 	scanf("%d",&i);
 	print_image(i);
 }

对于不加类型说明符的函数,返回值一律按整型处理。

当返回值是数值时,返回值的类型可以是char型、int型、short型、long型、float型及double型;当返回值为地址时,函数的返回值应为指针型。

判断一个数是否为素数,若为素数返回1;否则返回0。(所谓素数,是指仅能被1和自身整除的大于1的整数)

#include<math.h>
int isprime(int n)
{
    int i;
    for(i=2;i<=sqrt(n);i++)
        if ((i%2)==0)
            return 0;
    return 1;
}

指针作为函数的返回值

类型标识符 *函数名(形式参数表)

函数名前的“*”号表示函数返回指针类型的数据,类型标识符则表示函数返回的 指针所指向目标的类型。

/*求一维数组中的最大元素的地址*/
#include<stdio.h>
int *max(int a[],int n)
{
    int *pa,*pmax;
    pmax=a;
    for(pa=a+1;pa<a+n;pa++)
        if(*pmax<*pa)
            pmax=pa;
    return pmax;
}
main()
{
    int a[10],*p;
    printf("请输入需要比较的数据:\n");
    for(p=a;p<a+10;p++)
    {
        scanf("%d",p);
    }
    p=max(a,10);
    printf("max=%d",*p);
}

函数的递归调用

在函数的递归调用过程中,并不是重新复制该函数,而是重新石永红新的 变量和参数。每次 递归调用时都要保存旧的参数和变量,使用新的参数和变量,每次递归调用返回时,再恢复旧的参数和变量,并从函数中上次递归调用的地方继续执行。

/*求斐波拉契级数前20项的函数*/
#include<stdio.h>
long f(int n)
{
    if(n==0||n==1)
        return 1;
    else
        return f(n-1)+f(n-2);
}
main()
{
    int i;
    for(i=0;i<20;i++)
        printf("%ld ",f(i));
    printf("\n");
    system("pause");
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值