目录
十六、bsearch(key,base,nitems,size ,compar )
十七、qsort(base,nitems,size,compar )
十一 、abort(void)
1、描述:
C 库函数 void abort(void) 中止程序执行,直接从调用的地方跳出。
2、参数:
NA
3、返回值:
该函数不返回任何值。
4、实例:
代码:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
FILE *fp;
printf("准备打开 nofile.txt\n");
fp = fopen( "nofile.txt","r" );
if(fp == NULL)
{
printf("准备终止程序\n");
abort();
}
printf("准备关闭 nofile.txt\n");
fclose(fp);
return(0);
}
运行结果:
准备打开 nofile.txt
准备终止程序
十二 、atexit(func)
1、描述:
C 库函数 int atexit(void (*func)(void)) 当程序正常终止时,调用指定的函数 func。您可以在任何地方注册你的终止函数,但它会在程序终止的时候被调用。
2、参数:
func -- 在程序终止时被调用的函数。
3、返回值:
如果函数成功注册,则该函数返回零,否则返回一个非零值。
4、实例:
代码:
#include <stdio.h>
#include <stdlib.h>
void functionA ()
{
printf("这是函数A\n");
}
int main ()
{
/* 注册终止函数 */
atexit(functionA );
printf("启动主程序...\n");
printf("退出主程序...\n");
return(0);
}
运行结果:
启动主程序...
退出主程序...
这是函数A
十三、exit(int status)
1、描述:
C 库函数 void exit(int status) 立即终止调用进程。任何属于该进程的打开的文件描述符都会被关闭,该进程的子进程由进程 1 继承,初始化,且会向父进程发送一个 SIGCHLD 信号。
2、参数:
status -- 返回给父进程的状态值。
3、返回值:
该函数不返回值。
4、实例:
代码:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
printf("程序的开头....\n");
printf("退出程序....\n");
exit(0);
printf("程序的结尾....\n");
return(0);
}
运行结果:
程序的开头....
退出程序....
十四、getenv(name)
1、描述:
C 库函数 char *getenv(const char *name) 搜索 name 所指向的环境字符串,并返回相关的值给字符串。
2、参数:
name -- 包含被请求变量名称的 C 字符串。
3、返回值:
该函数返回一个以 null 结尾的字符串,该字符串为被请求环境变量的值。如果该环境变量不存在,则返回 NULL。
4、实例:
代码:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
printf("PATH : %s\n", getenv("PATH"));
printf("HOME : %s\n", getenv("HOME"));
printf("ROOT : %s\n", getenv("ROOT"));
return(0);
}
运行结果:
PATH : /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
HOME : /
ROOT : (null)
十五、system(command)
1、描述:
C 库函数 int system(const char *command) 把 command 指定的命令名称或程序名称传给要被命令处理器执行的主机环境,并在命令完成后返回。
2、参数:
command -- 包含被请求变量名称的 C 字符串。
3、返回值:
如果发生错误,则返回值为 -1,否则返回命令的状态。
4、实例:
代码:
#include <stdio.h>
#include <string.h>
int main ()
{
char command[50];
strcpy( command, "dir" );
system(command);
return(0);
}
运行结果:
a.txt
amit.doc
sachin
saurav
file.c
十六、bsearch(key,base,nitems,size ,compar )
1、描述:
C 库函数 void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *)) 对 nitems 对象的数组执行二分查找,base 指向进行查找的数组,key 指向要查找的元素,size 指定数组中每个元素的大小。
数组的内容应根据 compar 所对应的比较函数升序排序。
2、参数:
key -- 指向要查找的元素的指针,类型转换为 void*。
base -- 指向进行查找的数组的第一个对象的指针,类型转换为 void*。
nitems -- base 所指向的数组中元素的个数。
size -- 数组中每个元素的大小,以字节为单位。
compar -- 用来比较两个元素的函数。
3、返回值:
如果查找成功,该函数返回一个指向数组中匹配元素的指针,否则返回空指针。.
4、实例:
代码:
#include <stdio.h>
#include <stdlib.h>
int cmpfunc(const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int values[] = { 5, 20, 29, 32, 63 };
int main ()
{
int *item;
int key = 32;
/* 使用 bsearch() 在数组中查找值 32 */
item = (int*) bsearch (&key, values, 5, sizeof (int), cmpfunc);
if( item != NULL )
{
printf("Found item = %d\n", *item);
}
else
{
printf("Item = %d could not be found\n", *item);
}
return(0);
}
运行结果:
Found item = 32
十七、qsort(base,nitems,size,compar )
1、描述:
C 库函数 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) 对数组进行排序。
2、参数:
base -- 指向要排序的数组的第一个元素的指针。
nitems -- 由 base 指向的数组中元素的个数。
size -- 数组中每个元素的大小,以字节为单位。
compar -- 用来比较两个元素的函数。
3、返回值:
该函数不返回任何值。
4、实例:
代码:
#include <stdio.h>
#include <stdlib.h>
int values[] = { 88, 56, 100, 2, 25 };
int cmpfunc (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{
int n;
printf("排序之前的列表:\n");
for( n = 0 ; n < 5; n++ ) {
printf("%d ", values[n]);
}
qsort(values, 5, sizeof(int), cmpfunc);
printf("\n排序之后的列表:\n");
for( n = 0 ; n < 5; n++ ) {
printf("%d ", values[n]);
}
return(0);
}
运行结果:
排序之前的列表:
88 56 100 2 25
排序之后的列表:
2 25 56 88 100
十八、abs(int x)
1、描述:
C 库函数 int abs(int x) 返回 x 的绝对值。
2、参数:
x -- 完整的值。
3、返回值:
该函数返回 x 的绝对值。
4、实例:
代码:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int a, b;
a = abs(5);
printf("a 的值 = %d\n", a);
b = abs(-10);
printf("b 的值 = %d\n", b);
return(0);
}
运行结果:
a 的值 = 5
b 的值 = 10
十九、div(int numer, int denom)
1、描述:
C 库函数 div_t div(int numer, int denom) 把 numer(分子)除以 denom(分母)。
2、参数:
- numer -- 分子。
- denom -- 分母。
3、返回值:
该函数返回定义在 <cstdlib> 中的结构中的值,该结构有两个成员,如 div_t:int quot; int rem;。
4、实例:
代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
div_t output;
output = div(27, 4);
printf("(27/ 4) 的商 = %d\n", output.quot);
printf("(27/4) 的余数 = %d\n", output.rem);
output = div(27, 3);
printf("(27/ 3) 的商 = %d\n", output.quot);
printf("(27/3) 的余数 = %d\n", output.rem);
return(0);
}
运行结果:
(27/ 4) 的商 = 6
(27/4) 的余数 = 3
(27/ 3) 的商 = 9
(27/3) 的余数 = 0
二十、 labs(long int x)
1、描述:
C 库函数 long int labs(long int x) 返回 x 的绝对值。
2、参数:
x -- 完整的值。
3、返回值:
该函数返回 x 的绝对值。
4、实例:
代码:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
long int a,b;
a = labs(65987L);
printf("a 的值 = %ld\n", a);
b = labs(-1005090L);
printf("b 的值 = %ld\n", b);
return(0);
}
运行结果:
a 的值 = 65987
b 的值 = 1005090