C函数功能说明

合集下载

c语言常用函数

c语言常用函数

1、字符处理函数本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换头文件 ctype.hint isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F),返回非0值,否则返回0int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n'), 返回非0值,否则返回0int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z')2、数学函数本分类给出了各种数学计算函数头文件 math.hint abs(int i) 返回整型参数i的绝对值double cabs(struct complex znum) 返回复数znum的绝对值double fabs(double x) 返回双精度参数x的绝对值long labs(long n) 返回长整型参数n的绝对值double exp(double x) 返回指数函数ex的值double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值double log(double x) 返回logex的值double log10(double x) 返回log10x的值double pow(double x,double y) 返回xy的值double pow10(int p) 返回10p的值double sqrt(double x) 返回x的开方double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度double atan(double x) 返回x的反正切tan-1(x)值,x为弧度double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x 为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度double sin(double x) 返回x的正弦sin(x)值,x为弧度double tan(double x) 返回x的正切tan(x)值,x为弧度double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度double hypot(double x,double y) 返回直角三角形斜边的长度(z), x和y为直角边的长度,z2=x2+y2double ceil(double x) 返回不小于x的最小整数double floor(double x) 返回不大于x的最大整数void srand(unsigned seed) 初始化随机数发生器int rand() 产生一个随机数并返回这个数double modf(double value,double *iptr) 将双精度数value分解成尾数和阶double fmod(double x,double y) 返回x/y的余数3、字符串处理本分类的函数用于对字符串进行合并、比较等操作头文件 string.hchar stpcpy(char *dest,const char *src) 将字符串src复制到destchar strcat(char *dest,const char *src) 将字符串src添加到dest末尾char strchr(const char *s,int c) 眷索并返回字符c在字符串s中第一次出现的位置int strcmp(const char *s1,const char *s2) 比较字符串s1与s2的大小,并返回s1-s2char strcpy(char *dest,const char *src) 将字符串src复制到destsize_t strcspn(const char *s1,const char *s2) 扫描s1,返回在s1中有,在s2中也有的字符个数char strdup(const char *s) 将字符串s复制到最近建立的单元int stricmp(const char *s1,const char *s2) 比较字符串s1和s2,并返回s1-s2size_t strlen(const char *s) 返回字符串s的长度char strlwr(char *s)将字符串s中的大写字母全部转换成小写字母,并返回转换后的字符串char strncat(char *dest,const char *src,size_t maxlen)将字符串src中最多maxlen个字符复制到字符串dest中int strncmp(const char *s1,const char *s2,size_t maxlen)比较字符串s1与s2中的前maxlen个字符char strncpy(char *dest,const char *src,size_t maxlen)复制src中的前maxlen个字符到dest中int strnicmp(const char *s1,const char *s2,size_t maxlen)比较字符串s1与s2中的前maxlen个字符char strnset(char *s,int ch,size_t n)将字符串s的前n个字符置于ch中char strpbrk(const char *s1,const char *s2)扫描字符串s1,并返回在s1和s2中均有的字符个数char strrchr(const char *s,int c)扫描最后出现一个给定字符c的一个字符串schar strrev(char *s)将字符串s中的字符全部颠倒顺序重新排列,并返回排列后的字符串char strset(char *s,int ch)将一个字符串s中的所有字符置于一个给定的字符chsize_t strspn(const char *s1,const char *s2)扫描字符串s1,并返回在s1和s2中均有的字符个数char strstr(const char *s1,const char *s2)扫描字符串s2,并返回第一次出现s1的位置char strtok(char *s1,const char *s2)检索字符串s1,该字符串s1是由字符串s2中定义的定界符所分隔char strupr(char *s)将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串4、输入输出函数该分类用于处理包括文件、控制台等各种输入输出设备,各种函数以“流”的方式实现头文件 stdio.hC语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fge tc,fputc,fscanf,fprintf等.int scanf(const char *format, arg_list)scanf主要从标准输入流中获取参数值,format为指定的参数格式及参数类型,如scanf("%s,%d",str,icount);它要求在标准输入流中输入类似"son of bitch,1000"这样的字符串,同时程序会将"son of bitch"给str,1000给icount.scanf函数的返回值为int值,即成功赋值的个数,在上例中如果函数调用成功,则会返回2,所以我们在写程序时,可以通过语句if(scanf("%s,%d",str,icount) != 2){...}来判断用户输入是否正确.int printf(const char *format, arg_list)printf主要是将格式化字符串输出到标准输出流中,在stdio.h头文件中定义了标准的输入和输出,分别是stdin,stdout.arg_list可以是变量名,也可以是表达式,但最终都会以值的形式填充进format中.int getc(FILE *fp)getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为:(ch = getc(fp)) != EOF.EOF为文件结束标志,定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin时,getc(stdin)就等同于getchar()了.int putc(int ch,FILE *fp)putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.int getchar(void)getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h 中定义的stdin.但是从输入流中读取字符时又涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:while ((c = getchar()) != '#')这是以#来结束的.int putchar(int ch)putchar(ch)主要是把字符ch写到标准流stdout中去.char * gets(char *str)gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.int puts(char *str)puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.char *fgets(char *str, int num, FILE *fp)str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.int fputs(char *str, file *fp)fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.int fgetc(FILE *fp)fgetc从fp的当前位置读取一个字符.int fputc(int ch, file *fp)fputc是将ch写入fp当前指定位置.int fscanf(FILE *fp, char *format,...)fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.int fprintf(FILE *fp, char *format,...)fprintf将格式化数据写入流式文件中.5、控制台输入输出函数该类函数主要包含了一些文本模式的屏幕控制函数,象绘画窗口、显示彩色文本,不是 Ansi标准函数,比如getch()函数等等。

C语言中常见功能函数

C语言中常见功能函数

C语言中常见功能函数在C语言中,有很多常见的功能函数,它们是为了方便程序员在开发过程中进行一些常见操作而设计的。

下面是其中一些常见的功能函数:1.字符串操作函数:- strlen:用于获取字符串的长度。

- strcpy:用于复制字符串。

- strcat:用于拼接两个字符串。

- strcmp:用于比较两个字符串。

- strchr:用于在字符串中查找指定字符。

- strstr:用于在字符串中查找指定子字符串。

2.内存操作函数:- malloc:用于动态分配内存。

- free:用于释放动态分配的内存。

- memcpy:用于内存拷贝。

- memset:用于内存初始化。

3.文件操作函数:- fopen:用于打开文件。

- fclose:用于关闭文件。

- fgets:用于从文件中读取一行数据。

- fputs:用于向文件中写入一行数据。

- feof:用于判断是否到达文件末尾。

4.数学函数:- abs:用于计算绝对值。

- sin、cos、tan:用于计算三角函数值。

- sqrt:用于计算平方根。

- pow:用于计算幂运算。

5.随机数函数:- srand:用于设置随机数种子。

- rand:用于生成随机数。

6.时间函数:7.输入输出函数:- printf:用于向标准输出设备打印输出。

- scanf:用于从标准输入设备读取输入。

8.排序和查找函数:- qsort:用于对数组进行快速排序。

- bsearch:用于在有序数组中进行二分查找。

9.环境变量函数:- getenv:用于获取环境变量的值。

- setenv:用于设置环境变量的值。

10.字符处理函数:- isdigit:用于判断字符是否是数字。

- isalpha:用于判断字符是否是字母。

- isspace:用于判断字符是否是空白字符。

以上只是C语言中常见的一些功能函数,实际上C语言库中还有很多其他功能函数,可以根据需求选择合适的函数来完成相应的操作。

无论是字符串操作、内存操作、文件操作、数学运算,还是随机数生成、时间处理、输入输出以及排序和查找等,C语言提供了丰富的函数库来支持这些常见的功能需求。

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头文件stdlib.h主要包含的函数及功能说明

c头文件stdlib.h主要包含的函数及功能说明

C++头文件stdlib.h主要包含的函数及功能说明包含函数:1函数名称: calloc函数原型: void * calloc(unsigned n,unsign size);函数功能: 分配n个数据项的内存连续空间,每个数据项的大小为size函数返回: 分配内存单元的起始地址,如果不成功,返回02函数名称: free函数原型: void free(void* p);函数功能: 释放p所指的内存区函数返回:参数说明: p-被释放的指针3函数名称: malloc函数原型: void * malloc(unsigned size);函数功能: 分配size字节的存储区函数返回: 所分配的内存区地址,如果内存不够,返回04函数名称: realloc函数原型: void * realloc(void * p,unsigned size);函数功能: 将p所指出的已分配内存区的大小改为size,size可以比原来分配的空间大或小函数返回: 返回指向该内存区的指针.NULL-分配失败5函数名称: rand函数原型: int rand(void);函数功能: 产生0到32767间的随机整数(0到0x7fff之间)函数返回: 随机整数6函数名称: abort函数原型: void abort(void)函数功能: 异常终止一个进程.7函数名称: exit函数原型: void exit(int state)函数功能: 程序中止执行,返回调用过程函数返回:参数说明: state:0-正常中止,非0-非正常中止8函数名称: getenv函数原型: char* getenv(const char *name)函数功能: 返回一个指向环境变量的指针函数返回: 环境变量的定义参数说明: name-环境字符串9函数名称: putenv函数原型: int putenv(const char *name)函数功能: 将字符串name增加到DOS环境变量中函数返回: 0:操作成功,-1:操作失败参数说明: name-环境字符串10函数名称: labs函数原型: long labs(long num)函数功能: 求长整型参数的绝对值函数返回: 绝对值11函数名称: atof函数原型: double atof(char *str)函数功能: 将字符串转换成一个双精度数值函数返回: 转换后的数值参数说明: str-待转换浮点型数的字符串12函数名称: atoi函数原型: int atoi(char *str)函数功能: 将字符串转换成一个整数值函数返回: 转换后的数值参数说明: str-待转换为整型数的字符串13函数名称: atol函数原型: long atol(char *str)函数功能: 将字符串转换成一个长整数函数返回: 转换后的数值参数说明: str-待转换为长整型的字符串14函数名称: ecvt函数原型: char *ecvt(double value,int ndigit,int *dec,int *sign) 函数功能: 将浮点数转换为字符串函数返回: 转换后的字符串指针参数说明: value-待转换底浮点数,ndigit-转换后的字符串长度15函数名称: fcvt函数原型: char *fcvt(double value,int ndigit,int *dec,int *sign) 函数功能: 将浮点数变成一个字符串函数返回: 转换后字符串指针参数说明: value-待转换底浮点数,ndigit-转换后底字符串长度文案编辑词条B 添加义项?文案,原指放书的桌子,后来指在桌子上写字的人。

c语言中字符串操作函数及功能

c语言中字符串操作函数及功能

c语言中字符串操作函数及功能C语言中字符串操作函数及功能在C语言中,字符串是一组由字符组成的数据,用于存储和操作文本信息。

C语言提供了许多字符串操作函数,以便开发者能够方便地处理字符串。

本文将介绍一些常用的字符串操作函数及其功能。

1. strlen函数:用于获取字符串的长度。

它接受一个字符串作为参数,并返回该字符串的长度,即字符的个数。

例如,strlen("hello")将返回5。

2. strcpy函数:用于将一个字符串复制到另一个字符串中。

它接受两个参数,第一个参数是目标字符串,第二个参数是源字符串。

例如,strcpy(dest, src)将源字符串src复制到目标字符串dest中。

3. strcat函数:用于将一个字符串连接到另一个字符串的末尾。

它接受两个参数,第一个参数是目标字符串,第二个参数是要追加的字符串。

例如,strcat(dest, src)将字符串src追加到字符串dest的末尾。

4. strcmp函数:用于比较两个字符串。

它接受两个参数,分别是要比较的两个字符串。

如果两个字符串相等,返回0;如果第一个字符串小于第二个字符串,返回负数;如果第一个字符串大于第二个字符串,返回正数。

例如,strcmp("hello", "world")将返回负数。

5. strchr函数:用于在字符串中查找指定字符的第一次出现的位置。

它接受两个参数,第一个参数是要查找的字符串,第二个参数是要查找的字符。

如果找到了指定字符,返回该字符在字符串中的位置;如果未找到,返回NULL。

6. strstr函数:用于在字符串中查找指定子串的第一次出现的位置。

它接受两个参数,第一个参数是要查找的字符串,第二个参数是要查找的子串。

如果找到了指定子串,返回该子串在字符串中的位置;如果未找到,返回NULL。

7. strtok函数:用于将字符串分割为多个子串。

它接受两个参数,第一个参数是要分割的字符串,第二个参数是分割的分隔符。

《C语言程序设计(第五版)》课件-第7章函数

《C语言程序设计(第五版)》课件-第7章函数

int main()
{ int a,yn=0;
while(yn==0)
{ printf("Input a number(0—9): mp;a); fun(a);
/*调用函数,a为实参*/
printf("If continue, please input 0, otherwise input 1:");
C语言程序设计
第7章 函数
7.2 函数的定义
根据有无参数,可以将函数分为无参函数和有参函数两种形式:
1.无参函数
定义形式如下:
类型标识符 函数名( )/*函数的首部*/

声明部分
/*函数体*/
执行部分

类型标识符用来说明函数返回值的类型,也称为函数的类型。若 省略类型标识符,则默认返回值类型为整型;当函数无返回值时,可 以指定函数的类型为void。
(5) 函数定义时,旧版的C语言中,函数首部中的形参列表仅包 含形参,形参的类型另起一行来说明;而新版的C语言中,函数首部 中的形参列表包含形参的类型和形参名。
例如,“int max(int x , int y)”为新版的函数定义方式。 而以下代码为旧版的函数定义方式: int max (x, y) int x, y; 一般来说,在新版的C语言中以上两种定义方式都能使用。
{ int j,k,flag=1; k=sqrt(p); for (j=2;j<=k;j++)
说明: prime函数用于判断参数p是否为素数,形参
if (p%j==0) {flag=0; break; }
p接收main函数传来的实参 i的值,prime函
return flag; }

(完整版)C语言函数大全

(完整版)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() 函数, 可以根据自己的爱好把它放在程序的某个地方。

C语言程序设计 第3版 第8章 函数

C语言程序设计 第3版 第8章 函数

s=a+b;
return s;
}
main()
//主函数
{
int s;
s=sum();
printf("s=%d\n",s);
}
运行结果
2 3↙ s=5
C语言程序设计
2.函数的定义
无返回值无参数 无返回值有参数
有返回值无参数 有返回值有参数
一般形式:
类型标识符 函数名(形式参数表列) {
函数体; return 表达式; }
调用方式
函数调用的一般形式:
函数名(实际参数表) 实际参数表中的参数可以是常数、变量或表达式,各实参之间用逗号分隔。
调用方式:
(1)函数表达式:函数作为表达式中的一项出现在表达式中,这种方式要求函数有返回值。 例如:s=sum(x,y);把sum的返回值赋予变量s。
(2)函数语句:函数调用的一般形式加上分号即构成函数语句,这种方式不要求函数有返回值。 例如:sum(x,y);以函数语句的方式调用函数。
void sum(int a,int b) //自定义函数
{
int s;
s=a+b;
ห้องสมุดไป่ตู้
printf("s=%d\n",s);
} main()
//主函数
{
int x=2,y=3;
sum(x,y);
}
运行结果
s=5
C语言程序设计
2.函数的定义
无返回值无参数 无返回值有参数
有返回值无参数 有返回值有参数
一般形式:
类型标识符 函数名( ) {
函数体; return 表达式; }
注意说明:
(1)函数的类型实际上是函数返回值的类型。

C语言scanf函数详细解释

C语言scanf函数详细解释

C语⾔scanf函数详细解释函数名: scanf功能: 执⾏格式化输⼊⽤法: int scanf(char *format[,argument,...]);scanf()函数是通⽤终端格式化输⼊函数,它从标准输⼊设备(键盘) 读取输⼊的信息。

可以读⼊任何固有类型的数据并⾃动把数值变换成适当的机内格式。

其调⽤格式为: scanf("<格式化字符串>",<地址表>);scanf()函数返回成功赋值的数据项数,出错时则返回EOF。

其控制串由三类字符构成:1。

格式化说明符;2。

空⽩符;3。

⾮空⽩符;(A)格式化说明符格式字符说明%a 读⼊⼀个浮点值(仅C99有效)%A 同上%c 读⼊⼀个字符%d 读⼊⼗进制整数%i 读⼊⼗进制,⼋进制,⼗六进制整数%o 读⼊⼋进制整数%x 读⼊⼗六进制整数%X 同上%c 读⼊⼀个字符%s 读⼊⼀个字符串%f 读⼊⼀个浮点数%F 同上%e 同上%E 同上%g 同上%G 同上%p 读⼊⼀个指针%u 读⼊⼀个⽆符号⼗进制整数%n ⾄此已读⼊值的等价字符数%[] 扫描字符集合%% 读%符号附加格式说明字符表修饰符说明L/l 长度修饰符输⼊"长"数据h 长度修饰符输⼊"短"数据W 整型常数指定输⼊数据所占宽度* 星号空读⼀个数据hh,ll同上h,l但仅对C99有效。

(B)空⽩字符空⽩字符会使scanf()函数在读操作中略去输⼊中的⼀个或多个空⽩字符,空⽩符可以是space,tab,newline等等,直到第⼀个⾮空⽩符出现为⽌。

(C)⾮空⽩字符⼀个⾮空⽩字符会使scanf()函数在读⼊时剔除掉与这个⾮空⽩字符相同的字符。

注:scanf()控制串知识就介绍到这⾥(应该⽐较齐全了^_^),如有遗漏下次补上。

下⾯将结合实际例程,⼀⼀阐述.三、 scanf()函数的控制串的使⽤例1.#include "stdio.h"int main(void){int a,b,c;scanf("%d%d%d",&a,&b,&c);printf("%d,%d,%d/n",a,b,c);return 0;}运⾏时按如下⽅式输⼊三个值:3□4□5 ↙(输⼊a,b,c的值)3,4,5 (printf输出的a,b,c的值)(1) &a、&b、&c中的&是地址运算符,分别获得这三个变量的内存地址。

C语言函数

C语言函数

注意: 凡不加类型说明的函数,自动按整型处理。
25
(3)在定义函数时指定的函数类型一般应该和return语句中的表达式类型
一致。 • 如果函数值的类型和return语句中表达式的值不一致,则以函数类型 为准。 • 对数值型数据,可以自动进行类型转换。即函数类型决定返回值的类 型。 (4)对于不带回值的函数,应当用“void”定义函数为“无类型”(或称 “空类型”)。此时在函数体中不得出现return语句。
16
参数的传递
参数的值传递举例。
改变形参变量的值,不影响实参变量
17
17
参数的传递

(2)实参可以是变量、常量或表达式。
swap(3,4) //实参为常量 swap(a+1,b+1) //实参是表达式
18
18
实参的取值顺序(★)

实参表列中包括了多个实参,在不同的C语言编译系统中对求实参 的先后次序不一定相同
数组作为函数的参数传递
1、数组元素作为函数参数
1.行为
类似于简单变量的参数传递,在编译过程中形参、实参分配不同的存储单元,进行
的是值传递,传递的方式为单向传递方式
main() a[0] a[1]
swap(a,b) a b
35
36
数组作为函数的参数传递
2、数组名作为函数参数
函数定义模式: 函数类型 函数名(形参数组类型 形参数组名[]) 1.行为 实现的是地址传递,形参获得的是实参数组的首地址。形参与实参共用一段地址
23
说明:
(1)函数的返回值是通过函数中的return语句获得的。
一个函数中可以有一个以上的return语句,执行到哪一个 return语句,哪一个语句起作用。 return语句后面的括弧也可以不要 例如: “return z;” 等价于 “return (z);” return后面的值可以是一个表达式。 例如: max(int x,int y) { return(x>y?x:y); }

c语言画图函数

c语言画图函数

(一) 像素函数putpixel() 画像素点函数功能:函数putpixel() 在图形模式下屏幕上画一个像素点。

用法:函数调用方式为void putpixel(int x,int y,int color); 说明:参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色彩值。

此函数相应的头文件是graphics.h 返回值:无例:在屏幕上(6,8)处画一个红色像素点:putpixel(6,8,RED);getpixel()返回像素色函数功能:函数getpixel()返回像素点颜色值。

用法:该函数调用方式为int getpixel(int x,int y); 说明:参数x,y为像素点坐标。

函数的返回值可以不反映实际彩色值,这取决于调色板的设置情况(参见setpalette()函数)。

这个函数相应的头文件为graphics.h 返回值:返回一个像素点色彩值。

例:把屏幕上(8,6)点的像素颜色值赋给变量color。

color=getpixel(8,6);编辑本段(二) 直线和线型函数有三个画直线的函数,即line(),lineto(),linerel()。

这些直线使用整型坐标,并相对于当前图形视口,但不一定受视口限制,如果视口裁剪标志clip为真,那么直线将受到视口边缘截断;如果clip为假,即使终点坐标或新的当前位置在图形视口或屏幕极限之外,直线截断到屏幕极限。

有两种线宽及几种线型可供选择,也可以自己定义线图样。

下面分别介绍直线和线型函数。

line() 画线函数功能:函数line()使用当前绘图色、线型及线宽,在给定的两点间画一直线。

用法:该函数调用方式为void line(int startx,int starty,int endx,int endy); 说明:参数startx,starty为起点坐标,endx,endy为终点坐标,函数调用前后,图形状态下屏幕光标(一般不可见)当前位置不改变。

C语言函数大全(精简版)

C语言函数大全(精简版)

字符串函数∙bcmp∙bcopy∙bzero∙memccpy ∙memchr ∙memcmp ∙memcpy ∙memicmp ∙memmove ∙memset ∙movmem ∙setmem ∙stpcpy ∙strcat ∙strchr ∙strcmp ∙strcmpi ∙strcpy ∙strcspn ∙strdup ∙stricmp ∙strlen ∙strlwr ∙strncat ∙strncmp ∙strncmpi ∙strncpy ∙strnicmp ∙strpbrk ∙strrev ∙strset ∙strstr ∙strtok ∙strupr数学函数∙abs∙acos∙asin∙atan∙atan2∙ceil∙cos∙cosh∙exp∙fabs∙floor∙fmod∙frexp∙hypot∙ldexp∙log∙log10∙modf∙pow∙pow10∙sin∙sinh∙sqrt∙tan∙tanh输入输出函数∙getchar∙kbhit∙printf∙putchar系统函数∙exit∙itoa字符函数∙isalnum∙isalpha∙iscntrl∙isdigit∙islower∙isascii∙isgraph∙isprint∙ispunct∙isspace∙isupper∙isxdigit∙toascii∙tolower∙toupper内存管理函数∙calloc∙free∙malloc∙reallocctype.h 字符函数isalnum功能:判断字符c是否为字母或数字说明:当c为数字0-9或字母a-z及A-Z时,返回非零值,否则返回零。

举例:printf("%c:%s\n",c,isalnum(c)?"yes":"no");isalpha功能:判断字符c是否为英文字母说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零。

c语言函数的作用

c语言函数的作用

c语言函数的作用C语言是一种广泛使用的编程语言,拥有丰富的标准函数库和用户自定义函数。

函数是C语言中的核心概念之一,它可以将一组相关的操作封装起来,提供给其他程序使用。

一个函数可以完成特定的任务,通过它可以实现代码的复用和模块化开发。

下面我们来介绍一下C语言函数的作用。

首先,函数可以提高程序的可读性和可维护性。

通过将代码按照功能划分为函数,可以使代码结构更加清晰,增加代码的可读性。

函数可以将复杂的逻辑分解为多个简单的步骤,减少代码量和代码的复杂性,提高程序的可维护性。

当程序出现问题时,可以更快地找到问题所在并进行修复。

其次,函数可以实现代码的复用。

当我们编写一个函数后,可以在程序的不同部分多次调用该函数,避免了重复编写相同的代码。

这样可以提高代码的效率,减少错误的可能性。

同时,如果需要对某个功能进行修改或升级,只需要修改相应的函数代码,而不需要修改所有调用该函数的地方。

另外,函数可以提高程序的模块化开发。

在实际的软件开发中,一个复杂的项目需要由多个模块组成,每个模块负责不同的功能。

函数可以作为模块的基本单元,将相似功能的代码封装为函数,然后将多个函数组织为模块。

通过模块化开发,可以提高开发效率,降低代码的耦合性,方便代码分工和团队合作。

此外,函数还可以实现代码的抽象和封装。

在函数的内部,可以使用变量、循环、条件判断等语句,实现复杂的逻辑。

但是对于函数的外部来说,只需要知道函数的输入和输出,不需要了解其中的具体实现细节。

这种抽象和封装的特性使得函数可以隐藏内部的实现细节,只向外部提供必要的接口,增加了代码的安全性和可靠性。

最后,函数还可以使用递归来实现某些特定的算法。

递归是一种函数调用自身的方式,它可以用来解决一些需要多次重复执行相同操作的问题。

递归函数可以简化代码逻辑,提高代码的可读性。

但是过度使用递归可能会导致栈溢出和性能问题,需要谨慎使用。

综上所述,C语言函数是一种非常重要的概念和工具。

通过函数,可以提高程序的可读性和可维护性,实现代码的复用和模块化开发,实现代码的抽象和封装,以及使用递归实现特定的算法。

C语言string函数详解

C语言string函数详解

C语言string函数详解函数原型: char *strdup(const char *s)函数功能: 字符串拷贝,目的空间由该函数分配函数返回: 指向拷贝后的字符串指针参数说明: src-待拷贝的源字符串所属文件: <string.h>#include <stdio.h>#include <string.h>#include <alloc.h>int main(){char *dup_str, *string="abcde";dup_str=strdup(string);printf("%s", dup_str);free(dup_str);return 0;}@函数名称: strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把str2指向的字符串拷贝到str1中去函数返回: 返回str1,即指向str1的指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char string[10];char *str1="abcdefghi";strcpy(string,str1);printf("the string is:%s\n",string);return 0;}函数原型: char *strncpy(char *dest, const char *src,int count)函数功能: 将字符串src中的count个字符拷贝到字符串dest中去函数返回: 指向dest的指针参数说明: dest-目的字符串,src-源字符串,count-拷贝的字符个数所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char string[10];char *str1="abcdefghi";strncpy(string,str1,3);string[3]='\0';printf("%s",string);return 0;}@函数名称: strcat函数原型: char* strcat(char * str1,char * str2);函数功能: 把字符串str2接到str1后面,str1最后的'\0'被取消函数返回: str1参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char buffer[80];strcpy(buffer,"Hello ");strcat(buffer,"world");printf("%s\n",buffer);return 0;}函数原型: char *strncat(char *dest, const char *src, size_t maxlen)函数功能: 将字符串src中前maxlen个字符连接到dest中函数返回:参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>char buffer[80];int main(){strcpy(buffer,"Hello ");strncat(buffer,"world",8);printf("%s\n",buffer);strncat(buffer,"*************",4);printf("%s\n",buffer);return 0;}@函数名称: strcmp函数原型: int strcmp(char * str1,char * str2);函数功能: 比较两个字符串str1,str2.函数返回: str1<str2,返回负数; str1=str2,返回0; str1>str2,返回正数. 参数说明:所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){char *buf1="aaa", *buf2="bbb", *buf3="ccc";int ptr;ptr=strcmp(buf2, buf1);if(ptr>0) printf("buffer 2 is greater than buffer 1\n");else printf("buffer 2 is less than buffer 1\n");ptr=strcmp(buf2, buf3);if(ptr>0) printf("buffer 2 is greater than buffer 3\n");else printf("buffer 2 is less than buffer 3\n");return 0;}函数原型: int strncmp(char *str1,char *str2,int count)函数功能: 对str1和str2中的前count个字符按字典顺序比较函数返回: 小于0:str1<str2,等于0:str1=str2,大于0:str1>str2 参数说明: str1,str2-待比较的字符串,count-比较的长度所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){int ptr;char *buf1="aaabbb",*buf2="bbbccc",*buf3="ccc";ptr=strncmp(buf2,buf1,3);if (ptr>0) printf("buffer 2 is greater than buffer 1");else printf("buffer 2 is less than buffer 1");ptr=strncmp(buf2,buf3,3);if (ptr>0) printf("buffer 2 is greater than buffer 3");else printf("buffer 2 is less than buffer 3");return(0);}@函数名称: strpbrk函数原型: char *strpbrk(const char *s1, const char *s2)函数功能: 得到s1中第一个“同时也出现在s2中”字符的位置指针函数返回: 位置指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char *p="Find all vowels";while(p){printf("%s\n",p);p=strpbrk(p+1,"aeiouAEIOU");}return 0;}函数原型: int strcspn(const char *s1, const char *s2)函数功能: 统计s1中从头开始直到第一个“来自s2中的字符”出现的长度函数返回: 长度参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){printf("%d\n",strcspn("abcbcadef","cba"));printf("%d\n",strcspn("xxxbcadef","cba"));printf("%d\n",strcspn("123456789","cba"));return 0;}@函数名称: strspn函数原型: int strspn(const char *s1, const char *s2)函数功能: 统计s1中从头开始直到第一个“不来自s2中的字符”出现的长度函数返回: 位置指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>#include <alloc.h>int main(){printf("%d\n",strspn("out to lunch","aeiou"));printf("%d\n",strspn("out to lunch","xyz"));return 0;}函数原型: char* strchr(char* str,char ch);函数功能: 找出str指向的字符串中第一次出现字符ch的位置函数返回: 返回指向该位置的指针,如找不到,则返回空指针参数说明: str-待搜索的字符串,ch-查找的字符所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){char string[15];char *ptr, c='r';strcpy(string, "This is a string");ptr=strchr(string, c);if (ptr)printf("The character %c is at position: %d\n",c,ptr-string); elseprintf("The character was not found\n");return 0;}@函数名称: strrchr函数原型: char *strrchr(const char *s, int c)函数功能: 得到字符串s中最后一个含有c字符的位置指针函数返回: 位置指针参数说明:所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){char string[15];char *ptr,c='r';strcpy(string,"This is a string");ptr=strrchr(string,c);if (ptr)printf("The character %c is at position:%d",c,ptr-string);elseprintf("The character was not found");return 0;}函数原型: char* strstr(char* str1,char* str2);函数功能: 找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符) 函数返回: 返回该位置的指针,如找不到,返回空指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char *str1="Open Watcom C/C++",*str2="Watcom",*ptr;ptr=strstr(str1,str2);printf("The substring is:%s\n",ptr);return 0;}@函数名称: strrev函数原型: char *strrev(char *s)函数功能: 将字符串中的所有字符颠倒次序排列函数返回: 指向s的指针参数说明:所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){char *forward="string";printf("Before strrev():%s",forward);strrev(forward);printf("After strrev(): %s",forward);return 0;}函数原型: char *strnset(char *s, int ch, size_t n)函数功能: 将字符串s中前n个字符设置为ch的值函数返回: 指向s的指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char *string="abcdefghijklmnopqrstuvwxyz";char letter='x';printf("string before strnset: %s",string);strnset(string,letter,13);printf("string after strnset: %s",string);return 0;}@函数名称: strset函数原型: char *strset(char *s, int ch)函数功能: 将字符串s中所有字符设置为ch的值函数返回: 指向s的指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char string[10]="123456789";char symbol='c';printf("Before strset(): %s", string);strset(string, symbol);printf("After strset(): %s", string);return 0;}函数原型: char *strtok(char *s1, const char *s2)函数功能: 分解s1字符串为用特定分隔符分隔的多个字符串(一般用于将英文句分解为单词)函数返回: 字符串s1中首次出现s2中的字符前的子字符串指针参数说明: s2一般设置为s1中的分隔字符规定进行子调用时(即分割s1的第二、三及后续子串)第一参数必须是NULL在每一次匹配成功后,将s1中分割出的子串位置替换为NULL(摘下链中第一个环),因此s1被破坏了。

C语言文件操作函数大全(超详细)

C语言文件操作函数大全(超详细)

C语⾔⽂件操作函数⼤全(超详细)相关函数 open,fclose表头⽂件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const char * mode);函数说明参数path字符串包含欲打开的⽂件路径及⽂件名,参数mode字符串则代表着流形态。

r 打开只读⽂件,该⽂件必须存在。

r+ 打开可读写的⽂件,该⽂件必须存在。

w 打开只写⽂件,若⽂件存在则⽂件长度清为0,即该⽂件内容会消失。

若⽂件不存在则建⽴该⽂件。

w+ 打开可读写⽂件,若⽂件存在则⽂件长度清为零,即该⽂件内容会消失。

若⽂件不存在则建⽴该⽂件。

a 以附加的⽅式打开只写⽂件。

若⽂件不存在,则会建⽴该⽂件,如果⽂件存在,写⼊的数据会被加到⽂件尾,即⽂件原先的内容会被保留。

a+ 以附加⽅式打开可读写的⽂件。

若⽂件不存在,则会建⽴该⽂件,如果⽂件存在,写⼊的数据会被加到⽂件尾后,即⽂件原先的内容会被保留。

复制代码代码如下:r Open text file for reading. The stream is positioned at the beginning of the file.r+ Open for reading and writing. The stream is positioned at the beginning of the file.w Truncate file to zero length or create text file for writing. The stream is positioned at the beginning of the file.w+ Open for reading and writing. The file is created if it does not exist, otherwise it is truncated. The stream is posi‐tioned at the beginning of the file.a Open for appending (writing at end of file). The file is created if it does not exist. The stream is positioned at theend of the file.a+ Open for reading and appending (writing at end of file). The file is created if it does not exist. The initial file posi‐tion for reading is at the beginning of the file, but output is always appended to the end of the file.上述的形态字符串都可以再加⼀个b字符,如rb、w+b或ab+等组合,加⼊b 字符⽤来告诉函数库打开的⽂件为⼆进制⽂件,⽽⾮纯⽂字⽂件。

C语言函数大全

C语言函数大全

C语言函数大全函数名:abort功能:异常终止一个进程用法: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)函数名:XXX功用:归正切函数用法:double atan(double x)函数名:atan2功用:计较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。

c语言延时函数delay用法

c语言延时函数delay用法

c语言延时函数delay用法
delay函数是c语言中的延时函数,是在程序的特定时机给程序设定一段固定的延时从而使程序实现暂停,从而达到控制程序逻辑运行的目的。

一、delay函数的用法:
1、函数说明:delay函数的原型为:void delay(unsigned int ms),其中ms表示毫秒。

2、函数功能:该函数用于按设定的毫秒数作出延时;函数执行时程序停止运行,所以用这个函数时需要将它放在需要延时的程序中;
3、函数用法:delay函数一般用于遥控程序,让程序具备一定的定时功能和延时功能。

4、函数使用示例:
delay(1000); //程序暂停1s
二、delay函数注意事项:
1、delay函数只能精确到毫秒,误差范围为 ±20ms,所以不适用于对时间要求较为严格的情况;
2、为了更加精确,可以使用带循环的delay函数,例如for循环嵌套delay函数;
3、一般使用delay函数时,一定要注意,要给函数设定一个合理的参数;
4、delay函数运行时会阻塞程序,如果延时时间比较长,可能会造成程序出现不可知的错误;
5、使用delay函数时,可以使用轮询的方式,使之在节省时间的同时也能实现延时的目的;
6、如果程序要求暂停较短时间,可以使用void pause()函数来暂停程序运行而不是利用delay函数;
7、delay函数一般只能用于短期延时,如果需要长期延时,则可以使用其他系统函数,如Sleep()或Suspend()系统函数代替;
8、关于delay函数的使用,要根据具体情况选择合适的参数,如ms应该在100~1000范围内,以达到精确控制程序的运动时间。

C语言系统函数

C语言系统函数

数学函数"math.h"1、求整型绝对值函数[函数头]int abs(int x)[返回值]参数x(整型)的绝对值(|x|)。

[说明]本函数返回值在0~32767。

如果X的值为-32768,则返回值为-32768。

2、求长整型绝对值函数[函数头]long labs(long x)[返回值]参数x(长整型)的绝对值(|x|)。

3、求实型绝对值函数[函数头]double fabs(double x)[返回值]参数x(实型)的绝对值(|x|)。

4、求小于或等于x的最大整数函数[函数头]double floor(double x)[返回值]小于或等于参数x的最大整数。

5、求大于或等于x 的最小整数函数[函数头]double ceil(double x)[返回值]大于或等于参数x的最小整数。

6、求正平方根函数[函数头]double sqrt(double x)[返回值]参数x的正平方根。

[说明]x的值应大于或等于O。

7、求常用对数函数[函数头]double log10(double x)x)。

[返回值]参数X的常用对数(log10[说明]x的值应>0。

8、求自然对数函数[函数头]double log(double x)[返回值]参数x的自然对数(ln x)。

[说明]x的值应>O。

9、求指数函数[函数头]double exp(double x)[返回值]参数x的指数e x。

10、求1O的x次方函数[函数头]double pow10(int x)[返回值]10的参数x次方(10x)。

11、求x的y次方函数[函数头]double pow(double x, double y)[返回值]参数x的参数y次方(x y)。

[说明]不能出现x、y均<O或x≤0,而y不是整数的两种情况。

12、求正弦函数[函数头]double sin(double x)[返回值]参数x的正弦值(sin x)。

C语言函数库详解(收藏版)

C语言函数库详解(收藏版)

c语言函数库目录第一章(C标准库) (4)1. <>:诊断 (4)2. <>:字符类别测试 (5)3. <>:错误处理 (5)4. <>:整型常量 (6)5. <>:地域环境 (6)6. <>:数学函数 (7)7. <>:非局部跳转 (8)8. <>:信号 (9)9. <>:可变参数表 (11)10. <>:公共定义 (11)11. <>:输入输出 (12)12. <>:实用函数 (13)13. <>:日期与时间函数 (13)第二章(IO函数) (14)clearerr:复位错误标志函数 (18)feof:检测文件结束符函数 (18)ferror:检测流上的错误函数 (19)fflush:清除文件缓冲区函数 (20)fgetc:从流中读取字符函数 (22)fgetpos:取得当前文件的句柄函数 (23)fgets:从流中读取字符串函数 (24)fopen、fclose:文件的打开与关闭函数 (24)fprintf:格式化输出函数 (26)fputc:向流中输出字符函数 (27)fputs:向流中输出字符串函数 (28)fread:从流中读取字符串函数 (28)freopen:替换文件中数据流函数 (29)fscanf:格式化输入函数 (30)fseek:文件指针定位函数 (31)fsetpos:定位流上的文件指针函数 (32)ftell:返回当前文件指针位置函数 (33)fwrite:向文件写入数据函数 (34)getc:从流中读取字符函数 (35)getchar:从标准输入文件中读取字符函数 (36)gets:从标准输入文件中读取字符串函数 (36)perror:打印系统错误信息函数 (37)printf:产生格式化输出的函数 (38)putc:向指定流中输出字符函数 (38)putchar:向标准输出文件上输出字符 (39)remove:删除文件函数 (40)rename:重命名文件函数 (41)rewind:重置文件指针函数 (42)scanf:格式化输入函数 (43)setbuf、setvbuf:指定文件流的缓冲区函数 (43)sprintf:向字符串写入格式化数据函数 (45)sscanf:从缓冲区中读格式化字符串函数 (45)tmpfile:创建临时文件函数 (46)tmpnam:创建临时文件名函数 (47)ungetc:把字符退回到输入流函数 (47)第三章(字符处理函数) (49)isalnum:检查字符是否是字母或数字 (52)isalpha:检查字符是否是字母 (53)isascii:检查字符是否是ASCII码 (54)iscntrl:检查字符是否是控制字符 (54)isdigit:检查字符是否是数字字符 (55)isgraph:检查字符是否是可打印字符(不含空格) (56)islower:检查字符是否是小写字母 (56)isprint:检查字符是否是可打印字符(含空格) (57)ispunct:检查字符是否是标点字符 (58)isspace:检查字符是否是空格符 (58)isupper:检查字符是否是大写字母 (59)isxdigit:检查字符是否是十六进制数字字符 (60)toascii:将字符转换为ASCII码 (60)tolower:将大写字母转换为小写字母 (61)toupper:将小写字母转换为大写字母 (62)第四章(字符串函数) (62)atof:字符串转浮点型函数 (66)atoi:字符串转整型函数 (67)atol:字符串转长整型函数 (67)memchr:字符搜索函数 (68)memcmp:字符串比较函数 (68)memcpy:字符串拷贝函数 (70)memmove:字块移动函数 (71)memset:字符加载函数 (72)strcat:字符串连接函数 (73)strchr:字符串中字符首次匹配函数 (73)strcmp:字符串比较函数 (74)strcpy:字符串拷贝函数 (75)strcspn:字符集逆匹配函数 (76)strdup:字符串新建拷贝函数 (77)strerror:字符串错误信息函数 (78)strlen:计算字符串长度函数 (79)strncat:字符串连接函数 (80)strncmp:字符串子串比较函数 (81)strncpy:字符串子串拷贝函数 (82)strpbrk:字符集字符匹配函数 (83)strrchr:字符串中字符末次匹配函数 (84)strrev:字符串倒转函数 (85)strset:字符串设定函数 (86)strspn:字符集匹配函数 (87)strstr:字符串匹配函数 (88)strtod:字符串转换成双精度函数 (89)strtok:字符串分隔函数 (90)strtol:字符串转换成长整型函数 (91)strtoul:字符串转换成无符号长整型函数 (92)strupr:字符串大写转换函数 (93)strupr:字符串大写转换函数 (94)第五章(数学函数) (94)abs、labs、fabs:求绝对值函数 (98)acos:反余弦函数 (99)asin:反正弦函数 (99)atan:反正切函数 (100)atan2:反正切函数2 (100)ceil:向上舍入函数 (101)cos :余弦函数 (101)cosh:双曲余弦函数 (102)div、ldiv:除法函数 (102)exp:求e的x次幂函数 (104)floor:向下舍入函数 (104)fmod:求模函数 (105)frexp:分解浮点数函数 (105)hypot:求直角三角形斜边长函数 (106)ldexp:装载浮点数函数 (106)log、log10:对数函数 (107)modf:分解双精度数函数 (108)pow、pow10:指数函数 (108)rand:产生随机整数函数 (109)sin:正弦函数 (109)sinh:双曲正弦函数 (110)sqrt:开平方函数 (110)srand:设置随机时间的种子函数 (111)tan:正切函数 (112)tanh:双曲正切函数 (112)第六章(时间和日期函数) (113)asctime:日期和时间转换函数 (116)clock:测定运行时间函数 (117)ctime:时间转换函数 (118)difftime:计算时间差函数 (119)gmtime:将日历时间转换为GMT (119)localtime:把日期和时间转变为结构 (120)mktime:时间类型转换函数 (121)time:获取系统时间函数 (122)第七章(其它函数) (123)abort:异常终止进程函数 (126)atexit:注册终止函数 (127)bsearch:二分搜索函数 (127)calloc:分配主存储器函数 (129)exit:正常终止进程函数 (130)free:释放内存函数 (131)getenv:获取环境变量 (132)malloc:动态分配内存函数 (132)qsort:快速排序函数 (133)realloc:重新分配主存函数 (134)第一章(C标准库)1. <>:诊断2. <>:字符类别测试3. <>:错误处理4. <>:整型常量5. <>:地域环境6. <>:数学函数7. <>:非局部跳转8. <>:信号9. <>:可变参数表10. <>:公共定义11. <>:输入输出12. <>:实用函数13. <>:日期与时间函数1. <>:诊断<>中只定义了一个带参的宏assert,其定义形式如下:void assert (int 表达式)assert宏用于为程序增加诊断功能,它可以测试一个条件并可能使程序终止。

c语言函数的作用

c语言函数的作用

c语言函数的作用C语言函数是一种程序设计中重要的概念,它是一种程序模块化的方式,可以将程序按照功能模块划分,把相似的功能代码块存储在一个函数中,使程序的结构更加清晰,便于理解和维护。

本文将从以下几个方面论述C语言函数的作用。

1. 提高代码的复用性函数是C语言中的一种重要组成部分,它可以将程序划分为多个功能模块,每个模块对应一个函数,实现相同的功能的代码块可以在不同的程序中重复使用,节省了编写相似代码的时间,提高了代码的复用性。

在软件开发过程中,复用性是非常重要的,因为它可以减少不必要的代码的编写和维护,从而降低了程序的开发成本。

2. 方便程序代码的维护和升级通过将程序按照功能模块划分成多个函数,我们可以更加方便的维护和升级代码。

当程序中某个功能出现问题时,我们只需要修复这个功能对应的函数,而不用担心其他函数的影响,这样可以降低整个程序的维护成本。

当然,对于需要升级的功能,我们只需要修改对应的函数,而不会影响到其他的函数,这样可以提高程序的可维护性和可扩展性。

3. 提高程序的可读性将程序按照功能模块划分成多个函数,可以使程序的结构更加明了,使程序更加易于阅读和理解。

特别是对于大型程序,将其划分为多个函数可以提高程序的可读性,并且便于程序员的交流和合作。

此外,可以根据函数名来快速定位代码的功能,从而也降低了代码的复杂度。

4. 有助于程序的测试和调试通过使用函数,我们可以很方便地进行程序的测试和调试。

我们可以针对单个函数进行测试和调试,而不需要考虑整个程序的其他部分。

这样不仅可以提高测试的效率,还可以降低测试的成本。

总之,C语言函数是程序设计不可或缺的一个部分,它可以提高代码的复用性,方便程序代码的维护和升级,提高程序的可读性,有助于程序的测试和调试。

对于每一个程序员来说,深入了解C语言函数的作用,对于编写高质量的代码是至关重要的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

printf("%9o",a)的输出数据为:???177777。
③x格式符,以十六进制数形式输出整数,与o格式类似,也可不输出负号。因此有:
int a =-1;
printf("%d,%o,%x",a,a,a);
的输出结果为: -1,177777,ffff
可见,%x格式说明的输出是将内存中的0、1串按从右到左4位一组的十六进,如“%12x”输出指定字段宽的整数。
printf("%7s","CHINA");输出:??CHINA
printf("%3s","CHINA");则突破输出宽度输出:CHINA
? %-ms,如果小于m列,则在m列范围内,字符串向左靠,右边补空格。例:
printf("%-7s","CHINA");输出:CHINA??
int i = 97;
printf("%c,%d\n",c1,c1);
printf("%c,%d\n",i,i);
}
输出结果为:
a,97
a,97
? %mc格式用于指定输出字符宽度,如果有:
printf("%3c",c1);则输出:??a,即c变量输出占3列,前两列补空格。
例2.10
main()
{unsigned int a = 65535;
int b =-2;
printf("a = %d,%o,%x,%u\n",a,a,a,a);
printf("b = %d,%o,%x,%u\n",b,b,b,b);
}
运行结果为:
例2.12
main()
{float x,y;
double u,v;
x = 111111.111;y = 222222.222;
u = 1111111111111.111111111;
v = 2222222222222.222222222;
printf("%f\n",x+y);
scanf("%d,%d",&c,&d);
printf("%d,%d,%d,%d\n",a,b,c,d);
printf("%d %d %d %d",a,b,c,d);
}
运行时,按以下方式输入a,b,c,d的值:
3 4↙ 5,6↙
例:printf("% 12.4e",1234.56);
输出:1.2346e+003(四舍五入)
⑨g格式说明。用来输出实数,它根据实数大小,自动选f格式或e格式(选择占宽度较小的一种输出),且不输出无意义的零。例如,若a = 123.456,则
printf("%f%e % g",a,a,a);
输出: 3,4,5,6
3 4 5 6
&a,&b,&c,&d中的&是取地址运算符,&a指a的地址。但要注意,上面的两个输入格式在输入时有所不同。“%d %d”表示按十进制整数形式输入两个数据。输入数据时,两个数据之间以一个或多个空格间隔,也可以用回车键,跳格键tab。下面的输入均合法:
输出如下:
123.456000 1.234560e+002 123.456
用%f格式输出占10列。用%e格式输出占13列,用%g格式时,自动从上面两种格式中选择较短者(今为%f格式为短),故占10列,且按%f格式用小数点形式输出,最后三个小数位“0”为无意义的0,不输出。%g格式用的较少。
② 普通字符,是需要用户在输入时原样输入的字符。例如:
scanf("%d%d",&a,&b);
scanf("%f,%f",&x,&y);
都是合法的格式输入语句。但在键入数据时略有区别,请看下例:
main()
{ int a, b, c, d;
scanf("%d %d",&a,&b);
例:printf("%7.3f",23.456);
输出:’23.456
printf("%7.3",1123.456);
输出:1123.456
? %-m.nf与%m.nf基本相同,只是使输出数值向左端靠,右端补空格。例:
printf("%-10.3f",1111.1111);
④u格式符,用来输出无符号型(unsigned型)数据,以十进制形式输出。
一个无符号型(unsigned型)数据也可以用“%d”格式输出,一个有符号型(int型)数据也可以用“%u”格式输出。具体的输出值按相互赋值的规则处理。无符号型(unsigned型)数据也可以用“%o”或“%x”格式输出。
⑥s格式说明。s格式用来输出一个字符串。有以下几种用法:
? %s,例如:
printf("%s","CHINA");输出:CHINA。
? %ms,输出的字符串占m列,如果字符串本身长度大于m,则突破m限制,将字符串全部输出。若串小于m,则左边补空格。例如:
char ch ='a';
printf("%c",ch);
输出字符'a'。
一个整数,只要它的值在0~255之间,就可以用字符形式输出。在输出前,将该整数转换成相应的ASCII码字符。反之,一个字符数据也可以用整数形式输出。
例2.11
main()
{ char c1 = 'a';
输出:1111.111??
⑧e格式符。以指数形式输出实数。可用以下形式:
? %e不指定输出数据所占的宽度和数字部分小数位数,由系统自动指定给出6位小数,指定部分占5列(如e+003),其中:“e”占一位,指数的符号占一位,指数占三位。数值按标准化指数形式输出(即小数点前必须有且仅有一位非零数字)。例如:
输出:123456
? %md,m 为指定的输出字段的宽度,如果实际数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。例:
printf("%4d,%4d,%4d",a,b,c);
若a = 123,b = 12345,c = 578,则输出为:
a =-1,177777,ffff,65535
b =-2,177776,fffe,65534
注意:上例中65535在内存中的表示(16位)为:11 11 11 11 11 11 11 11;
⑤ c格式说明。
? %c格式,用来输出一个字符。例:
C函数功能说明
printf函数
其功能是向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。
(1) printf函数的一般形式为:
printf (格式控制字符串,变量1,变量2,…);
格式控制字符串与scanf中的相同。printf函数的第二个及以后的各个参数(若有的话)是变量的名字,而不是变量的地址,因此与scanf的相应参数有所不同。数组名可直接出现在printf的变量位置上,作为printf的参量,是合法的。
?123,12345,?578
? %ld, 输出长整型数据。如:
long a = 135970;
printf("%ld",a);
输出:135970。如果用%d输出,就会发生错误,对long型数据,应当用%ld格式输出。对长整型数据也可以指定字段宽度,如将上面的printf函数中的"%ld"改为"%8ld",则输出为:
5,6
(2) scanf中可用的格式说明:
对应不同类型数据的输入,scanf的格式控制字符串中可以使用不同的格式字符构成不同的格式说明。常用的格式说明如下:
printf("%-2.3s","CHINA");输出:CHI
⑦f格式说明。f格式用来输出带小数点的单、双精度实数。有下列几种用法:
? %f不指定字段宽度,由系统自动输出相应常量或变量的全部整数部分及6位小数。应注意,单精度实数输出时,有效数字位数一般为7位。而双精度实数输出时,有效数字位数一般为十六位,有6位小数位。
与scanf函数一样,printf中的格式说明也是针对不同类型的数据用不同的格式说明。
(2) printf函数中的格式说明:
① d格式说明。用来输出十进制整数,有下列几种用法:
? %d,按整数型数据的实际长度输出,如
printf("%d",123456);
printf("%-3s","CHINA");突破输出宽度输出:CHINA??
? %m.ns,输出占m列,但只取字符串中左边n个字符输出。这n个字符输出在m列的右侧,左补空格。例:
printf("%7.3s","CHINA");输出:????CHI。
? %-m.ns,其中m和n所表示的意义同④,但n个字符输出在m列范围内的左侧,右补空格。如果n>m,则m自动取n的值,以保证n个字符自动正常输出。例:
scanf函数
(1) scanf函数的一般形式:
scanf(格式控制字符串,地址1,地址2,…);
格式控制字符串是由双撇号括起来的字符串,它主要由两种类型的字符组成:
① 格式说明符由“%”和格式字符组成,如%c,%d,%s,%f等。其作用是将输入的数据转换为指定的格式,赋给scanf的二个参量(是地址1)所指定的内存单元(可能一次使用多个)中。格式说明以“%”字符为标志。
? 3 4
? 3 ↙
4
? 3(按tab健)
4↙
但两个数据间不能用逗号等其他的字符。
而“%d,%d”亦表示按十进制输入两个数据。要求在输入数据时,两个数据间一定以一个逗号“,”作为间隔符,因此,上例中c和d的值的输入应按下列形式输入:
printf("%f\n",u+v);
}
运行结果为:
相关文档
最新文档