函数名: labs 功
能: 取长整型绝对值 用 法: long labs(long n); 程序例: #include <stdio.h>
#include <math.h> int main(void) { long result;
long x = -12345678L; result= labs(x);
printf("number: %ld abs value: %ld\n", x, result);
return 0; } 函数名: ldexp
功 能: 计算value*2的幂 用 法: double ldexp(double value, int exp);
程序例: #include <stdio.h> #include <math.h> int main(void) {
double value; double x = 2;
/* ldexp raises 2 by a power of 3 then multiplies
the result by 2 */ value = ldexp(x,3);
printf("The ldexp value is: %lf\n", value);
return 0; } 函数名: ldiv 功
能: 两个长整型数相除, 返回商和余数 用 法: ldiv_t ldiv(long lnumer, long ldenom); 程序例:
/* ldiv example */ #include <stdlib.h> #include <stdio.h> int
main(void) { ldiv_t lx; lx = ldiv(100000L,
30000L); printf("100000 div 30000 = %ld remainder %ld\n", lx.quot,
lx.rem); return 0; } 函数名:
lfind 功 能: 执行线性搜索 用 法: void *lfind(void *key, void *base,
int *nelem, int width, int (*fcmp)()); 程序例:
#include <stdio.h> #include <stdlib.h> int compare(int *x, int
*y) { return( *x - *y ); } int main(void) {
int array[5] = {35, 87, 46, 99, 12}; size_t nelem = 5;
int key; int *result; key = 99;
result = lfind(&key, array, &nelem,
sizeof(int), (int(*)(const void *,const void *))compare); if
(result) printf("Number %d found\n",key);
else printf("Number %d not found\n",key);
return 0; } 函数名: line 功 能: 在指定两点间画一直线 用
法: void far line(int x0, int y0, int x1, int y1); 程序例: #include <graphics.h>
#include <stdlib.h> #include <stdio.h> #include <conio.h>
int main(void) { /* request auto detection */
int gdriver = DETECT, gmode, errorcode; int xmax, ymax;
/* initialize graphics and local variables */ initgraph(&gdriver,
&gmode, ""); /* read result of initialization */
errorcode = graphresult(); /* an error occurred */
if (errorcode != grOk) { printf("Graphics
error: %s\n",
grapherrormsg(errorcode)); printf("Press any
key to halt:"); getch();
exit(1); } setcolor(getmaxcolor());
xmax = getmaxx(); ymax = getmaxy(); /* draw a
diagonal line */ line(0, 0, xmax, ymax); /* clean
up */ getch(); closegraph();
return 0; } 函数名: linerel 功 能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线
用 法: void far linerel(int dx, int dy); 程序例: #include <graphics.h>
#include <stdlib.h> #include <stdio.h> #include <conio.h>
int main(void) { /* request auto detection */
int gdriver = DETECT, gmode, errorcode; char msg[80];
/* initialize graphics and local variables */ initgraph(&gdriver,
&gmode, ""); /* read result of initialization */
errorcode = graphresult(); if (errorcode != grOk)
{ printf("Graphics error: %s\n",
grapherrormsg(errorcode)); printf("Press any
key to halt:"); getch();
exit(1); } /* move the C.P. to location (20,
30) */ moveto(20, 30); /* create and output a
message at (20, 30) */ sprintf(msg,
" (%d, %d)", getx(), gety()); outtextxy(20, 30, msg);
/* draw a line to a point a relative distance
away from the current value of C.P.
*/ linerel(100, 100); /* create and output a
message at C.P. */ sprintf(msg, " (%d, %d)", getx(), gety());
outtext(msg); /* clean up */
getch(); closegraph(); return 0; }
函数名: localtime 功 能: 把日期和时间转变为结构 用 法: struct tm *localtime(long
*clock); 程序例: #include <time.h> #include <stdio.h> #include
<dos.h> int main(void) { time_t timer;
struct tm *tblock; /* gets time of day */ timer
= time(NULL); /* converts date/time to a structure */
tblock = localtime(&timer); printf("Local time is: %s", asctime(tblock));
return 0; } 函数名: lock
功 能: 设置文件共享锁 用 法: int lock(int handle, long offset, long length);
程序例: #include <io.h> #include <fcntl.h> #include <sys\stat.h>
#include <process.h> #include <share.h> #include <stdio.h>
int main(void) { int handle, status;
long length; /* Must have DOS Share.exe loaded for */
/* file locking to function properly */ handle = sopen("c:\\autoexec.bat",
O_RDONLY,SH_DENYNO,S_IREAD);
if (handle < 0) { printf("sopen
failed\n"); exit(1); }
length = filelength(handle); status = lock(handle,0L,length/2);
if (status == 0) printf("lock
succeeded\n"); else printf("lock
failed\n"); status = unlock(handle,0L,length/2);
if (status == 0) printf("unlock succeeded\n");
else printf("unlock failed\n");
close(handle); return 0; }
函数名: log 功 能: 对数函数ln(x) 用 法: double log(double x); 程序例:
#include <math.h> #include <stdio.h> int main(void) {
double result; double x = 8.6872; result = log(x);
printf("The natural log of %lf is %lf\n", x, result);
return 0; } 函数名: log10 功 能: 对数函数log 用
法: double log10(double x); 程序例: #include <math.h> #include <stdio.h>
int main(void) { double result; double
x = 800.6872; result = log10(x); printf("The
common log of %lf is %lf\n", x, result); return 0; }
函数名: longjump 功 能: 执行非局部转移 用 法: void
longjump(jmp_buf env, int val); 程序例: #include <stdio.h> #include
<setjmp.h> #include <stdlib.h> void subroutine(jmp_buf); int main(void)
{ int value; jmp_buf jumper;
value = setjmp(jumper); if (value != 0) {
printf("Longjmp with value %d\n", value); exit(value);
} printf("About to call subroutine ... \n");
subroutine(jumper); return 0; } void subroutine(jmp_buf
jumper) { longjmp(jumper,1); }
函数名: lowvideo 功 能: 选择低亮度字符 用 法: void lowvideo(void);
程序例: #include <conio.h> int main(void) { clrscr();
highvideo(); cprintf("High Intesity Text\r\n");
lowvideo(); gotoxy(1,2); cprintf("Low
Intensity Text\r\n"); return 0; }
函数名: lrotl, _lrotl 功 能: 将无符号长整型数向左循环移位 用 法: unsigned long
lrotl(unsigned long lvalue, int count); unsigned long _lrotl(unsigned
long lvalue, int count); 程序例: /* lrotl example */ #include <stdlib.h>
#include <stdio.h> int main(void) { unsigned long
result; unsigned long value = 100; result = _lrotl(value,1);
printf("The value %lu rotated left one bit is: %lu\n", value,
result); return 0; } 函数名: lsearch
功 能: 线性搜索 用 法: void *lsearch(const void *key, void *base,
size_t *nelem, size_t width, int (*fcmp)(const
void *, const void *)); 程序例: #include <stdio.h> #include <stdlib.h>
int compare(int *x, int *y) { return( *x - *y ); }
int main(void) { int array[5] = {35, 87, 46, 99, 12};
size_t nelem = 5; int key;
int *result; key = 99; result = lfind(&key,
array, &nelem,
sizeof(int), (int(*)(const void *,const void *))compare); if
(result) printf("Number %d found\n",key);
else printf("Number %d not found\n",key);
return 0; } 函数名: lseek 功 能:
移动文件读/写指针 用 法: long lseek(int handle, long offset, int fromwhere); 程序例:
#include <sys\stat.h> #include <string.h> #include <stdio.h>
#include <fcntl.h> #include <io.h> int main(void) {
int handle; char msg[] = "This is a test"; char
ch; /* create a file */ handle = open("TEST.$$$",
O_CREAT | O_RDWR, S_IREAD | S_IWRITE); /* write some data to the
file */ write(handle, msg, strlen(msg)); /* seek
to the begining of the file */ lseek(handle, 0L, SEEK_SET);
/* reads chars from the file until we hit EOF */ do
{ read(handle, &ch, 1);
printf("%c", ch); } while (!eof(handle));
close(handle); return 0; }
返回目录 |