‘壹’ c语言中怎么自己定义并调用函数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//声明一个求和的函数
int sum(int a, int b);
int main(int argc, char* argv[])
{
int x = 5, y = 7;
int s = sum(x, y); //调用函数
printf("x + y = %d ", s);
system("pause");
return 0;
}
//定义求和函数
int sum(int a, int b)
{
return a + b;
}
更多C语言教程
‘贰’ c语言如何定义函数
函数是用户与程序的接口,在定义一个函数前,首先要清楚以下三个问题。 1) 函数的功能实现及算法选择。算法选择会在后续文章详细讲解,本节重点关注函数的功能实现。一般选取能体现函数功能的函数名,且见名知意,如求和函数的函数名可取为 add,求最大值的函数名可取为 max,排序函数可取名为 sort 等。 2) 需要用户传给该函数哪些参数、什么类型,即函数参数。 3) 函数执行完后返回给调用者的参数及类型,即函数返回值类型。 函教定义格式 函数定义的一般格式为: 返回类型 函数名 (类型参数1,类型参数2,…) { 函数体 } 也可以不含参数,不含参数时,参数表中可写关键字 void 或省略,为规范起见,教程中对没有参数的函数,参数表中统一写 void。例如: 类型 函数名 () { 函数体 } 等价于: 类型 函数名 (void) //建议的书写方式 { 函数体 } 如果该函数没有返回类型,则为 void 类型。例如: void add (int x,int y) { printf ("sum=%d\n", x+y); } 除了 void 类型外,在函数体中,均需要显式使用 return 语句返回对应的表达式的值。 函教返回值 函数的值是指调用函数结束时,执行函数体所得并返回给主调函数的值。 关于函数返回值说明如下。 1) 带返回值的函数,其值一般使用 return 语句返回给调用者。其格式为: return 表达式; 或者 return (表达式); 例如: int add (int a, int b) { return (a + b); //return 后为表达式 } 函数可以含一个或多个 return 语句,但每次调用时只能执行其中一个 return 语句。 例如,求整数绝对值的函数: int f (int n) //含多个return语句,但每次调用只执行一个 { if (n >= 0) return n; else return -n; }
‘叁’ c语言中怎样弄多个函数
如果是用纯C语言来写,把所有函数声明放在最前面,然后函数定义好,这样的函数是公有的,可以随意调用。然后主函数不能少,这样子的话,所有函数包括主函数的前后顺序可随意。
void fun1();
void fun2();
//...
int main()
{
return 0;
}
void fun1()
{
//code...
}
void fun2()
{
//code...
}
//...
‘肆’ c语言中最多能有几个main函数
只能有一个main函数。
在C语言当中,一个程序,无论复杂或简单,总体上都是一个“函数”;
这个函数就称为“main() 函数”,也就是“主函数”。比如有个“做菜”程序,那么“ 做菜 ”这个过程就是“主函数”。
在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。
(4)c语言定义多个函数扩展阅读:
函数分类
从用户使用的角度看,函数有两种:
1、标准函数,即库函数。这是由系统提供的。
2、用户自定义的函数。可以解决用户的专门需要。
二、从函数的形式看,函数分两类:
1、无参函数。printstar和print_message就是无参函数。在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作。
2、有参函数。在调用函数时,在主调函数和被调用函数之间有数据传递。也就是说,主调函数可以将数据传递给被调用函数使用,被调用函数中的数据也可以带回来供主调函数使用。
参考资料:网络-----main函数
‘伍’ C语言中编写两个函数
#include <stdlib.h>
#include <stdio.h>
typedef
struct list{
char data;
struct list *next;
} SLIST;
SLIST *creat(){
int c;
SLIST *h,*s,*r;
h=(SLIST *)malloc(sizeof(SLIST));/*生成头结点*/
r=h;/*r指向当前表尾*/
scanf("%d",&c);/*读入数据*/
while(c!=1){/*未读到数据结束标志时进入循环*/
s=(SLIST *)malloc(sizeof(SLIST));/*生成一个新结点*/
s->data=c;/*读入的数据存入新结点的data域*/
r->next=s;/*新结点连到表尾*/
r=s;/*r指向当前表尾*/
scanf("%d",&c);/*读入数据*/
}
r->next='\0';/*置链表结束标志*/
return h;/*返回表头指针*/
}
void take(SLIST *head){
SLIST *p;
p=head->next;/*p指向头结点后的第一个结点*/
if(p=='\0')
printf("Linklist is null!\n");/*链表为空(只有头结点)*/
else{/*链表非空*/
printf("head");
do{
printf("->%d",p->data);/*输出当前结点数据域中的值*/
p=p->next;/*p指向下一个结点*/
}while(p!='\0');/*未到链表尾,继续循环*/
printf("->end\n");
}
}
int main(){
SLIST *p;
p=creat();
take(p);
}
我在我的VS2010里面编译运行,没有崩溃
输入
2 3 1
输出
head->2->3->end
输入
1
输出
Linklist is null!
‘陆’ c语言定义函数是什么
从参数角度分类:1.有参函数:函数有形参,可以是一个,或者多个,参数的类型随便,完全取决于函数的功能。2.无参函数:函数没有参数,在形参列表的位置写一个viod或什么都不写。
每个C程序都至少有一个函数,即主函数main(),如果程序的任务比较简单,全部的代码都写在main()函数中,但是,在实际开发中,程序的任务往往比较复杂,如果全部的代码都写在main()函数中,main()函数将非常庞大臃肿,结构复杂,代码重复。
详细信息:
我们可以根据程序的逻辑和任务的分工把代码划分到不同的自定义函数中,main()更关心业务逻辑和处理流程,需要执行具体任务的时候,调用这些自定义的函数就可以了。
为了方使理解,我们把函数分为两种:一种是库函数,一种是自定义函数。库函数是C语言提供的,或系统提供的,实现了某些基本的功能,例如scanf、printf,在程序中可以直接使用。
自定义函数是程序员为了完成某项任务而编写的函数,目的是为了实现某项的功能或让主程序更简洁。程序员在使用自定义函数之前,必须先声明和定义。
‘柒’ C语言:可以在一个函数中定义另一个函数为什么不对谢谢
main函数不是必须定义的,可以尝试放在其他函数前面,放在其他函数的上面,下面,都可以。
当编译器编译时,它逐行编译。但它首先找到主函数,当主函数被编译时,它意味着程序被编译。如果主函数位于其他函数之前,则在主函数中调用的子函数(自定义函数)将在主函数之前声明其存在。Void fun(int n,int m);
在大多数编程语言中,必须声明(或在使用之前定义)变量、函数(过程)、结构、类、对象等。如果在使用其函数之前没有声明或定义编译,则编译失败。它还报告错误:未定义的变量或函数,等等。
(7)c语言定义多个函数扩展阅读:
main函数,又称主函数,是程序执行的起点。C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程序运行的入口。
其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。
intmain(void)//整数类型主函数(无类型)
{
...
y1=f1(x1,x2);//赋值过程
...
}
f1(inta,intb)//f1(整数类型a,整数类型b)
{
//网络示例代码.....
Y2=f2(x3,x4);//赋值过程
//网络示例代码
}
f2(intm,intn)//f2(整数类型m,整数类型n)
{
‘捌’ c语言编写两个自定义函数,分别实现求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数
#include<stdio.h>
#include<stdlib.h>
int HCF(int x,int y);//定义最大公约数函数
int LCM(int p,int q);//定义最小公倍数函数
int main()
{
int a,b,hcf,lcm;
scanf("%d%d",&a,&b);//输入两个整数
hcf=HCF(a,b);//调用最大公约数函数
lcm=LCM(a,b);//调用最小公倍数函数
printf("HCF is%d LCM is%d ",hcf,lcm);//输出最大公约数和最小公倍数
system("pause");
return 0;
}
int sum;//定义外部变量sum
//最大公约数函数
int HCF(int x,int y)
{
int i,k,m,n;
sum=1;
k=x>y?y:x;
i=2;
while(i<=k){
m=x%i;
n=y%i;
if(m==0&&n==0){
sum*=i;
x/=i;
y/=i;
i=2;
}
else
i++;
}
return sum;
}
//最小公倍数函数
int LCM(int p,int q)
{
int lc;
lc=p*q/sum;
return lc;
}
(8)c语言定义多个函数扩展阅读:
用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
‘玖’ 在c语言中,我自己定义了两个或多个函数,可以在我自己定义的函数中,使用我定义的函数吗,就是函数嵌套
可以,递归就是这样的啊
‘拾’ 如何在一个C语言程序中设置两个函数
c语言中一个完整的函数由函数首部和函数体构成,而且定义函数时两者都是必不可少的。
函数定义的一般形式如下:
类型标识符
函数名(形参表列)
//
这是函数首部
//
以下{
}内的是函数体
{
说明部分
执行部分
}
举例说明如下:
//
定义一个不带返回值的函数
//
函数功能:输出形参的值
void
fun(int
a,
int
b)
{
printf("%d,
%d\n",
a,
b);
}
//
定义一个带返回值的函数
//
函数功能:返回2个整数数的最大值
int
fun(int
a,
int
b)
{
return
a>b
?
a
:
b;
}