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

📄 王大刚--c语言编程宝典--4_ 变量.htm

📁 初学者的良师益友。其中包括C的全部教程。
💻 HTM
📖 第 1 页 / 共 3 页
字号:
      最低的地址对应 <BR>于第一个数组元素, 最高的地址对应最后一个数组元素。数组可以是一维的、也可 <BR>以是多维的。Turbo 
      C2.0象它高级语方一样也使用数组变量。 <BR>
      <P>&nbsp;&nbsp;&nbsp; 一、一维数组 <BR>&nbsp;&nbsp;&nbsp; 一维数组的说明格式是: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类型&nbsp; 变量名[长度]; 
      <BR>&nbsp;&nbsp;&nbsp; 类型是指数据类型, 即每一个数组元素的数据类型, 包括整数型、浮点型、字 
      <BR>符型、指针型以及结构和联合。 <BR>&nbsp;&nbsp;&nbsp; 例如: <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
      int a[10]; <BR>&nbsp;&nbsp;&nbsp;&nbsp; unsigned long a[20]; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; char *s[5]; <BR>&nbsp;&nbsp;&nbsp;&nbsp; char 
      *f[]; <BR>
      <P>&nbsp;&nbsp;&nbsp; 说明: <BR>&nbsp;&nbsp;&nbsp; 1. 数组都是以0作为第一个元素的下标, 因此, 
      当说明一个int a[16] 的整型 <BR>数组时, 表明该数组有16个元素, a[0]~a[15], 一个元素为一个整型变量。 
      <BR>&nbsp;&nbsp;&nbsp; 2. 大多数字符串用一维数组表示。数组元素的多少表示字符串长度,&nbsp; 数组名 
      <BR>表示字符串中第一个字符的地址,&nbsp;&nbsp; 例如在语句char&nbsp; str[ 8] 说明的数组中存入 
      <BR>"hello"字符串后, str表示第一个字母"h"所在的内存单元地址。str[0] 存放的是 <BR>字母"h"的ASCII码值, 
      以此类推, str[4]存入的是字母"o"的ASCII码值, str[5]则 <BR>应存放字符串终止符'\0'。 
      <BR>&nbsp;&nbsp;&nbsp; 3. Turbo C2.0对数组不作边界检查。例如用下面语句说明两个数组 
      <BR>&nbsp;&nbsp;&nbsp; char str1[5], str2[6]; <BR>&nbsp;&nbsp;&nbsp; 
      当赋给str1一个字符串"ABCDEFG"时, 只有"ABCDE"被赋给, "E" 将会自动的赋 <BR>给str2, 这点应特别注意。 <BR>
      <P>&nbsp;&nbsp;&nbsp; 三、多维数组 <BR>&nbsp;&nbsp;&nbsp; 多维数组的一般说明格式是: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类型&nbsp; 
      数组名[第n维长度][第n-1维长度]......[第1维长度]; <BR>&nbsp;&nbsp;&nbsp; 
      这种说明方式与BASIC、FORTRAN等语言中多维数组的说明不一样。 <BR>&nbsp;&nbsp;&nbsp; 例如: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int 
      m[3][2];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*定义一个整数型的二维数组*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char c[2][2][3];&nbsp;&nbsp; 
      /*定义一个字符型的三维数组*/ <BR>&nbsp;&nbsp;&nbsp; 数组m[3][2]共有3*2=6个元素, 顺序为: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m[0][0], m[0][1], m[1][0], m[1][1], 
      m[2][0], m[2][1]; <BR>&nbsp;&nbsp;&nbsp; 数组c[2][2][3]共有2*2*3=12个元素, 顺序为: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c[0][0][0], c[0][0][1], c[0][0][2], 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c[0][1][0], c[0][1][1], c[0][1][2], 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c[1][0][0], c[1][0][1], c[1][0][2], 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c[1][1][0], c[1][1][1], c[1][1][2], 
      <BR>&nbsp;&nbsp;&nbsp; 数组占用的内存空间(即字节数)的计算式为: <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
      字节数=第1维长度*第2维长度*...*第n维长度*该数组数据类型占用的字节数 <BR>
      <P>&nbsp;&nbsp;&nbsp; 4.5&nbsp; 变量的初始化和赋值 <BR>
      <P>&nbsp;&nbsp;&nbsp; 一、变量的初始化 <BR>&nbsp;&nbsp;&nbsp; 
      变量的初始化是指变量在被说明的同时赋给一个初值。Turbo C2.0中外部变量 <BR>和静态全程变量在程序开始处被初始化, 
      局部变量包括静态局部变量是在进入定义 <BR>它们的函数或复合语句时才作初始化。所有全程变量在没有明确的初始化时将被自 <BR>动清零, 
      而局部变量和寄存器变量在未赋值前其值是不确定的。 <BR>&nbsp;&nbsp;&nbsp; 对于外部变量和静态变量, 初值必须是常数表达式, 
      而自动变量和寄存器变量 <BR>可以是任意的表达式, 这个表达式可以包括常数和前面说明过的变量和函数。 <BR>&nbsp;&nbsp;&nbsp; 
      1. 单个变量的初始化 <BR>&nbsp;&nbsp;&nbsp; 例如: <BR>&nbsp;&nbsp;&nbsp;&nbsp; float 
      f0, f1=0.2;/*定义全程变量, 在初始化时f0被清零, f1被赋0.2*/ <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
      main() <BR>&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static int 
      i=10, j; /*定义静态局部变量, 初始化时i被赋10, j不确 
      <BR>&n<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0038)http://www.hjflying.8u8.com/cl/036.htm -->
<HTML><HEAD><TITLE>王大刚-->C语言编程宝典-->S</TITLE>
<META http-equiv=Content-Type content="text/html; charset=GB2312">
<META content="王大刚 C语言编程宝典 S" name=keywords>
<META content="王大刚 - C语言编程宝典 - S" 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/037.htm">后一页</A><BR><A 
      href="http://www.hjflying.8u8.com/cl/035.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>S</FONT></B></CENTER>
      <HR width="94%" color=#ee9b73 SIZE=1>

      <P>函数名: sbrk <BR>功&nbsp; 能: 改变数据段空间位置 <BR>用&nbsp; 法: char *sbrk(int incr); 
      <BR>程序例: <BR>
      <P>#include &lt;stdio.h&gt; <BR>#include &lt;alloc.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; printf("Changing allocation with 
      sbrk()\n"); <BR>&nbsp;&nbsp; printf("Before sbrk() call: %lu bytes 
      free\n", <BR>&nbsp;&nbsp; (unsigned long) coreleft()); <BR>&nbsp;&nbsp; 
      sbrk(1000); <BR>&nbsp;&nbsp; printf(" After sbrk() call: %lu bytes 
      free\n", <BR>&nbsp;&nbsp; (unsigned long) coreleft()); <BR>&nbsp;&nbsp; 
      return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: scanf <BR>功&nbsp; 能: 执行格式化输入 <BR>用&nbsp; 法: int scanf(char 
      *format[,argument,...]); <BR>程序例: <BR>
      <P>#include &lt;stdio.h&gt; <BR>#include &lt;conio.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; char label[20]; <BR>&nbsp;&nbsp; 
      char name[20]; <BR>&nbsp;&nbsp; int entries = 0; <BR>&nbsp;&nbsp; int 
      loop, age; <BR>&nbsp;&nbsp; double salary; <BR>
      <P>&nbsp;&nbsp; struct Entry_struct <BR>&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char&nbsp; name[20]; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int&nbsp;&nbsp; age; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float salary; <BR>&nbsp;&nbsp; } 
      entry[20]; <BR>
      <P>/* Input a label as a string of characters restricting to 20 characters 
      */ <BR>&nbsp;&nbsp; printf("\n\nPlease enter a label for the chart: "); 
      <BR>&nbsp;&nbsp; scanf("%20s", label); <BR>&nbsp;&nbsp; 
      fflush(stdin);&nbsp; /* flush the input stream in case of bad input */ 
<BR>
      <P>/* Input number of entries as an integer */ <BR>&nbsp;&nbsp; 
      printf("How many entries will there be? (less than 20) "); 
      <BR>&nbsp;&nbsp; scanf("%d", &amp;entries); <BR>&nbsp;&nbsp; 
      fflush(stdin);&nbsp;&nbsp; /* flush the input stream in case of bad input 
      */ <BR>
      <P>/* input a name restricting input to only letters upper or lower case 
      */ <BR>&nbsp;&nbsp; for (loop=0;loop&lt;entries;++loop) <BR>&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Entry %d\n", loop); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("&nbsp; Name&nbsp;&nbsp; : "); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%[A-Za-z]", entry[loop].name); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fflush(stdin);&nbsp; /* flush the input 
      stream in case of bad input */ <BR>
      <P>/* input an age as an integer */ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("&nbsp; Age&nbsp;&nbsp;&nbsp; : "); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%d", &amp;entry[loop].age); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fflush(stdin);&nbsp; /* flush the input 
      stream in case of bad input */ <BR>
      <P>/* input a salary as a float */ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      printf("&nbsp; Salary : "); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%f", 
      &amp;entry[loop].salary); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      fflush(stdin); /* flush the input stream in case of bad input */ 
      <BR>&nbsp;&nbsp; } <BR>
      <P>/* Input a name, age and salary as a string, integer, and double */ 
      <BR>&nbsp;&nbsp; printf("\nPlease enter your name, age and salary\n"); 
      <BR>&nbsp;&nbsp; scanf("%20s %d %lf", name, &amp;age, &amp;salary); 
      <BR>&nbsp; <BR>
      <P>/* Print out the data that was input */ <BR>&nbsp;&nbsp; 
      printf("\n\nTable %s\n",label); <BR>&nbsp;&nbsp; printf("Compiled by 
      %s&nbsp; age %d&nbsp; $%15.2lf\n", name, age, salary); <BR>&nbsp;&nbsp; 
      printf("-----------------------------------------------------\n"); 
      <BR>&nbsp;&nbsp; for (loop=0;loop&lt;entries;++loop) 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%4d | %-20s | %5d | %15.2lf\n", 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; loop + 1, <BR>&nbsp; 
      entry[loop].name, <BR>&nbsp; entry[loop].age, 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; entry[loop].salary); 
      <BR>&nbsp;&nbsp; 
      printf("-----------------------------------------------------\n"); 
      <BR>&nbsp;&nbsp; return 0; <BR>} <BR>&nbsp; <BR>&nbsp; <BR>
      <P>函数名: searchpath <BR>功&nbsp; 能: 搜索DOS路径 <BR>用&nbsp; 法: char 
      *searchpath(char *filename); <BR>程序例: <BR>
      <P>#include &lt;stdio.h&gt; <BR>#include &lt;dir.h&gt; <BR>
      <P>int main(void) <BR>{ <BR>&nbsp;&nbsp; char *p; <BR>
      <P>&nbsp;&nbsp; /* Looks for TLINK and returns a pointer 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to the path&nbsp; */ <BR>&nbsp;&nbsp; p 
      = searchpath("TLINK.EXE"); <BR>&nbsp;&nbsp; printf("Search for TLINK.EXE : 
      %s\n", p); <BR>

⌨️ 快捷键说明

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