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

📄 王大刚--c语言编程宝典--p.htm

📁 初学者的良师益友。其中包括C的全部教程。
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0038)http://www.hjflying.8u8.com/cl/033.htm -->
<HTML><HEAD><TITLE>王大刚-->C语言编程宝典-->P</TITLE>
<META http-equiv=Content-Type content="text/html; charset=GB2312">
<META content="王大刚 C语言编程宝典 P" name=keywords>
<META content="王大刚 - C语言编程宝典 - P" name=description>
<STYLE>#page {
	LEFT: 0px; POSITION: absolute; TOP: 0px
}
.tt3 {
	FONT: 9pt/12pt "宋体"
}
.tt2 {
	FONT: 12pt/15pt "宋体"
}
A {
	TEXT-DECORATION: none
}
A:hover {
	COLOR: blue; TEXT-DECORATION: underline
}
</STYLE>

<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY text=#000000 vLink=#006699 aLink=#9900ff link=#006699 bgColor=#ffffff 
leftMargin=3 topMargin=3 marginwidth="3" marginheight="3">
<TABLE cellSpacing=0 cellPadding=10 width="100%" border=0>
  <TBODY>
  <TR>
    <TD class=tt3 vAlign=top width="8%" bgColor=#e0e0e0><STRONG><A 
      href="http://www.hjflying.8u8.com/cl/034.htm">后一页</A><BR><A 
      href="http://www.hjflying.8u8.com/cl/032.htm">前一页</A><BR><A 
      href="http://www.hjflying.8u8.com/cl/index.html">回目录</A><BR><A 
      href="http://www.hjflying.8u8.com/index.htm">回首页</A><BR></STRONG></TD>
    <TD class=tt2 width="84%" bgColor=#f5f8f8>
      <CENTER><B><FONT style="FONT-SIZE: 16.5pt" face=楷体_GB2312 
      color=#ff6666>P</FONT></B></CENTER>
      <HR width="94%" color=#ee9b73 SIZE=1>

      <P>函数名: parsfnm <BR>功&nbsp; 能: 分析文件名 <BR>用&nbsp; 法: char *parsfnm (char 
      *cmdline, struct fcb *fcbptr, int option); <BR>程序例: <BR>
      <P>#include &lt;process.h&gt; <BR>#include &lt;string.h&gt; <BR>#include 
      &lt;stdio.h&gt; <BR>#include &lt;dos.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; char line[80]; <BR>&nbsp;&nbsp; 
      struct fcb blk; <BR>
      <P>&nbsp;&nbsp; /* get file name */ <BR>&nbsp;&nbsp; printf("Enter drive 
      and file name (no path - ie. a:file.dat)\n"); <BR>&nbsp;&nbsp; gets(line); 
      <BR>
      <P>&nbsp;&nbsp; /* put file name in fcb */ <BR>&nbsp;&nbsp; if 
      (parsfnm(line, &amp;blk, 1) == NULL) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Error in parsfm call\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Drive #%d&nbsp; Name: %11s\n", 
      blk.fcb_drive, blk.fcb_name); <BR>
      <P>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: peek <BR>功&nbsp; 能: 检查存储单元 <BR>用&nbsp; 法: int peek(int segment, 
      unsigned offset); <BR>程序例: <BR>
      <P>#include &lt;stdio.h&gt; <BR>#include &lt;conio.h&gt; <BR>#include 
      &lt;dos.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; int value = 0; <BR>
      <P>&nbsp;&nbsp; printf("The current status of your keyboard is:\n"); 
      <BR>&nbsp;&nbsp; value = peek(0x0040, 0x0017); <BR>&nbsp;&nbsp; if (value 
      &amp; 1) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Right shift on\n"); 
      <BR>&nbsp;&nbsp; else <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Right 
      shift off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 2) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Left shift on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Left shift off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 4) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Control key on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Control key off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 8) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Alt key on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Alt key off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 16) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Scroll lock on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Scroll lock off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 32) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Num lock on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Num lock off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 64) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Caps lock on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Caps lock off\n"); <BR>
      <P>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: peekb <BR>功&nbsp; 能: 检查存储单元 <BR>用&nbsp; 法: char peekb (int 
      segment, unsigned offset); <BR>程序例: <BR>
      <P>#include &lt;stdio.h&gt; <BR>#include &lt;conio.h&gt; <BR>#include 
      &lt;dos.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; int value = 0; <BR>
      <P>&nbsp;&nbsp; printf("The current status of your keyboard is:\n"); 
      <BR>&nbsp;&nbsp; value = peekb(0x0040, 0x0017); <BR>&nbsp;&nbsp; if (value 
      &amp; 1) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Right shift on\n"); 
      <BR>&nbsp;&nbsp; else <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Right 
      shift off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 2) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Left shift on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Left shift off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 4) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Control key on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Control key off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 8) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Alt key on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Alt key off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 16) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Scroll lock on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Scroll lock off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 32) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Num lock on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Num lock off\n"); <BR>
      <P>&nbsp;&nbsp; if (value &amp; 64) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("Caps lock on\n"); <BR>&nbsp;&nbsp; else 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Caps lock off\n"); <BR>
      <P>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: perror <BR>功&nbsp; 能: 系统错误信息 <BR>用&nbsp; 法: void perror(char 
      *string); <BR>程序例: <BR>
      <P>#include &lt;stdio.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; FILE *fp; <BR>
      <P>&nbsp;&nbsp; fp = fopen("perror.dat", "r"); <BR>&nbsp;&nbsp; if (!fp) 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perror("Unable to open file for 
      reading"); <BR>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: pieslice <BR>功&nbsp; 能: 绘制并填充一个扇形 <BR>用&nbsp; 法: void far 
      pieslice(int x, int stanle, int endangle, int radius); <BR>程序例: <BR>
      <P>#include &lt;graphics.h&gt; <BR>#include &lt;stdlib.h&gt; <BR>#include 
      &lt;stdio.h&gt; <BR>#include &lt;conio.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; /* request auto detection */ 
      <BR>&nbsp;&nbsp; int gdriver = DETECT, gmode, errorcode; <BR>&nbsp;&nbsp; 
      int midx, midy; <BR>&nbsp;&nbsp; int stangle = 45, endangle = 135, radius 
      = 100; <BR>
      <P>&nbsp;&nbsp; /* initialize graphics and local variables */ 
      <BR>&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, ""); <BR>
      <P>&nbsp;&nbsp; /* read result of initialization */ <BR>&nbsp;&nbsp; 
      errorcode = graphresult(); <BR>&nbsp;&nbsp; if (errorcode != grOk)&nbsp; 
      /* an error occurred */ <BR>&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Graphics error: %s\n", 
      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); /* terminate with an 
      error code */ <BR>&nbsp;&nbsp; } <BR>
      <P>&nbsp;&nbsp; midx = getmaxx() / 2; <BR>&nbsp;&nbsp; midy = getmaxy() / 
      2; <BR>
      <P>&nbsp;&nbsp; /* set fill style and draw a pie slice */ <BR>&nbsp;&nbsp; 
      setfillstyle(EMPTY_FILL, getmaxcolor()); <BR>&nbsp;&nbsp; pieslice(midx, 
      midy, stangle, endangle, radius); <BR>
      <P>&nbsp;&nbsp; /* clean up */ <BR>&nbsp;&nbsp; getch(); <BR>&nbsp;&nbsp; 
      closegraph(); <BR>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: poke <BR>功&nbsp; 能: 存值到一个给定存储单元 <BR>用&nbsp; 法: void poke(int 
      segment, int offset, int value); <BR>程序例: <BR>
      <P>#include &lt;dos.h&gt; <BR>#include &lt;conio.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; clrscr(); <BR>&nbsp;&nbsp; 
      cprintf("Make sure the scroll lock key is off and press any key\r\n"); 
      <BR>&nbsp;&nbsp; getch(); <BR>&nbsp;&nbsp; poke(0x0000,0x0417,16); 
      <BR>&nbsp;&nbsp; cprintf("The scroll lock is now on\r\n"); 
      <BR>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: pokeb <BR>功&nbsp; 能: 存值到一个给定存储单元 <BR>用&nbsp; 法: void pokeb(int 
      segment, int offset, char value); <BR>程序例: <BR>
      <P>#include &lt;dos.h&gt; <BR>#include &lt;conio.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; clrscr(); <BR>&nbsp;&nbsp; 
      cprintf("Make sure the scroll lock key is off and press any key\r\n"); 
      <BR>&nbsp;&nbsp; getch(); <BR>&nbsp;&nbsp; pokeb(0x0000,0x0417,16); 
      <BR>&nbsp;&nbsp; cprintf("The scroll lock is now on\r\n"); 
      <BR>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: poly <BR>功&nbsp; 能: 根据参数产生一个多项式 <BR>用&nbsp; 法: double poly(double 
      x, int n, double c[]); <BR>程序例: <BR>
      <P>#include &lt;stdio.h&gt; <BR>#include &lt;math.h&gt; <BR>
      <P>/* polynomial:&nbsp; x**3 - 2x**2 + 5x - 1 */ <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; double array[] = { -1.0, 5.0, 
      -2.0, 1.0 }; <BR>&nbsp;&nbsp; double result; <BR>
      <P>&nbsp;&nbsp; result = poly(2.0, 3, array); <BR>&nbsp;&nbsp; printf("The 
      polynomial: x**3 - 2.0x**2 + 5x - 1 at 2.0 is %lf\n", 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result); 
      <BR>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: pow <BR>功&nbsp; 能: 指数函数(x的y次方) <BR>用&nbsp; 法: double pow(double x, 
      double y); <BR>程序例: <BR>
      <P>#include &lt;math.h&gt; <BR>#include &lt;stdio.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; double x = 2.0, y = 3.0; <BR>
      <P>&nbsp;&nbsp; printf("%lf raised to %lf is %lf\n", x, y, pow(x, y)); 
      <BR>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>
      <P>函数名: pow10 <BR>功&nbsp; 能: 指数函数(10的p次方) <BR>用&nbsp; 法: double pow10(int 
      p); <BR>程序例: <BR>
      <P>#include &lt;math.h&gt; <BR>#include &lt;stdio.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; double p = 3.0; <BR>
      <P>&nbsp;&nbsp; printf("Ten raised to %lf is %lf\n", p, pow10(p)); 
      <BR>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: printf <BR>功&nbsp; 能: 产生格式化输出的函数 <BR>用&nbsp; 法: int printf(char 
      *format...); <BR>程序例: <BR>
      <P>#include &lt;stdio.h&gt; <BR>#include &lt;string.h&gt; <BR>
      <P>#define I 555 <BR>#define R 5.5 <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; int i,j,k,l; <BR>&nbsp;&nbsp; 
      char buf[7]; <BR>&nbsp;&nbsp; char *prefix = buf; <BR>&nbsp;&nbsp; char 
      tp[20]; <BR>&nbsp;&nbsp; printf("prefix&nbsp; 
      6d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      8x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      10.2e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "10.2f\n"); 
      <BR>&nbsp;&nbsp; strcpy(prefix,"%"); <BR>&nbsp;&nbsp; for (i = 0; i &lt; 
      2; i++) <BR>&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (j = 0; 
      j &lt; 2; j++) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (k 
      = 0; k &lt; 2; k++) <BR>&nbsp;&nbsp;&nbsp;&nbsp; for (l = 0; l &lt; 2; 
      l++) 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      if (i==0)&nbsp; strcat(prefix,"-"); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      if (j==0)&nbsp; strcat(prefix,"+"); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      if (k==0)&nbsp; strcat(prefix,"#"); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      if (l==0)&nbsp; strcat(prefix,"0"); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("%5s |",prefix); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      strcpy(tp,prefix); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      strcat(tp,"6d |"); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf(tp,I); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      strcpy(tp,""); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      strcpy(tp,prefix); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      strcat(tp,"6o |"); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf(tp,I); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

⌨️ 快捷键说明

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