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

📄 c46.htm

📁 经典c语言教程
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>概要 </title>
<script language="javascript">
    var prePage="http://www.nec.sjtu.edu.cn/support/Course/C/c/c4/c/c4/c45.htm";
    var nextPage="c/c5/c50.htm";
</script>

<link rel="stylesheet" href="../cstyle.css" type="text/css">
</head>

<body background="../img/mainback.jpg" bgproperties="fixed">

<h2 align="center"><font face="楷体_GB2312">4.6 概要</font></h2>

<hr>

<p><big>本章小结:</big><font FACE="宋体" SIZE="3"></p>

<blockquote>
  <p ALIGN="JUSTIFY">我们在本章中学到了: </p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 如何定义一个函数。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 如何把信息传递给一个函数: 用参数。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 什么时候和如何用 return。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 形式参数和实际参数的区别: 一个是函数用的变量, 
  一个是来自调用函数的值。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 在哪里说明参数: 在函数后面的圆括号内。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 函数一般是 int 类型的。如果函数的返回类型不是int 类型, 
  那么你必须在函数定义中和调用函数的说明部分指定类型。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 变量的存储类型决定了它的作用范围和存在的时间。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 函数原型定义包括参数表中每个参数的类型说明。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 函数原型说明包括了参数表中的参数说明。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 函数原型说明能使编译器对参数进行类型检查。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 如果一个函数在执行过程中调用它自己, 
  那么这个函数就称之为递归函数。<br>
  <br>
  <img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7" HEIGHT="7"> 
  为了确保递归函数能正常执行, 你应该遵循以下的规则: <br>
  1. 每当一个递归函数被调用时, 
  程序应该先检查某个基本条件是否满足了。如果满足了, 
  那么函数就应该停止递归。<br>
  2. 每当函数被递归调用时, 参数应该逐步接近这个基本条件。<br>
  <br>
  <img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7" HEIGHT="7"> 
  迭代解法要比递归解法快。 </p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 为了把一个递归解法转化为相应的迭代解法, 
  通常需要引进一个或多个局部变量, 用来计数或控制此过程。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> C 支持实参类型及个数均可变的函数。 </p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 此类函数的所有定义和说明都必须包含省略号 (...) 
  终结符。<br>
  <br>
  <img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7" HEIGHT="7"> 头文件 
  &lt;stdarg.h&gt; 说明了一种类型,定义了三个宏, 
  它们用来处理对被调用函数来说数目和类型都不确定的一组参数。<br>
  va_list <br>
  void va_start( va_list argptr,last_fixed_parameter);<br>
  type va_arg( va_list argptr, type);<br>
  void va_end( va_list argptr);<br>
  <br>
  <img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7" HEIGHT="7"> 
  变量的存储类型决定了它的作用范围和存在的时间<br>
  </p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 存储类型是由变量被定义的地方和相关的关键字决定的。</p>
  <p ALIGN="JUSTIFY"><img src="../img/dot.gif" alt="dot.gif (114 bytes)" WIDTH="7"
  HEIGHT="7"> 特征: <br>
  存储类别 关键字 生存时间 作用范围<br>
  自动类 auto 暂时的 局部 <br>
  寄存器类 register 暂时的 局部 <br>
  静态 static 长久的 局部 <br>
  外部 extern 长久的 全局 <br>
  </p>
</blockquote>
</font>

<p align="center"><a href="../c5/c50.htm"><img src="../img/next.gif" width="145"
height="30" alt="next.gif (3633 bytes)" border="0"></a></p>
</body>
</html>

⌨️ 快捷键说明

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