1. 请教,如何用C语言编写一个函数。
一个函数(function)是一个可以从程序其它地方调用执行的语句块。以下是函数定义格式:
type name ( argument1, argument2, ...) statement
说明:
type 是函数返回的数据的类型
name 是函数被调用时使用的名
argument 是函数调用需要传入的参量(可以声明任意多个参量)。每个参量(argument)由一个数据类型后面跟一个标识名称组成,就像变量声明中一样(例如,int x)。参量仅在函数范围内有效,可以和函数中的其它变量一样使用, 它们使得函数在被调用时可以传入参数,不同的参数用逗号(comma)隔开.
statement 是函数的内容。它可以是一句指令,也可以是一组指令组成的语句块。如果是一组指令,则语句块必须用花括号{}括起来,这也是我们最常见到情况。其实为了使程序的格式更加统一清晰,建议在仅有一条指令的时候也使用花括号,这是一个良好的编程习惯。
示例:每一个C语言程序有且只有一个main函数,本身main就是一个函数。结合上面的格式,自己理解一下。
intmain()
{
return0;
}
2. c语言调用其他文件的函数怎么编译
调用函数库的话用#include<XXX.h>或者#include"XXX.h"区别是你库文件放在同一个文件夹还是在IDE的安装目录下面,如果你库文件在你工程文件夹里面用#include<XXX.h>,否则用#include"XXX.h"
如果你说自己写库的话是需要两个宏命令,#ifndef_XXX_H#define_XXX_H,然后你函数名用extern表示
如果你说编译的话,你应该说的是编译原理吧,你可以反汇编一下一个编译好的程序,如果该处编译了一个其他函数库的函数,你可以看到程序把参数PUSH到内存后CALL或者LCALL了一个这个函数的地址,这就完成了汇编中调用函数的部分,我记得X86里面CALL的机器码是E8H吧,有兴趣的话可以自己用反汇编看一下
这个CALL的话就是调用函数的功能
3. 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; }
4. c语言如何编写自己的函数
前面弄的那个格式错乱了!所以重新弄了一遍,这次应该没问题了!
(1)无参函数的定义一般形式:
类型说明符 函数名()
{
类型说明符
语句
}
例如: void Hello()
{
printf("Hello,world");
}
(2)有参函数的定义一般形式:
类型说明符 函数名(形式参数表)
{
类型说明符
语句
}
例如: int max(int a,int b)
{
if(a>b)
return a;
else
return b;
}
其中类型说明符指明了本函数的类型,函数的类型实际上是函数返回值的类型,它们通常是C语言的
基本数据类型.
5. C语言库函数如何编写
自己可以编写一个头文件的,而且编写好之后放到编译器安装目录下的include目录里面,在以后编写程序的时候就可以#include <filename.h>了。比如编写一个头文件:
color.h:
#include <Windows.h>
void SetColor (size_t num)
{
HANDLE Consolehwnd;
Consolehwnd = GetStdHandle (STD_OUTPUT_HANDLE);
SetConsoleTextAttribute (Consolehwnd, num);
}
在以后的程序中#inlcude <color.h>是可以的。但是注意只能在自己的编译器中运行哦。
6. c多个文件如何编译
关于整个 C 语言中的主函数 main( ) 如何调用相关的头文件(*.h)、以及调用其它独立的模块(*.c)的方法,关键在于对于如何编写 makefile 文件的真正理解、以及真正掌握编写规则。
由于我已经有很多年没有编写过 C 语言源程序、以及编写 makefile 文件了,但是可以大概给你提供一个思路就是:
下面的文本文件假设以 my_makefile 为例,编译环境为 Linux 系统,C 语言编译器为 gcc。
但是在这里注意一点:我的 my_makefile 文件中的注释语句是否是分号进行注释,我已经不太记得了,这个需要自己再参考一下。
另外就是:对源文件(*.c)、以及生成可执行文件(my_runfile)在 my_makefile 文件中的前后次序,我也记不清了,仅供参考。
myprog1.o: myprog1.c ; myprog1.o 的生成依赖于 myprog1.c 这个源程序
gcc -c myprog1.c ; 使用 Linux 系统的 C 语言编译器对 myprog1.c 只编译、不链接
myprog2.o: myprog2.c ; myprog2.o 的生成依赖于 myprog2.c 这个源程序
gcc -c myprog2.c ;使用 Linux 系统的 C 语言编译器对 myprog2.c 只编译、不链接
my_runfile: myprog1.o myprog2.o ; 可执行文件 my_runfile 的生成依赖于 myprog1.o、myprog2.o 这两个目标文件
gcc -o my_runfile myprog1.o myprog2.o ; 使用 cc 的 -o 选项生成用户自定义的可执行文件:my_runfile,如果不指定 -o 选项,cc 编译器生成的缺省可执行文件名为:a.out
运行命令为:
$make -f my_makefile (使用 -f 选项代替缺省的 make 文件名 makefile)
7. 如何在C语言中定义一个函数
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
8. 关于C语言,编写一个函数
#include <stdio.h>
int fun(int a[],int n,int b[],int c[])
{
int i,j,count=0,temp;
for(i=0;i<n;i++)
{
if(a[i]>-20)
{
b[count]=a[i];
c[count]=a[i];
count++;
}
}
for(i=0;i<count;i++)
for(j=0;j<count;j++)
if(c[i]>c[j])
{
temp=c[i];
c[i]=c[j];
c[j]=temp;
}
return count;
}
void main()
{
int a[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20};
int b[10]={0},c[10]={0};
int count,i;
for(i=0;i<10;i++)
printf("%d\t",a[i]);
printf("\n");
count = fun(a,10,b,c);
for(i=0;i<count;i++)
printf("%d\t",b[i]);
printf("\n");
for(i=0;i<count;i++)
printf("%d\t",c[i]);
printf("\n");
}
9. C语言编写函数
#include<stdio.h>
intdelnum(inta[],intnum,intn);
intmain()
{
inta[4]={1,2,3,4},i;
intlen=delnum(a,3,4);
printf("修改后的数组为: ");
for(i=0;i<len;i++)
printf("%d",a[i]);
printf(" 该数组长度:%d",len);
}
intdelnum(inta[],intnum,intn)
{
inti,j,temp;
for(i=0;i<n-1;++i)
{
if(a[i]==num)
for(j=i;j<n;++j)
a[j]=a[j+1];
}
return(n-1);
}