c语言 函数1
C语言常用函数

C语言的常用库函数函数1。
absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num 个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。
参数:drive=0对应A盘,drive=1对应B盘。
返回值:0:成功;-1:失败。
头文件:dos.h函数2。
abswrite()写磁盘绝对扇区函数原形:int abswrite(int drive,int nsects,int lsect,void *buffer)drive=0(A驱动器)、1(B驱动器)、nsects=要写的扇区数(最多64K个);lsect=起始逻辑扇区号;buffer=要写入数据的内存起始地址。
功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。
返回值:0:成功;-1:失败。
头文件:dos.h函数3。
atof()将字符串转换成浮点数的函数原形:double atof(const char *s)功能:把s所指向的字符串转换成double类型。
s格式为:符号数字.数字E符号数字返回值:字符串的转换值。
头文件:math.h、stdlib.h函数4。
atoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型。
s格式为:符号数字返回值:字符串的转换值。
若出错则返回0。
头文件:stdlib.h函数5。
atol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成long int类型。
s格式为:符号数字返回值:字符串的转换值。
C语言函数大全

C语言函数大全C语言作为一种广泛应用的计算机编程语言,其函数是程序设计中不可或缺的部分。
C语言函数大全涵盖了C语言中常用的各种函数,包括数学函数、字符串函数、输入输出函数等,本文将对这些函数进行详细介绍。
一、数学函数。
1. abs函数。
abs函数用于返回一个整数的绝对值,其原型为int abs(int x)。
2. pow函数。
pow函数用于计算一个数的幂,其原型为double pow(double x, double y)。
3. sqrt函数。
sqrt函数用于计算一个数的平方根,其原型为double sqrt(double x)。
4. sin函数。
sin函数用于计算一个角度的正弦值,其原型为double sin(double x)。
5. cos函数。
cos函数用于计算一个角度的余弦值,其原型为double cos(double x)。
6. tan函数。
tan函数用于计算一个角度的正切值,其原型为double tan(double x)。
二、字符串函数。
1. strlen函数。
strlen函数用于返回一个字符串的长度,其原型为size_t strlen(const char s)。
2. strcpy函数。
strcpy函数用于将一个字符串复制到另一个字符串中,其原型为charstrcpy(char dest, const char src)。
3. strcat函数。
strcat函数用于将一个字符串追加到另一个字符串的末尾,其原型为char strcat(char dest, const char src)。
4. strcmp函数。
strcmp函数用于比较两个字符串,其原型为int strcmp(const char s1, const char s2)。
5. strchr函数。
strchr函数用于在一个字符串中查找指定字符的位置,其原型为charstrchr(const char s, int c)。
C语言 函数

1. 函数声明的一般形式:
类型说明符 函数名([类型1 形参1,类型2 形参2,…]);
▪ 编译系统只检查函数类型、函数名、形参 类型和形参个数,不检查形参名。
➢ 因此,函数声明可省略形参名:
类型说明符 函数名([类型1,类型2…]);
➢ 以下两个函数声明语句 等价:
int min(float x,float y); int min(float,float);
}
}
5.2.4 函数原型
▪ 当被调函数位于主调函#in数clud后e 面<st时dio,.h>需要在 主调函数中对被调函数v{ oid进m行ain声() 明。
int min(float x,float y); int m; float a,b; scanf("%f,%f",&a,&b); m=min(a,b); printf("Min is %d\n",m); } int min(float x,float y) { return x<y?x:y; }
与函数的类型不一致,{前者将被自动转换为后
者的类型。
int m; float a,b;
scanf("%f,%f",&a,&b);
m=min(a,b);
printf("Min is %d\n",m);
}
3.函数调用的一般形式 函数名(实参表列);
A.说明: (1)如调用无参函数,()也不能省略。 (2)如实参表列含多个实参,参数间用逗号
第5章 函数
▪ 函数是C程序的基本组成单位。
▪ 使用函数能够实现模块化程序设计:
➢ 程序设计时往往把一个大的问题分解成若干小 的且易解决的问题
c语言 函数 参数 类型

c语言函数参数类型
C语言的函数参数类型可以分为如下几种:1. 值参数(pass-by-value):函数在调用时将实际参数的值复制给形式参数,函数内对形式参数的操作不会影响实际参数。
2. 指针参数(pass-by-pointer):函数在调用时将实际参数的地址传递给形式参数,函数可以通过指针修改实际参数的值。
3. 数组参数
(pass-by-array):函数可以接受数组作为参数,在函数内可以通过下标访问数组元素。
4. 字符串参数:C语言没有提供字符串类型,通常使用字符数组或指针表示字符串,函数可以接受字符串作为参数。
5. 结构体参数:结构体是一种用户自定义的复合数据类型,函数可以接受结构体作为参数。
6. 变长参数(variable-length argument):使用标准库中的<stdarg.h>头文件,函数可以接受不定数量的参数。
需要注意的是,在C语言中函数的参数传递方式是按值传递的,即实际参数的值会被复制给形式参数,而不是传递实际参数本身。
对于指针、数组和结构体类型的参数,实际参数的地址会被传递给形式参数,但仍然是按值传递的。
这意味着在函数内对形式参数的修改不会影响到实际参数,除非使用指针传递参数。
c语言常用的数学函数

以下是一些常见的C语言数学函数:1.数值计算函数:●abs():返回一个整数的绝对值。
●fabs():返回一个浮点数的绝对值。
●sqrt():计算一个数的平方根。
●pow():计算一个数的指定次幂。
●exp():计算自然对数的指数。
●log():计算一个数的自然对数。
●log10():计算一个数的以10为底的对数。
●ceil():向上取整,返回不小于给定参数的最小整数。
●floor():向下取整,返回不大于给定参数的最大整数。
●round():四舍五入,返回距离给定参数最近的整数。
2.三角函数:●sin():计算给定角度的正弦值。
●cos():计算给定角度的余弦值。
●tan():计算给定角度的正切值。
●asin():计算给定值的反正弦。
●acos():计算给定值的反余弦。
●atan():计算给定值的反正切。
●atan2():计算给定两个参数的反正切。
3.随机数生成函数:●rand():生成一个范围在0到RAND_MAX之间的随机整数。
●srand():设置随机数生成器的种子值。
4.其他函数:●min():返回两个给定值中较小的那个。
●max():返回两个给定值中较大的那个。
●fmod():计算给定两个浮点数的余数。
这仅仅是一些常见的C语言数学函数,math.h库中还有更多可用的函数。
在使用这些函数之前,请确保正确包含了<math.h>头文件,并根据需要使用适当的参数和类型进行函数调用。
可以参考C语言的相关文档以获取更详细的信息。
c语言常用函数大全及详解

c语言常用函数大全及详解C语言是一种通用的、面向过程的编程语言,被广泛应用于系统软件、嵌入式开发以及科学计算领域。
在C语言中,函数是一种模块化编程的基本方法,通过函数可以将一段代码进行封装和复用,提高了代码的可读性和可维护性。
本文将介绍一些C语言中常用的函数,并详细解释其用法及重要参数。
一、数学函数1. abs()函数函数原型:int abs(int x);函数功能:返回x的绝对值。
参数说明:x为一个整数。
2. pow()函数函数原型:double pow(double x, double y);函数功能:计算x的y次方。
参数说明:x和y为两个double类型的实数。
3. sqrt()函数函数原型:double sqrt(double x);函数功能:计算x的平方根。
参数说明:x为一个double类型的实数。
二、字符串函数1. strcpy()函数函数原型:char* strcpy(char* destination, const char* source);函数功能:将source字符串复制到destination字符串。
参数说明:destination为目标字符串,source为源字符串。
2. strlen()函数函数原型:size_t strlen(const char* str);函数功能:计算str字符串的长度。
参数说明:str为一个以'\0'结尾的字符串。
3. strcat()函数函数原型:char* strcat(char* destination, const char* source);函数功能:将source字符串拼接到destination字符串的末尾。
参数说明:destination为目标字符串,source为源字符串。
三、文件操作函数1. fopen()函数函数原型:FILE* fopen(const char* filename, const char* mode);函数功能:打开一个文件,并返回文件指针。
C语言中的数学函数

C语言中的数学函数数学函数在计算机编程中起着重要的作用,尤其是在C语言中。
C语言提供了丰富的数学函数库,方便开发者进行各种数学计算和操作。
本文将介绍C语言中常用的数学函数,包括数值运算、三角函数、指数函数等。
一、数值运算函数1.1 绝对值函数(fabs)绝对值函数fabs(x)返回x的绝对值。
例如,fabs(-5)的返回值是5。
1.2 向上取整函数(ceil)向上取整函数ceil(x)返回大于或等于x的最小整数。
例如,ceil(4.2)的返回值是5。
1.3 向下取整函数(floor)向下取整函数floor(x)返回小于或等于x的最大整数。
例如,floor(4.8)的返回值是4。
1.4 平方根函数(sqrt)平方根函数sqrt(x)返回x的平方根。
例如,sqrt(16)的返回值是4。
1.5 幂运算函数(pow)幂运算函数pow(x, y)返回x的y次方。
例如,pow(2, 3)的返回值是8。
二、三角函数2.1 正弦函数(sin)正弦函数sin(x)返回以弧度为单位的角x的正弦值。
例如,sin(0)的返回值是0。
2.2 余弦函数(cos)余弦函数cos(x)返回以弧度为单位的角x的余弦值。
例如,cos(3.14)的返回值是-1。
2.3 正切函数(tan)正切函数tan(x)返回以弧度为单位的角x的正切值。
例如,tan(0.8)的返回值是0.999.2.4 反正弦函数(asin)反正弦函数asin(x)返回x的反正弦值,以弧度为单位。
例如,asin(1)的返回值是1.57.2.5 反余弦函数(acos)反余弦函数acos(x)返回x的反余弦值,以弧度为单位。
例如,acos(0)的返回值是1.57.三、指数函数3.1 自然指数函数(exp)自然指数函数exp(x)返回e的x次方。
其中e的值约为2.71828。
例如,exp(1)的返回值是2.71828.3.2 对数函数(log)对数函数log(x)返回以e为底,x的对数值。
(完整版)C语言函数大全

功能: 异常终止一个进程用法: void abort(void)函数名: abs功能: 求整数的绝对值用法: int abs(int i)函数名: absread, abswirte功能: 绝对磁盘扇区读、写数据用法: int absread(int drive, int nsects, int sectno, void *buffer) int abswrite(int drive, int nsects, in tsectno, void *buffer函数名: access功能: 确定文件的访问权限用法: int access(const char *filename, int amode)函数名: acos功能:反余弦函数用法: double acos(double x)函数名: allocmem功能: 分配DOS存储段用法:int allocmem(unsigned size, unsigned *seg)函数名: arc功能: 画一弧线用法:void far arc(int x, int y, int stangle, int endangle, int radius)函数名: asctime功能: 转换日期和时间为ASCII码用法:char *asctime(const struct tm *tblock)函数名: asin功能:反正弦函数用法: double asin(double x)函数名: assert功能: 测试一个条件并可能使程序终止用法:void assert(int test)函数名: atan功能: 反正切函数用法: double atan(double x)功能: 计算Y/X的反正切值用法: double atan2(double y, double x)函数名:atexit功能: 注册终止函数用法: int atexit(atexit_t func)函数名: atof功能: 把字符串转换成浮点数用法:double atof(const char *nptr)函数名: atoi功能: 把字符串转换成长整型数用法: int atoi(const char *nptr)函数名: atol功能: 把字符串转换成长整型数用法: long atol(const char *nptr)函数名: bar功能: 画一个二维条形图用法: void far bar(int left, int top, int right, int bottom)函数名: bar3d功能: 画一个三维条形图用法:void far bar3d(int left, int top, int right, int bottom,int depth, int topflag)函数名: bdos功能: DOS系统调用用法: int bdos(int dosfun, unsigned dosdx, unsigned dosal)函数名:bdosptr功能:DOS系统调用用法: int bdosptr(int dosfun, void *argument, unsigned dosal)函数名:bioscom功能: 串行I/O通信用法:int bioscom(int cmd, char abyte, int port)函数名:biosdisk功能: 软硬盘I/O用法:int biosdisk(int cmd, int drive, int head, int track, int sectorint nsects, void *buffer)函数名:biosequip功能: 检查设备用法:int biosequip(void)函数名:bioskey功能: 直接使用BIOS服务的键盘接口用法:int bioskey(int cmd)函数名:biosmemory功能: 返回存储块大小用法:int biosmemory(void)函数名:biosprint功能: 直接使用BIOS服务的打印机I/O用法:int biosprint(int cmd, int byte, int port)函数名:biostime功能: 读取或设置BIOS时间用法: long biostime(int cmd, long newtime)函数名: brk功能: 改变数据段空间分配用法:int brk(void *endds)函数名:bsearch功能: 二分法搜索用法:void *bsearch(const void *key, const void *base, size_t *nelem, size_t width, int(*fcmp)(const void *, const *))函数名: cabs功能: 计算复数的绝对值用法: double cabs(struct complex z);函数名:calloc功能:分配主存储器用法:void *calloc(size_t nelem, size_t elsize);函数名: ceil功能: 向上舍入用法: double ceil(double x);函数名: cgets功能: 从控制台读字符串用法: char *cgets(char *str)函数名:chdir功能: 改变工作目录用法: int chdir(const char *path);函数名:_chmod, chmod功能: 改变文件的访问方式用法: int chmod(const char *filename, int permiss);函数名:chsize功能: 改变文件大小用法: int chsize(int handle, long size);函数名: circle功能: 在给定半径以(x, y)为圆心画圆用法: void far circle(int x, int y, int radius);函数名: cleardevice功能: 清除图形屏幕用法: void far cleardevice(void);函数名:clearerr功能: 复位错误标志用法:void clearerr(FILE *stream);函数名: clearviewport功能: 清除图形视区用法: void far clearviewport(void);函数名:_close, close功能: 关闭文件句柄用法:int close(int handle);函数名: clock功能:确定处理器时间用法: clock_t clock(void);函数名:closegraph功能: 关闭图形系统用法: void far closegraph(void);函数名:clreol功能: 在文本窗口中清除字符到行末用法:void clreol(void)函数名:clrscr功能: 清除文本模式窗口用法:void clrscr(void);函数名: coreleft功能: 返回未使用内存的大小用法:unsigned coreleft(void);函数名: cos功能: 余弦函数用法:double cos(double x);函数名:cosh功能: 双曲余弦函数用法: dluble cosh(double x);函数名: country功能: 返回与国家有关的信息用法: struct COUNTRY *country(int countrycode, struct country *country); 函数名: cprintf功能: 送格式化输出至屏幕用法:int cprintf(const char *format[, argument, ...]);函数名: cputs功能: 写字符到屏幕用法: void cputs(const char *string);函数名: _creat creat功能: 创建一个新文件或重写一个已存在的文件用法: int creat (const char *filename, int permiss)函数名:creatnew功能: 创建一个新文件用法:int creatnew(const char *filename, int attrib);函数名: cscanf功能: 从控制台执行格式化输入用法:int cscanf(char *format[,argument, ...]);函数名: ctime功能: 把日期和时间转换为字符串用法:char *ctime(const time_t *time);功能: 设置Ctrl-Break处理程序用法: void ctrlbrk(*fptr)(void);函数名: delay功能: 将程序的执行暂停一段时间(毫秒)用法: void delay(unsigned milliseconds);函数名: delline功能: 在文本窗口中删去一行用法: void delline(void);函数名:detectgraph功能: 通过检测硬件确定图形驱动程序和模式用法: void far detectgraph(int far *graphdriver, int far *graphmode); 函数名: difftime功能: 计算两个时刻之间的时间差用法: double difftime(time_t time2, time_t time1);函数名: disable功能: 屏蔽中断用法:void disable(void);函数名: div功能: 将两个整数相除, 返回商和余数用法:div_t (int number, int denom);函数名: dosexterr功能: 获取扩展DOS错误信息用法:int dosexterr(struct DOSERR *dblkp);函数名: dostounix功能: 转换日期和时间为UNIX时间格式用法: long dostounix(struct date *dateptr, struct time *timeptr);函数名: drawpoly功能: 画多边形用法: void far drawpoly(int numpoints, int far *polypoints);函数名:dup功能: 复制一个文件句柄用法: int dup(int handle);函数名:dup2功能: 复制文件句柄用法: int dup2(int oldhandle, int newhandle);功能: 把一个浮点数转换为字符串用法: char ecvt(double value, int ndigit, int *decpt, int *sign);函数名: ellipse功能: 画一椭圆用法:void far ellipse(int x, int y, int stangle, int endangle,int xradius, int yradius);函数名: enable功能: 开放硬件中断用法: void enable(void);函数名: eof功能: 检测文件结束用法: int eof(int *handle);函数名: exec...功能: 装入并运行其它程序的函数用法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL); int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,char *envp[]);int execlp(char *pathname, char *arg0, arg1, .., NULL);int execple(char *pathname, char *arg0, arg1, ..., NULL,char *envp[]);int execv(char *pathname, char *argv[]);int execve(char *pathname, char *argv[], char *envp[]);int execvp(char *pathname, char *argv[]);int execvpe(char *pathname, char *argv[], char *envp[]);函数名:exit功能: 终止程序用法: void exit(int status);函数名: exp功能: 指数函数用法: double exp(double x);函数名: gcvt功能: 把浮点数转换成字符串用法: char *gcvt(double value, int ndigit, char *buf);函数名: geninterrupt功能: 产生一个软中断函数名: getarccoords功能: 取得最后一次调用arc的坐标用法: void far getarccoords(struct arccoordstype far *arccoords); 函数名: getaspectratio功能: 返回当前图形模式的纵横比用法: void far getaspectratio(int far *xasp, int far *yasp);函数名: getbkcolor功能: 返回当前背景颜色用法: int far getbkcolor(void);函数名: getc功能: 从流中取字符用法: int getc(FILE *stream);函数名: getcbrk功能: 获取Control_break设置用法: int getcbrk(void);函数名: getch功能: 从控制台无回显地取一个字符用法: int getch(void);函数名: getchar功能: 从stdin流中读字符用法: int getchar(void);函数名: getche功能: 从控制台取字符(带回显)用法: int getche(void);函数名: getcolor功能: 返回当前画线颜色用法: int far getcolor(void);函数名: getcurdir功能: 取指定驱动器的当前目录用法: int getcurdir(int drive, char *direc);函数名: getcwd功能: 取当前工作目录用法: char *getcwd(char *buf, int n);函数名: getdate功能: 取DOS日期函数名: getdefaultpalette功能: 返回调色板定义结构用法: struct palettetype *far getdefaultpalette(void);函数名: getdisk功能: 取当前磁盘驱动器号用法: int getdisk(void);函数名: getdrivername功能: 返回指向包含当前图形驱动程序名字的字符串指针用法: char *getdrivename(void);函数名: getdta功能: 取磁盘传输地址用法: char far *getdta(void);函数名: getenv功能: 从环境中取字符串用法: char *getenv(char *envvar);函数名: getfat, getfatd功能: 取文件分配表信息用法: void getfat(int drive, struct fatinfo *fatblkp);函数名: getfillpattern功能: 将用户定义的填充模式拷贝到内存中用法: void far getfillpattern(char far *upattern);函数名: getfillsettings功能: 取得有关当前填充模式和填充颜色的信息用法: void far getfillsettings(struct fillsettingstype far *fillinfo); 函数名: getftime功能: 取文件日期和时间用法: int getftime(int handle, struct ftime *ftimep);函数名: getgraphmode功能: 返回当前图形模式用法: int far getgraphmode(void);函数名: getftime功能: 取文件日期和时间用法: int getftime(int handle, struct ftime *ftimep);函数名: getgraphmode功能: 返回当前图形模式用法: int far getgraphmode(void);函数名: getimage功能: 将指定区域的一个位图存到主存中用法: void far getimage(int left, int top, int right, int bottom,void far *bitmap);函数名: getlinesettings功能: 取当前线型、模式和宽度用法: void far getlinesettings(struct linesettingstype far *lininfo): 函数名: getmaxx功能: 返回屏幕的最大x坐标用法: int far getmaxx(void);函数名: getmaxy功能: 返回屏幕的最大y坐标用法: int far getmaxy(void);函数名: getmodename功能: 返回含有指定图形模式名的字符串指针用法: char *far getmodename(int mode_name);函数名: getmoderange功能: 取给定图形驱动程序的模式范围用法: void far getmoderange(int graphdriver, int far *lomode,int far *himode);函数名: getpalette功能: 返回有关当前调色板的信息用法: void far getpalette(struct palettetype far *palette);函数名: getpass功能: 读一个口令用法: char *getpass(char *prompt);函数名: getpixel功能: 取得指定像素的颜色用法: int far getpixel(int x, int y);函数名: gets功能: 从流中取一字符串用法: char *gets(char *string);函数名: gettext功能: 将文本方式屏幕上的文本拷贝到存储区用法: int gettext(int left, int top, int right, int bottom, void *destin);函数名: gettextinfo功能: 取得文本模式的显示信息用法: void gettextinfo(struct text_info *inforec);函数名: gettextsettings功能: 返回有关当前图形文本字体的信息用法: void far gettextsettings(struct textsettingstype far *textinfo); 函数名: gettime功能: 取得系统时间用法: void gettime(struct time *timep);函数名: getvect功能: 取得中断向量入口用法: void interrupt(*getvect(int intr_num));函数名: getverify功能: 返回DOS校验标志状态用法: int getverify(void);函数名: getviewsetting功能: 返回有关当前视区的信息用法: void far getviewsettings(struct viewporttype far *viewport); 函数名: getw功能: 从流中取一整数用法: int getw(FILE *strem);函数名: getx功能: 返回当前图形位置的x坐标用法: int far getx(void);函数名: gety功能: 返回当前图形位置的y坐标用法: int far gety(void);函数名: gmtime功能: 把日期和时间转换为格林尼治标准时间(GMT)用法: struct tm *gmtime(long *clock);函数名: gotoxy功能: 在文本窗口中设置光标用法: void gotoxy(int x, int y);函数名: gotoxy功能: 在文本窗口中设置光标用法: void gotoxy(int x, int y);函数名: graphdefaults功能: 将所有图形设置复位为它们的缺省值用法: void far graphdefaults(void);函数名: grapherrormsg功能: 返回一个错误信息串的指针用法: char *far grapherrormsg(int errorcode);函数名: graphresult功能: 返回最后一次不成功的图形操作的错误代码用法: int far graphresult(void);函数名: _graphfreemem功能: 用户可修改的图形存储区释放函数用法: void far _graphfreemem(void far *ptr, unsigned size);函数名: _graphgetmem功能: 用户可修改的图形存储区分配函数用法: void far *far _graphgetmem(unsigned size);函数名: harderr功能: 建立一个硬件错误处理程序用法: void harderr(int (*fptr)());函数名: hardresume功能: 硬件错误处理函数用法: void hardresume(int rescode);函数名: highvideo功能: 选择高亮度文本字符用法: void highvideo(void);函数名: hypot功能: 计算直角三角形的斜边长用法: double hypot(double x, double y);函数名: imagesize功能: 返回保存位图像所需的字节数用法: unsigned far imagesize(int left, int top, int right, int bottom); 函数名: initgraph功能: 初始化图形系统用法: void far initgraph(int far *graphdriver, int far *graphmode函数名: inport功能: 从硬件端口中输入用法: int inp(int protid);函数名: insline功能: 在文本窗口中插入一个空行用法: void insline(void);函数名: installuserdriver功能: 安装设备驱动程序到BGI设备驱动程序表中用法: int far installuserdriver(char far *name, int (*detect)(void));函数名: installuserfont功能: 安装未嵌入BGI系统的字体文件(CHR)用法: int far installuserfont(char far *name);函数名: int86功能: 通用8086软中断接口用法: int int86(int intr_num, union REGS *inregs, union REGS *outregs) 函数名: int86x功能: 通用8086软中断接口用法: int int86x(int intr_num, union REGS *insegs, union REGS *outregs, 函数名: intdos功能: 通用DOS接口用法: int intdos(union REGS *inregs, union REGS *outregs);函数名: intdosx功能: 通用DOS中断接口用法: int intdosx(union REGS *inregs, union REGS *outregs,struct SREGS *segregs);函数名: intr功能: 改变软中断接口用法: void intr(int intr_num, struct REGPACK *preg);函数名: ioctl功能: 控制I/O设备用法: int ioctl(int handle, int cmd[,int *argdx, int argcx]);函数名: isatty功能: 检查设备类型用法: int isatty(int handle);函数名: itoa功能: 把一整数转换为字符串用法: char *itoa(int value, char *string, int radix);函数名: kbhit功能: 检查当前按下的键用法: int kbhit(void);函数名: keep功能: 退出并继续驻留用法: void keep(int status, int size);函数名: kbhit功能: 检查当前按下的键用法: int kbhit(void);函数名: keep功能: 退出并继续驻留用法: void keep(int status, int size);函数名: labs用法: long labs(long n);函数名: ldexp功能: 计算value*2的幂用法: double ldexp(double value, int exp);函数名: ldiv功能: 两个长整型数相除, 返回商和余数用法: ldiv_t ldiv(long lnumer, long ldenom);函数名: lfind功能: 执行线性搜索用法: void *lfind(void *key, void *base, int *nelem, int width,int (*fcmp)());函数名: line功能: 在指定两点间画一直线用法: void far line(int x0, int y0, int x1, int y1);函数名: linerel功能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线用法: void far linerel(int dx, int dy);函数名: localtime功能: 把日期和时间转变为结构用法: struct tm *localtime(long *clock);函数名: lock功能: 设置文件共享锁用法: int lock(int handle, long offset, long length);函数名: log功能: 对数函数ln(x)用法: double log(double x);函数名: log10功能: 对数函数log用法: double log10(double x);函数名: longjump功能: 执行非局部转移用法: void longjump(jmp_buf env, int val);函数名: lowvideo功能: 选择低亮度字符用法: void lowvideo(void);函数名: lrotl, _lrotl功能: 将无符号长整型数向左循环移位用法: unsigned long lrotl(unsigned long lvalue, int count);unsigned long _lrotl(unsigned long lvalue, int count);函数名: lsearch功能: 线性搜索用法: void *lsearch(const void *key, void *base, size_t *nelem,size_t width, int (*fcmp)(const void *, const void *));函数名: lseek功能: 移动文件读/写指针用法: long lseek(int handle, long offset, int fromwhere);main()主函数每一C 程序都必须有一main() 函数, 可以根据自己的爱好把它放在程序的某个地方。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
阅读程序4:说出该函数的功能
#define PI 3.1415926 double fun(int n) { double s; s=PI*n*n; return s; } main() { int r; scanf(“%d”,&r); printf(“%lf \n”, fun(r) ); }
作业:
若不声明类型 则默认是int型
8.2 函数的参数
实际参数和形式参数 int func( int x, int y) x,y是形式参数 {int z; z=x>y?x:y; 1.参数个数相同,数据类型相同或者兼容 return(z); 2.形参和实参可以同名 } main() {int a,b,c; scanf(“%d,%d”,&a,&b); c=func(a,b); printf(“Max is %d”, c); }
学习内容引入
现状 存在 问题
我们的程序都是由一个main()主函数构成。
若是一个小程序的话,把几行命令全部放在main() 主函数中进行编写,还算清晰。但如果要编写一个较 大的程序,仍采用上述方法,全部在main()主函数 中从头到尾编写的话,就会给程序的修改和调试都带 来麻烦。
将一个较大的程序分为若干个子模块,每个模块实现 一个独立的功能。模块是用函数来实现的.这样就结构 清晰、功能分工明确了。——模块化程序设计思想
main() { int n,m;
int fun(int n);
n=100; m=fun(n); printf(“m= %d \n”, m); } int fun(int n) { int i,s=0; for(i=1;i<=n;i++) if(i%3==0 || i%7==0) s=s+i; return s;
认真看书130页~140页 预习140页~149页 抄写134页 8.4 139页 8.11 并为8.4形的面积
主函数思路: 1. 定义变量 a,b,c 2.为变量a,b,c赋值 3. 若不符合要求则输出错误,否则调用面积函数求出面积并输出;
被调函数中可以没有return语句,指不向主调函 数带回一个确定的、用户所希望得到的函数值。
为了明确表示“不带回值”,可以用“void”定义 被调函数为“无类型”(或称“空类型”)。
void paixu(int x[ ],int n) { …… }
main() {int a[6],i; for(i=0;i<6;i++) scanf(“%d”,a+i); paixu(a,6); for(i=0;i<6;i++) printf(“%d”,*(a+i));}
函数布局
int fun(int n) { int i,s=0; for(i=1;i<=n;i++) s=s+i; return s; } main() { int n,m; n=100; m=fun(n); printf(“m= %d \n”, m); } main() { int n,m; n=100; m=fun(n); printf(“m= %d \n”, m); } int fun(int n) { int i,s=0; for(i=1;i<=n;i++) s=s+i; return s; }
当类型不同时,以函数的类型为准
阅读程序1
int swap(int x, int y) {int temp; temp=x; x=y; y=temp; printf(“in swap x=%d y=%d\n”,x,y); }
before swap:a=10 b=20 In swap:x=20 y=10 after swap:a=10 b=20
如果已在所有函数定义之前,在函数的外部已做了函数 的声明,则在各个主调函数中不必对所调用的函数再做 声明。
int fun(int n); float sum(int x); main() { …… } int fun(int n) { …… } float sum(int x) { …… }
阅读程序3:说出该函数的功能
area函数思路:
1.
2. 3.
定义变量 x,y,z, s,hl
根据海伦公式写出s=……表达式(书72页) 将s的值返回主函数
s hl(hl a)(hl b)(hl c)
第八章 函数
内蒙古科技大学实训中心
简单的函数调用
#include<stdio.h> main() { int a,b,c; scanf(“%d,%d”,&a,&b); if(a>b) c=a; else c=b; printf(“Max is %d”, c); }
键盘输入:2 5 屏幕输出:Max is 5
main() {int a,b; a=10;b=20; printf(“before swap:a=%d b=%d\n”,a,b); swap(a,b); printf(“after swap a= %d b=%d”, a,b); }
阅读程序2
int fun(int n) { int i,s=0; for(i=1;i<=n;i++) s=s+i; return s; } main() { int n,m; n=100; m=fun(n); printf(“m= %d \n”, m); } s=5050
简单的函数调用
void paixu(int x[ ],int n) { …… }
键盘输入:3 5 1 6 0 2 屏幕输出:0 1 2 3 5 6
main() {int a[6],i; for(i=0;i<6;i++) scanf(“%d”,a+i); paixu(a,6); for(i=0;i<6;i++) printf(“%d”,*(a+i));}
main函数是主调函数
8.4 函数的返回值
通过函数调用使主调函数能得到一个确定的值,这就是函数的返回值。
可书写为: return (常量或表达式); 也可书写为: return 常量或表达式; 例1: return (z); 也可书写为: return z; 例2: return (z*10); 也可书写为: return z*10; 例3: return ( sqrt(z) ); 也可书写为: return sqrt(z) ;
8.1 函数定义的一般形式
类型标识符 函数名(……) { 声明部分 执行语句 } main() { int a,b,c; scanf(“%d,%d”,&a,&b); c=func(a,b); printf(“Max is %d”, c); } int func(int x, int y) { int z; z=x>y?x:y; return(z); }
请说出屏幕输出内容?
int max(int x, int y) {int z; x=x+8; y=y+12; z=x>y?x:y; return(z); } main() {int a,b,c; a= 2 ; b= 3 ; c=max(a,b); printf(“Max is %d”, c); }
问题 解决
简单的函数调用
int func(int x, int y) { …… }
键盘输入:2 5 屏幕输出:Max is 5
main() {int a,b,c; scanf(“%d,%d”,&a,&b); c=func(a,b); printf(“Max is %d”, c); }
调用func函数,求出最大数
a,b是实际参数
8.3函数调用及数据传递的过程
int func(int x, int y) {int z; z=x>y?x:y; return(z); } main() {int a,b,c; a= ; b= ; c= func(a,b); printf(“Max is %d”, c); } func函数是被调函数
概述
一个C程序可由一个主函数和若干个函数构成。 由主函数调用其他函数。 这些函数可以是系统定义的库函数,也可以是用户自定义的函数。 从函数的形式上看,可将这些函数分为:有参函数和无参函数
main( ) printf(……) func(n) scanf(……) paixu(a,6)
本节课学习目标
如何定义一个函数 如何调用一个函数(调用的过程是怎样的?) 函数间数据是如何传递的?
8.5 函数的声明
在调用用户自定义函数时,要满足以下条件: ⑴ 被调用函数必须已经定义。 ⑵ 如果被调用函数与调用它的函数在同一个源文件中,一般 在主调函数中对被调用的函数做声明。 函数声明的一般格式为: 函数类型 函数名(参数表);
下列情况可以省略函数声明:
函数定义的位置在主调函数之前
当函数当返回值为整型或字符型,且实参与形参的数据类型 都为整型或字符型。
a
2
b
3
调用结 a 束后
2
b
3
x
2
y
3
x 10
y
15
c
15
return z;
z
15
注:返回值类型与函数类型不同
int max(float x, float y) { float z; /* z为实型变量*/ z=x>y?x:y; return(z); } main() { float a,b; int c; scanf(“%f,%f”,&a,&b); c=max(a,b); printf(“Max is %d”, c); }