函数
语法
返回值类型 函数名(形参1,形参2,...)
{
函数体;
return 0;
}
注意:
- 返回值类型:返回值的数据类型,如果没有返回值写void(NULL空)
- 函数名:标识符
- 形参列表:定义的多个变量,使用逗号隔开,可有可无
- 函数体:封装的代码
- return:结束当前函数,return后面跟值或者变量,这个值或变量就是返回值,一个函数最多只有一个返回值
- 同一个程序中不能出现两个相同函数名的函数,函数名是唯一的.
作用
- 降低代码耦合度
- 提高代码复用率
- 降低代码冗余度
- 提高代码可读性
- 提高了代码的可维护性
调用方式
先定义,再调用 定义只需一次,但是可以调用无数次
可以调用别人或系统定义好的函数
- 变量名 = 函数名(实参,...);
- print("占位符",函数名(实参,....));
注意:
实参列表要与形参列表一致(长度一致,顺序一致,数据类型一致)
调用位置: 函数中
函数分类
- 系统调用: 可以直接操作内核的函数,成为系统调用
- 库函数: 有系统提供的函数称为库函数,printf,scanf,rand
- 自定义函数: 自己定义的函数
定义函数的技巧
三个问题:
1.定义函数是为了干什么事?---------------函数体
2.干这件事,需要什么才能完成?-----------形参
3.干完后,调用处是否需要继续使用?-----返回值类型
需要继续使用 必须写
不需要返回 void
函数注意事项
1.函数不调用就不执行
2.函数名不能重复
3.函数与函数之间是平级关系,不能嵌套定义
4.自定义函数写在main函数下面,需要在上方声明
5.return下面不能编写代码,永远执行不到,属于无效代码
6.函数的返回值类型为void,表示没有返回值,return可以省略不写,
如果书写了return,后面不能跟具体的数据,仅表示结束函数.
常见函数
头文件--math.h
pow() 幂
sqrt() 平方根
ceil() 向上取整(进一法)
floor() 向下取整(去尾法)
abs() 绝对值
头文件--time.h
time() 获取当前时间
猜数字游戏
运用随机数和循环加分支语句
//猜数字游戏,范围0-100
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
//定义随机数种子
srand(time(NULL));
//获取随机数
int number = rand()%101;
int num;
//循环:输入错误后重复输入
while (1)
{
printf("请输入一个数字:");
scanf("%d",&num);
//判断随机数和输入数字的大小
if (num==number)
{
printf("恭喜你,猜对了!\n");
break;
}
else if (num > number)
{
printf("输大了,请重新输入!\n");
}
else
{
printf("输小了,请重新输入!\n");
}
}
}
用户在控制台输入一个数字,控制台返回结果告知用户结果大小.