c语言入门——函数

一、为什么使用函数?

  • 将所以功能写入主函数中,代码可读性差
#include <stdio.h>
//学生登记 
void input() //一个函数 
{
	printf("代码很长的一个功能");
}
void Sign_S()
{
	printf("代码很长的一个功能");
}
void sink()
{
	printf("代码很长的一个功能");
}
void delect()
{
	printf("代码很长的一个功能");
}

void main()
{
	int sign;
	printf("输入:1-登记,2-查询,3-添加,4-删除\n");
	scanf("%d",&sign);
	switch(sign)
	{
		case 1:input();break;//input()就是调用这个代码 
		case 2:Sign_S();break;
		case 3:sink();break;
		case 4:delect();break;
		
		
	}	
}
  • 多次使用同一功能
#include <stdio.h>
//学生登记 
void print_x();//函数的原型声名
void print_J();

void main()
{
	print_x();
	print_J();
	print_J();
	
}
void print_x()
{
	printf("*********************************************");
	printf("*********************************************");
	printf("*********************************************");
	printf("*********************************************");
	printf("*********************************************");
	printf("*********************************************");
	printf("*********************************************");
	printf("*********************************************");
}
void print_J()
{
	printf("+++++++++++++++++++++++++++++++++++++++++++++");
	printf("+++++++++++++++++++++++++++++++++++++++++++++");
	printf("+++++++++++++++++++++++++++++++++++++++++++++");
	printf("+++++++++++++++++++++++++++++++++++++++++++++");
	printf("+++++++++++++++++++++++++++++++++++++++++++++");
	printf("+++++++++++++++++++++++++++++++++++++++++++++");
	printf("+++++++++++++++++++++++++++++++++++++++++++++");
	
} 
 

二、函数的定义,调用,声名

1.函数的定义,调用

  • 函数定义:类型+函数名称+()
  • 函数的调用:想要调用的函数名+()
  • 程序的执行从main函数开始,函数调用完成之后返回调用的位置接着执行
    • 函数类型没有返回值的使用void,有返回值的根据返回类型定义
      在这里插入图片描述
    • 有参函数(实参可以是常量,变量,表达式;形参只能是变量)
    • 在这里插入图片描述
    • 无参函数
      void wc_hanshu()
    • 空函数
#include <stdio.h>
int sum();


void main()
{
	int a;
	int x=5,y=3;
	sum();
	//其他代码 

	
}
int sum()//提前占位置 
{
	
}

2. 函数的原型声名

  • 如果被调函数在主调用函数的前面不需要声名
  • 如果被调用的函数类型为整型,则允许在调用函数前不做声明。
#include <stdio.h>
int sum(float a,float b);//函数原型声名,在各个函数前定义了,函数中可以直接调用 
void main()
{
	int a;
	float x=5.4,y=3.9;
	a=sum(x,y);
	printf("%d",a);

	
}
int sum(float a,float b)//以函数类型为准 
{
	float z;
	z = a+b;
	return z; //9.3 ->  9a 
}
#include <stdio.h>
int sum(float a,float b)
{
	float z;
	z = a+b;
	return z; 
} 

void main()   //不需要
{
	int a;
	float x=5.4,y=3.9;
	a=sum(x,y);
	printf("%d",a);

	
}

3.举例

  • 编写判断一个数为素数的函数,输出 100 到 200 之间的素数。
#include <stdio.h>
//编写判断一个数为素数的函数,输出 100 到 200 之间的素数。(除了1和他本身不能被其他数整除)
void main()
{
	int pd(int x);//函数的原型声名 
	int result,i;
	for(i=100;i<=200;i++)
	{
		result = pd(i);//调用 
		if(result == 0)//将返回值经行判断 
			printf("%d是素数\n",i);
	}
	 
} 
int pd(int x)//值传递 ,返回整形值 
{
	int flag=0;
	int i;
	for(i=2;i<x;i++)
	{
		if(x%i==0)
		{
			flag = 1;
			break;
		}
			
	}
	return (flag); 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值