c语言函数的使用
‘壹’ c语言中函数的作用
C语言中的函数的作用是可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用。
示例:
语言的函数定义和函数声明
#include<stdio.h>
//使用函数前,需要在main函数前对使用的函数进行声明
int getMax(int, int);
void main() {
int t=getMax(12, 21);
printf("%d ", t);
getchar();
}
int getMax(int a, int b) {
if (a > b) {
return a;
}
else {
return b;
}
}
(1)c语言函数的使用扩展阅读
scanf 函数
函数原型:int scanf(char *format [,argument,...])
功能:从标准输入设备(一般指键盘)实现格式化输入
返回值:成功返回读入的数据项个数
函数参数:format 格式化字符串
argument 输入数据项的地址列表
常用格式类型参考printf函数的个格式类型
用法举例:
从标准输入设备中输入一个整数到整形变量a中,输入一个浮点数到浮点型变量b中
int a=0;
float b=0;
scanf("%d%f",&a,&b);
上面程序执行后,从键盘输入: 19 18.6 ,程序将 19赋值给变量a, 18.6赋值给变量b 。
‘贰’ C语言如何调用函数
C语言中,函数调用的一般形式为:
函数名(实际参数表)
对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
#include<stdio.h>
intfun(intx,inty);//函数声明,如果函数写在被调用处之前,可以不用声明
voidmain()
{
inta=1,b=2,c;
c=fun(a,b);//函数的调用,调用自定义函数fun,其中a,b为实际参数,传递给被调用函数的输入值
}
//自定义函数fun
intfun(intx,inty)//函数首部
{//{}中的语言为函数体
returnx>y?x:y;//返回x和y中较大的一个数
}
(2)c语言函数的使用扩展阅读
C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。
这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。这与其它语言的子程序嵌套的情形是类似的。其关系可表示如图。
图表示了两层嵌套的情形。其执行过程是:执行main函数中调用a函数的语句时,即转去执行a函数,在a函数中调用b 函数时,又转去执行b函数,b函数执行完毕返回a函数的断点继续执行,a函数执行完毕返回main函数的断点继续执行。
‘叁’ c语言定义函数是什么
c语言定义函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。
接收用户数据的函数在定义时要指明参数,不接收用户数据的不需要指明,根据这一点可以将函数分为有参函数和无参函数。
函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码。函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。
C语言特点及运用范围:
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。
C语言特点:简洁的语言、具有结构化的控制语句、丰富的数据类型、丰富的运算符、可对物理地址进行直接操作、代码具有较好的可移植性、可生成高质量、目标代码执行效率高的程序。
C语言是一门面向过程的计算机编程语言,C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。
‘肆’ c语言 自定义函数怎么用啊
自定义函数是由用户按需要写的函数。这与库函数相对应的,库函数是由c系统提供的函数,已经定义好了如printf
、
scanf
、
getchar
、putchar、gets、puts、strcat等函数均属此类。
说白了,自定义函数是是自己写的,想实现什么功能就写什么,然后在用的时候和库函数(系统定义的)的一样调用就是了,相当于自己增加了一个自己的库函数。
‘伍’ C语言中函数是怎样用的
定义好的函数,若在主函数之后定义,在主函数中要声明一下。
声明方法为把定义好的函数按原样写下,再加上一个“;”。
若在主函数之前定义,在主函数就可以直接调用。
一般格式k=函数名(变量);
函数运算结果通过return语句返回,赋值给k。
希望你能看懂!
‘陆’ c语言 函数的使用
搞个登录函数吧,成功返回0,否则返回-1
#include "stdio.h"
#include "conio.h"
#include "string.h"
int Login()
{ char a[40],b[40],d[40];
int c=0,rt=(-1);
while ( c<5 )
{
clrscr();
printf("Please input your QQ num: "); scanf("%s",a);
printf("Please input your password: "); scanf("%s",b);
clrscr();
printf("****************************************\n");
printf("This is your number and passwrod:\n");
printf("****************************************\n");
printf("* number: %s *\n",a);
printf("* password: %s *\n",b);
printf("****************************************\n");
printf("Please enter any key and press enter to determine.\n");
scanf("%s",d);
if ( strcmp(a,"1456680570")==0 )
{ if ( strcpm(b,"canfeng")==0 )
{
printf("Login success!\n"); rt=0; break;
} else printf("Password error!\n");
} else printf("Account error!\n");
c++;
}
}
void main()
{
if ( Login()==0 ) { .... }
}
‘柒’ C语言中malloc函数的使用方法
C语言中malloc是动态内存分配函数。
函数原型:void *malloc(unsigned int num_bytes);
参数:num_bytes 是无符号整型,用于表示分配的字节数。
返回值:如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。void* 表示未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据(比如是char还是int或者...)
功能:分配长度为num_bytes字节的内存块
注意:当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。关于该函数的原型,在以前malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。
实例:
#include"stdio.h"
#include"malloc.h"//malloc()函数被包含在malloc.h里面
int main(void)
{
char*a=NULL;//声明一个指向a的char*类型的指针
a=(char*)malloc(100*sizeof(char));//使用malloc分配内存的首地址,然后赋值给a
if(!a)//如果malloc失败,可以得到一些log
{
perror("malloc");
return-1;
}
sprintf(a,"%s","HelloWorld\n");//"HelloWorld\n"写入a指向的地址
printf("%s\n",a);//输出用户输入的数据
free(a);//释放掉使用的内存地址
return0;//例2有无内存泄露?
}
‘捌’ C语言中的POW函数怎么使用
pow()函数用来求x的y次幂,x、y及函数值都是double型 ,其原型为:double pow(double x, double y)。
实例代码如下:
#include<stdio.h>
#include<math.h>
void main()
{
double x = 2, y = 10;
printf("%f ",pow(x, y));
return 0;
}
(8)c语言函数的使用扩展阅读:
在调用pow函数时,可能导致错误的情况:
如果底数 x 为负数并且指数 y 不是整数,将会导致 domain error错误。
如果底数 x 和指数 y 都是 0,可能会导致 domain error?错误,也可能没有;这跟库的实现有关。
如果底数 x 是 0,指数 y 是负数,可能会导致?domain error 或pole error 错误,也可能没有;这跟库的实现有关。
如果返回值 ret 太大或者太小,将会导致range error 错误。
错误代码:
如果发生 domain error 错误,那么全局变量 errno 将被设置为 EDOM;
如果发生 pole error 或 range error 错误,那么全局变量 errno 将被设置为 ERANGE。
‘玖’ c语言编程,函数如何用