七 函数
7.1 库函数的正确使用
随机数
#include<stdio.h>
// 导入两个头文件
#include <stdlib.h>
#include<time.h>
int main01(void)
{
int i;
//第2步 创建随机数种子 time 获取当前系统时间将当前时间作为随机数种子
srand((unsigned int)time(NULL));
// 3 生成随机数
for(i=0;i<100;i++){
printf("%d\n",rand()%100);//0-9之内的随机数
}
return 0;
}
// 小游戏 猜数字 随机一个1-100之间的数 通过键盘输入数据 根据数据输入进行提示
int main(void)
{
int value; //用户输入的数值
int num; //随机数
// 将当前系统时间加入到随机数种子里
srand((unsigned int)time(NULL));
num=rand()%100+1;//0-99的数
while(1)
{
scanf("%d",&value);
if(num >value)
{
printf("您输入的数太小了\n");
}else if(num<value)
{
printf("您输入的数太大了\n");
}else
{
printf("恭喜你,猜对了");
break; //跳出死循环
}
}
return 0;
}
7.2函数的定义方法
#include <stdio.h>
// pow(x,y)
// 使用函数的优点:提高代码阅读性 减少代码冗余
// 函数格式
// 返回值类型 int 函数名(参数列表|数据类型)
// {
// 函数的代码体
// 返回值
// }
// 函数定义(函数的实现过程) 如果有多个函数参数,需要使用,隔开
int add(int a,int b)
{
int sum =a+b;
return sum;
}
int main(void)
{
int a=10;
int b=20;
// 函数调用(函数的使用过程)
int sum;
sum=add(a,b);
printf("%d\n",sum);
return 0;
}
7.2.1 函数名 形参列表 函数体
1) 函数名
理论上是可以随意起名字,最好起的名字见名知意,应该让用户看到这个函数名字就知道这个函数的功能。注意,函数名的后面有个圆换号(),代表这个为函数,不是普通的变量名。
2) 形参列表
在定义函数时指定的形参,在未出现函数调用时,它们并不占内存中的存储单元,因此称它们是形式参数或虚拟参数,简称形参,表示它们并不是实际存在的数据,所以,形参里的变量不能赋值。
3) 函数体
花括号{ }里的内容即为函数体的内容,这里为函数功能实现的过程,这和以前的写代码没太大区别,以前我们把代码写在main()函数里,现在只是把这些写到别的函数里。
7.3 函数的类型和返回值
7.3.1 有参函数调用和无参函数调用
无参函数调用:
如果是调用无参函数,则不能加上“实参”,但括号不能省略。