⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fl.htm

📁 C语言编程宝典.rar,学习C语言的经典初级教程
💻 HTM
字号:
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
   <META NAME="Author" CONTENT="wdg">
   <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (Win95; I) [Netscape]">
   <TITLE>fl</TITLE>
</HEAD>
<BODY>
&nbsp;

<P>函数名: labs
<BR>功&nbsp; 能: 取长整型绝对值
<BR>用&nbsp; 法: long labs(long n);
<BR>程序例:

<P>#include &lt;stdio.h>
<BR>#include &lt;math.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; long result;
<BR>&nbsp;&nbsp; long x = -12345678L;

<P>&nbsp;&nbsp; result= labs(x);
<BR>&nbsp;&nbsp; printf("number: %ld abs value: %ld\n",
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x, result);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: ldexp
<BR>功&nbsp; 能: 计算value*2的幂
<BR>用&nbsp; 法: double ldexp(double value, int exp);
<BR>程序例:

<P>#include &lt;stdio.h>
<BR>#include &lt;math.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; double value;
<BR>&nbsp;&nbsp; double x = 2;

<P>&nbsp;&nbsp; /* ldexp raises 2 by a power of 3
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then multiplies the result by 2&nbsp;&nbsp;
*/
<BR>&nbsp;&nbsp; value = ldexp(x,3);
<BR>&nbsp;&nbsp; printf("The ldexp value is: %lf\n",
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: ldiv
<BR>功&nbsp; 能: 两个长整型数相除, 返回商和余数
<BR>用&nbsp; 法: ldiv_t ldiv(long lnumer, long ldenom);
<BR>程序例:

<P>/* ldiv example */

<P>#include &lt;stdlib.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; ldiv_t lx;

<P>&nbsp;&nbsp; lx = ldiv(100000L, 30000L);
<BR>&nbsp;&nbsp; printf("100000 div 30000 = %ld remainder %ld\n", lx.quot,
lx.rem);
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: lfind
<BR>功&nbsp; 能: 执行线性搜索
<BR>用&nbsp; 法: void *lfind(void *key, void *base, int *nelem, int width,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int (*fcmp)());
<BR>程序例:

<P>#include &lt;stdio.h>
<BR>#include &lt;stdlib.h>

<P>int compare(int *x, int *y)
<BR>{
<BR>&nbsp;&nbsp; return( *x - *y );
<BR>}

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; int array[5] = {35, 87, 46, 99, 12};
<BR>&nbsp;&nbsp; size_t nelem = 5;
<BR>&nbsp;&nbsp; int key;
<BR>&nbsp;&nbsp; int *result;

<P>&nbsp;&nbsp; key = 99;
<BR>&nbsp;&nbsp; result = lfind(&amp;key, array, &amp;nelem,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeof(int), (int(*)(const
void *,const void *))compare);
<BR>&nbsp;&nbsp; if (result)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Number %d found\n",key);
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Number %d not found\n",key);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: line
<BR>功&nbsp; 能: 在指定两点间画一直线
<BR>用&nbsp; 法: void far line(int x0, int y0, int x1, int y1);
<BR>程序例:

<P>#include &lt;graphics.h>
<BR>#include &lt;stdlib.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;conio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; /* request auto detection */
<BR>&nbsp;&nbsp; int gdriver = DETECT, gmode, errorcode;
<BR>&nbsp;&nbsp; int xmax, ymax;

<P>&nbsp;&nbsp; /* initialize graphics and local variables */
<BR>&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, "");

<P>&nbsp;&nbsp; /* read result of initialization */
<BR>&nbsp;&nbsp; errorcode = graphresult();
<BR>&nbsp;&nbsp; /* an error occurred */
<BR>&nbsp;&nbsp; if (errorcode != grOk)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Graphics error: %s\n",
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
grapherrormsg(errorcode));
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Press any key to halt:");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch();
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; setcolor(getmaxcolor());
<BR>&nbsp;&nbsp; xmax = getmaxx();
<BR>&nbsp;&nbsp; ymax = getmaxy();

<P>&nbsp;&nbsp; /* draw a diagonal line */
<BR>&nbsp;&nbsp; line(0, 0, xmax, ymax);

<P>&nbsp;&nbsp; /* clean up */
<BR>&nbsp;&nbsp; getch();
<BR>&nbsp;&nbsp; closegraph();
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: linerel
<BR>功&nbsp; 能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线
<BR>用&nbsp; 法: void far linerel(int dx, int dy);
<BR>程序例:

<P>#include &lt;graphics.h>
<BR>#include &lt;stdlib.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;conio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; /* request auto detection */
<BR>&nbsp;&nbsp; int gdriver = DETECT, gmode, errorcode;
<BR>&nbsp;&nbsp; char msg[80];

<P>&nbsp;&nbsp; /* initialize graphics and local variables */
<BR>&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, "");

<P>&nbsp;&nbsp; /* read result of initialization */
<BR>&nbsp;&nbsp; errorcode = graphresult();
<BR>&nbsp;&nbsp; if (errorcode != grOk)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Graphics error: %s\n",
<BR>&nbsp; grapherrormsg(errorcode));
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Press any key to halt:");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch();
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; /* move the C.P. to location (20, 30) */
<BR>&nbsp;&nbsp; moveto(20, 30);

<P>&nbsp;&nbsp; /* create and output a
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; message at (20, 30) */
<BR>&nbsp;&nbsp; sprintf(msg, " (%d, %d)", getx(), gety());
<BR>&nbsp;&nbsp; outtextxy(20, 30, msg);

<P>&nbsp;&nbsp; /* draw a line to a point a relative
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; distance away from the current
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value of C.P.&nbsp;&nbsp; */
<BR>&nbsp;&nbsp; linerel(100, 100);

<P>&nbsp;&nbsp; /* create and output a message at C.P. */
<BR>&nbsp;&nbsp; sprintf(msg, " (%d, %d)", getx(), gety());
<BR>&nbsp;&nbsp; outtext(msg);

<P>&nbsp;&nbsp; /* clean up */
<BR>&nbsp;&nbsp; getch();
<BR>&nbsp;&nbsp; closegraph();
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;

<P>函数名: localtime
<BR>功&nbsp; 能: 把日期和时间转变为结构
<BR>用&nbsp; 法: struct tm *localtime(long *clock);
<BR>程序例:

<P>#include &lt;time.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;dos.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; time_t timer;
<BR>&nbsp;&nbsp; struct tm *tblock;

<P>&nbsp;&nbsp; /* gets time of day */
<BR>&nbsp;&nbsp; timer = time(NULL);

<P>&nbsp;&nbsp; /* converts date/time to a structure */
<BR>&nbsp;&nbsp; tblock = localtime(&amp;timer);

<P>&nbsp;&nbsp; printf("Local time is: %s", asctime(tblock));

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: lock
<BR>功&nbsp; 能: 设置文件共享锁
<BR>用&nbsp; 法: int lock(int handle, long offset, long length);
<BR>程序例:

<P>#include &lt;io.h>
<BR>#include &lt;fcntl.h>
<BR>#include &lt;sys\stat.h>
<BR>#include &lt;process.h>
<BR>#include &lt;share.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; int handle, status;
<BR>&nbsp;&nbsp; long length;

<P>&nbsp;&nbsp; /* Must have DOS Share.exe loaded for */
<BR>&nbsp;&nbsp; /* file locking to function properly */

<P>&nbsp;&nbsp; handle = sopen("c:\\autoexec.bat",
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O_RDONLY,SH_DENYNO,S_IREAD);

<P>&nbsp;&nbsp; if (handle &lt; 0)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("sopen failed\n");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; length = filelength(handle);
<BR>&nbsp;&nbsp; status = lock(handle,0L,length/2);

<P>&nbsp;&nbsp; if (status == 0)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("lock succeeded\n");
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("lock failed\n");

<P>&nbsp;&nbsp; status = unlock(handle,0L,length/2);

<P>&nbsp;&nbsp; if (status == 0)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("unlock succeeded\n");
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("unlock failed\n");

<P>&nbsp;&nbsp; close(handle);
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: log
<BR>功&nbsp; 能: 对数函数ln(x)
<BR>用&nbsp; 法: double log(double x);
<BR>程序例:

<P>#include &lt;math.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; double result;
<BR>&nbsp;&nbsp; double x = 8.6872;

<P>&nbsp;&nbsp; result = log(x);
<BR>&nbsp;&nbsp; printf("The natural log of %lf is %lf\n", x, result);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: log10
<BR>功&nbsp; 能: 对数函数log
<BR>用&nbsp; 法: double log10(double x);
<BR>程序例:

<P>#include &lt;math.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; double result;
<BR>&nbsp;&nbsp; double x = 800.6872;

<P>&nbsp;&nbsp; result = log10(x);
<BR>&nbsp;&nbsp; printf("The common log of %lf is %lf\n", x, result);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: longjump
<BR>功&nbsp; 能: 执行非局部转移
<BR>用&nbsp; 法: void longjump(jmp_buf env, int val);
<BR>程序例:

<P>#include &lt;stdio.h>
<BR>#include &lt;setjmp.h>
<BR>#include &lt;stdlib.h>

<P>void subroutine(jmp_buf);

<P>int main(void)
<BR>{

<P>&nbsp;&nbsp; int value;
<BR>&nbsp;&nbsp; jmp_buf jumper;

<P>&nbsp;&nbsp; value = setjmp(jumper);
<BR>&nbsp;&nbsp; if (value != 0)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Longjmp with value %d\n", value);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(value);
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; printf("About to call subroutine ... \n");
<BR>&nbsp;&nbsp; subroutine(jumper);

<P>&nbsp;&nbsp; return 0;
<BR>}

<P>void subroutine(jmp_buf jumper)
<BR>{
<BR>&nbsp;&nbsp; longjmp(jumper,1);
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: lowvideo
<BR>功&nbsp; 能: 选择低亮度字符
<BR>用&nbsp; 法: void lowvideo(void);
<BR>程序例:

<P>#include &lt;conio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; clrscr();

<P>&nbsp;&nbsp; highvideo();
<BR>&nbsp;&nbsp; cprintf("High Intesity Text\r\n");
<BR>&nbsp;&nbsp; lowvideo();
<BR>&nbsp;&nbsp; gotoxy(1,2);
<BR>&nbsp;&nbsp; cprintf("Low Intensity Text\r\n");

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: lrotl, _lrotl
<BR>功&nbsp; 能: 将无符号长整型数向左循环移位
<BR>用&nbsp; 法: unsigned long lrotl(unsigned long lvalue, int count);
<BR>&nbsp;unsigned long _lrotl(unsigned long lvalue, int count);
<BR>程序例:

<P>/* lrotl example */
<BR>#include &lt;stdlib.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; unsigned long result;
<BR>&nbsp;&nbsp; unsigned long value = 100;

<P>&nbsp;&nbsp; result = _lrotl(value,1);
<BR>&nbsp;&nbsp; printf("The value %lu rotated left one bit is: %lu\n",
value, result);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: lsearch
<BR>功&nbsp; 能: 线性搜索
<BR>用&nbsp; 法: void *lsearch(const void *key, void *base, size_t *nelem,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size_t width, int (*fcmp)(const
void *, const void *));
<BR>程序例:

<P>#include &lt;stdio.h>
<BR>#include &lt;stdlib.h>

<P>int compare(int *x, int *y)
<BR>{
<BR>&nbsp;&nbsp; return( *x - *y );
<BR>}

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; int array[5] = {35, 87, 46, 99, 12};
<BR>&nbsp;&nbsp; size_t nelem = 5;
<BR>&nbsp;&nbsp; int key;
<BR>&nbsp;&nbsp; int *result;

<P>&nbsp;&nbsp; key = 99;
<BR>&nbsp;&nbsp; result = lfind(&amp;key, array, &amp;nelem,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sizeof(int), (int(*)(const void *,const void *))compare);
<BR>&nbsp;&nbsp; if (result)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Number %d found\n",key);
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Number %d not found\n",key);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: lseek
<BR>功&nbsp; 能: 移动文件读/写指针
<BR>用&nbsp; 法: long lseek(int handle, long offset, int fromwhere);
<BR>程序例:

<P>#include &lt;sys\stat.h>
<BR>#include &lt;string.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;fcntl.h>
<BR>#include &lt;io.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; int handle;
<BR>&nbsp;&nbsp; char msg[] = "This is a test";
<BR>&nbsp;&nbsp; char ch;

<P>&nbsp;&nbsp; /* create a file */
<BR>&nbsp;&nbsp; handle = open("TEST.$$$", O_CREAT | O_RDWR, S_IREAD |
S_IWRITE);

<P>&nbsp;&nbsp; /* write some data to the file */
<BR>&nbsp;&nbsp; write(handle, msg, strlen(msg));

<P>&nbsp;&nbsp; /* seek to the begining of the file */
<BR>&nbsp;&nbsp; lseek(handle, 0L, SEEK_SET);

<P>&nbsp;&nbsp; /* reads chars from the file until we hit EOF */
<BR>&nbsp;&nbsp; do
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(handle, &amp;ch, 1);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%c", ch);
<BR>&nbsp;&nbsp; }&nbsp; while (!eof(handle));

<P>&nbsp;&nbsp; close(handle);
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<A HREF="index.html">返回目录</A>

<BR>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -