C语言初阶函数

**C语言初阶函数

`



一、函数介绍

1.C语言中函数的分类

    C语言中函数的分类:1.库函数   2.自定义函数

2.常用的库函数

    (1) IO函数 :printf  scanf  getchar  putchar
     (2) 字符串操作函数:strcmp  strlen  strcpy(拷贝字符串)
     (3) 字符操作函数:toupper(小写转大写函数)
     (4) 内存操作函数:memcpy  memcmp  memset(内存设置)  memory(记忆内存)
     (5) 时间/日期函数:time
     (6) 数学函数:sqrt  pow
     (7) 其他库函数 

3.如何使用库函数

     博主在这里推荐两个途径:
     (1) MSDN
     (2) www.cplusplus.com
     注:使用库函数必须引用#include的头文件!

4.自定义函数

     (1) 自定义函数格式
     char * strcpy ( char *strDestination   const char*strsource)
     {
            语句;
     }
     (2) 格式组成
     函数返回类型:char*  
     函数名:strcpy  
     形参:char *strDestination   const char*strsource
     函数体:语句

5.函数的调用

     (1) 传值调用:改变形参,而不会改变实参
     (2) 传址调用:形参值随着地址一起传递的方式`
#include<stdio.h>
void Add(int* p)
{
	(*p)++;
}
int main()
{
	int num = 0;
	Add(&num);
	printf("%d\n", num);//1
	Add(&num);
	printf("%d\n", num);//2
	return 0;
}

二、函数的嵌套调用和链式访问

1.函数的嵌套调用

     函数与函数之间可以有机的组合的
#include<stdio.h>
void new_line()
{
	printf("hehe\n");
}
void three_line()
{
	int i = 0;
	for (i = 0; i < 3; i++)
	{
		new_line();
	}
}
int main()
{
	three_line();
	return 0;
}

2.链式访问

     把一个函数的返回值作为另一个函数的参数
#include<stdio.h>
int main()
{
	printf("%d", printf("%d", printf("%d", 43)));//4321
	return 0;
}
//printf返回的是打印在屏幕上的个数

3.函数的声明和定义

     当函数的定义放在 main 函数后面时,因为代码是从前往后检测,故会报错,此处就要声明函数
#include<stdio.h>
int main()
{
	int a = 10;
	int b = 20;
	//函数声明---告知
	int Add(int, int);
	int c = Add(a, b);
	printf("%d\n", c);//30
	return 0;
}
int Add(int x, int y)
{
	return x + y;
}

三、函数递归

     递归思考方式:大事化小
     递归的两个必要条件:
     ① 存在限制条件,当满足这个限制条件的时候,递归便不在继续
     ② 每次递归调用之后越来越接近这个限制条件
//输入1234,输出1 2 3 4
#include<stdio.h>
void print(unsigned int n)
{
	if (n > 9)
	{
		print(n / 10);
	}
	printf("%d ", n % 10);//1 2 3 4
}
int main()
{
	unsigned int num = 0;
	scanf("%u", &num);//1234
	//递归——函数调用自己
	print(num);
	//printf函数可以打印参数部分数字每一位
	return 0;
}
    写递归代码时:
    1.不能死递归,都有跳出条件,每次递归逼近跳出条件
    2.递归层次不能太深
  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c.night

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值