C语言调用函数就是先定义并声明函数,之后再根据定义函数的格式调用。
创新互联-专业网站定制、快速模板网站建设、高性价比监利网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式监利网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖监利地区。费用合理售后完善,十多年实体公司更值得信赖。
下面举例来说明函数调用方法:
#include
int fun(int x, int y); // 函数声明,如果函数写在被调用处之前,可以不用声明
void main()
{
int a=1, b=2, c;
c = fun(a, b); // 函数的调用,调用自定义函数fun,其中a,b为实际参数,传递给被调用函数的输入值
}
// 自定义函数fun
int fun(int x, int y) // 函数首部
{ // {}中的语言为函数体
return xy ? x : y; // 返回x和y中较大的一个数
}
C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。
1.测试函数
Isalnum
原型:int isalnum(int c)
功能:测试参数c是否为字母或数字:是则返回非零;否则返回零
头文件:ctype.h
Isapha
原型:int isapha(int c)
功能:测试参数c是否为字母:是则返回非零;否则返回零
头文件:ctype.h
Isascii
原型:int isascii(int c)
功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零
头文件:ctype.h
Iscntrl
原型:int iscntrl(int c)
功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零
头文件:ctype.h
Isdigit
原型:int isdigit(int c)
功能:测试参数c是否为数字:是则返回非零;否则返回零。
头文件:ctype.h
Isgraph
原型:int isgraph(int c)
功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零
头文件:ctype.h
Islower
原型:int islower(int c)
功能:测试参数c是否为小写字母:是则返回非零;否则返回零
头文件:ctype.h
Isprint
原型:int isprint(int c)
功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零
头文件:ctype.h
Ispunct
原型:int ispunct(int c)
功能:测试参数c是否为标点符号:是则返回非零;否则返回零
头文件:ctype.h
Isupper
原型:int isupper(inr c)
功能:测试参数c是否为大写字母:是则返回非零;否则返回零
Isxdigit
原型:int isxdigit(int c)
功能:测试参数c是否为十六进制数:是则返回非零;否则返回零
2.数学函数
abs
原型:int abs(int i)
功能:返回整数型参数i的绝对值
头文件:stdlib.h,math.h
acos
原型:double acos(double x)
功能:返回双精度参数x的反余弦三角函数值
头文件:math.h
asin
原型:double asin(double x)
功能:返回双精度参数x的反正弦三角函数值
头文件:math.h
atan
原型:double atan(double x)
功能:返回双精度参数的反正切三角函数值
头文件:math.h
atan2
原型:double atan2(double y,double x)
功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值
头文件:math.h
cabs
原型:double cabs(struct complex znum)
功能:返回一个双精度数,为计算出复数znum的绝对值。Complex的结构模式在math.h中给出定义,其定义如下:
struct complex {
double a,y
};
头文件:stdlib.h,math.h
ceil
原型:double ceil(double x)
功能:返回不小于参数x的最小整数
头文件:math.h
_clear87
原型:unsigned int _clear87(void)
功能:清除浮点运算器状态字
头文件:float.h
_control87
原型:unsigned int _control87(unsigned int newvals,unsigned int mask)
功能:取得或改变浮点运算器控制字
头文件:float.h
cos
原型:double cos(double x)
功能:返回参数x的余弦函数值
头文件:math.h
cosh
原型:double cosh(double x)
功能:返回参数的双曲线余弦函数值
头文件:math.h
ecvt
原型:char*ecvt(double value,int ndigit,int*decpt,int*sign)
功能:把双精度数value转换为ndigit位数字的以空格字符结束的字符串,decpt指向小数点位置,sign为符号标志。函数返回值为指向转换后的字符串的指针
头文件:stdlib.h
exp
原型:double exp(double x)
功能:返回参数x的指数函数值
头文件:math.h
fabs
原型:double fabs(double x)
功能:返回参数x的绝对值
头文件:math.h
floor
原型:double floor(double x)
功能:返回不大于参数x的最大整数
头文件:math.h
fmod
原型:double fmod(double x,double y)
功能:计算x/y的余数。返回值为所求的余数值
头文件:math.h
_fprest
原型:void _fprest(void)
功能:重新初始化浮点型数数学包
头文件:float.h
frexp
原型:double frexp(double value,int*eptr)
功能:把双精度函数value分解成尾数和指数。函数返回尾数值,指数值存放在eptr所指的单元中
头文件:math.h
hypot
原型:double frexp(double x,double y)
功能:返回由参数x和y所计算的直角三角形的斜边长
头文件:math.h
labs
原型:long labs(long n)
功能:返回长整数型参数n的绝对值
头文件:stdlib.h
ldexp
原型:double ldexp(double value,int exp)
功能:返回value*2exp的值
头文件:math.h
log
原型:double log(double x)
功能:返回参数x的自然对数(ln x)的值
头文件:math.h
log10
原型:double log10(double x)
功能:返回参数x以10为底的自然对数(lg x)的值
头文件:math.h
modf
原型:double modf(double value,double*iptr)
功能:把双精度数value分为整数部分和小数部分。整数部分保存在iptr中,小数部分作为函数的返回值
头文件:math.h
poly
原型 :double poly(double x,int n,double c[ ])
功能:根据参数产生x的一个n次多项式,其系数为 c[0],c[1],…c[n]。函数返回值为给定x的多项式的值
头文件:math.h
pow
原型:double pow(double x,double y)
功能:返回计算xy的值
头文件:math.h
pow10
原型:double pow10(int p)
功能:返回计算10p的值
头文件:math.h
rand
原型:int rand(void)
功能:随机函数,返回一个范围在0~215-1的随机整数
头文件:stdlib.h
sin
原型:double sin(double x)
功能:返回参数x的正弦函数值
头文件:math.h
sinh
原型double sinh(double x)
功能:返回参数x的双曲正弦函数值
头文件:math.h
sqrt
原型:double sqrt
功能:返回参数x的平方根值
头文件:math.h
srand
原型:void srand(unsigned seed)
功能:初始化随机函数发生器
头文件:stdlib.h
_status87
原型:unsigned int_status87()
功能:取浮点状态
头文件:float.h
tan
原型:dounle tan(double x)
功能:返回参数x的正切函数值
头文件:math.h
tanh
原型:double tan(double x)
功能:返回参数x的双曲正切函数值
头文件:math.h
你写的程序,函数调用前,数组元素初始化为 全 0。
函数调用时,函数内 有循环 语句,执行:
vals[i] = 1;
把所有元素 赋新值为 1。所以输出 1。
----
应修改:
void findMax(int vals[],int *m) // 返回m要用指针
{
int i;
*m = vals[0];
printf("findMax输出结果:\n");
for (i = 0; i MAXELS; i++)
{
if (vals[i] *m) *m = vals[i];
printf("vals[%d] = %d\n", i, vals[i]);
}
printf("m = %d\n", *m);
}
函数调用:
findMax(nums, value);
函数原型声明:
void findMax(int vals[],int *m) ;