函数调用
说明
函数的调用
子函数想要运行一定要直接或间接的调用到主函数中,主函数不能被调用。
注:间接调用:函数套函数
有返回值:定义一个变量接收;有参数:传入参数数据
注:如果一个函数有参数,调用的时候一定要传参;如果一个函数有返回值,调用的时候可以不接收返回值;返回值可以是多个数据
递归函数
说明:主函数调用子函数
子函数调用其他函数
子函数调用自己----递归函数
达成某种条件调用自己。
从键盘输入10个数(子函数输入),统计非负数的个数(子函数打印),求出非负数的和并打印。
主函数:调用子函数
子函数:输入十个数据
统计非负数个数
计数非负数的和
练习
如何操作十个数据
通过循环结构用一个变量接收输入的数据,输入一个数据就判断一个,不是负数就计数并且累加。
void test()
{
int n;
int val
int count;
int sum=0;
for(n=1;n<=10;n++)
{
printf(“请输入第%d个数据\n”,n);
scanf(“&d”,&val);
if(val>=0)
{
count++;
sum +=val;
}
}
printf(“共有%d个”,count);
printf(“和为%d”,sum);
}
#include <stdio.h0>
void test(void);
int main(void)
{
char key;
while(1)
{
test();
printf...
key=gatch();
if(key!=’y’)
{
break;
}
}
return 0
}
补充:
gatch()函数
函数属性:库函数
函数功能:字符输入
使用格式:char k=getch();
特点:输入字符的时候不显示
不需要按回车确认自动识别
头文件#include <conio.h>
System(“cls”)函数:
函数属性:库函数
函数功能:清屏函数
头文件:#include <stdlib.h>
编写一个函数,输出1到n包括n中2出现了几次。将次数作为返回值 在主函数打印
分析:遍历1到输入的数据之间所有的数
能分离的要位分离,看对应位是不是2,是就计数
循环结构
{
判断最后一位是否为2,是计数++
去掉判断过的低位数据 /10
}
/*
①遍历1~20
for(i=1;i<=20;i++)
{
while(i!=0)
{
if(i%10==2);
{
计数++;
}
i/=10;
}
}
12
while(i!=0)
{
i%10==2;
i/=10;
}
}
*/