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

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

📁 用C语言编写的一些源码示例
💻 HTM
📖 第 1 页 / 共 3 页
字号:
      file1.c <BR>&nbsp;&nbsp;&nbsp;&nbsp; file2.c <BR>&nbsp;&nbsp;&nbsp; 
      然后将file.prj的文件名写入主菜单Project中的Project Name项中。 再用F9 <BR>编译连接, 
      就可产生一个文件名为fioe.exe的可执行文件。 <BR>&nbsp;&nbsp;&nbsp; 
      外部变量和FORTRAN语言中的COMMOM定义的公共变量一样。 <BR>&nbsp;&nbsp;&nbsp; 四、register 
      <BR>&nbsp;&nbsp;&nbsp; register称为寄存器变量。它只能用于整型和字符型变量。定义符register说 
      <BR>明的变量被Turbo C2.0存储在CPU的寄存器中,&nbsp; 而不是象普通的变量那样存储在内 <BR>存中, 
      这样可以提高运算速度。但是Turbo C2.0只允许同时定义两个寄存器变量, <BR>一旦超过两个, 
      编译程序会自动地将超过限制数目的寄存器变量当作非寄存器变量 <BR>来处理。因此, 寄存器变量常用在同一变量名频繁出现的地方。 
      <BR>&nbsp;&nbsp;&nbsp; 另外, 寄存器变量只适用于局部变量和函数的形式参数, 它属于auto型变量, <BR>因此, 
      不能用作全程变量。定义一个整型寄存器变量可写成: <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; register int 
      a; <BR>&nbsp;&nbsp;&nbsp; 对于以上所介绍的变量类型和变量存储类型将会在以后的学习中, 通过例行程 
      <BR>序中的定义、使用来逐渐加深理解。 <BR>
      <P>&nbsp;&nbsp;&nbsp; 4.4&nbsp; 数组变量 <BR>&nbsp;&nbsp;&nbsp; 
      所谓数组就是指具有相同数据类型的变量集, 并拥有共同的名字。数组中的每 <BR>个特定元素都使用下标来访问。数组由一段连续的存贮地址构成, 
      最低的地址对应 <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>&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;&nbsp; 
      定*/ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int 
      k=i*5;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*定义局部变量, 
      初始化时k被赋10*5=50*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char 
      c='y';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*定义字符型指什变量并初始化*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>
      <P>&nbsp;&nbsp;&nbsp; 2. 数组变量的初始化 <BR>&nbsp;&nbsp;&nbsp; 例如: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; main() <BR>&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int 
      p[2][3]={{2, -9, 0}, {8, 2, -5}};&nbsp; /*定义数组p并初始化/* 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int 
      m[2][4]={{27, -5, 19, 3}, {1, 8, -14, -2}};/*定义数组m并初 
      <BR>&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;&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; 
      始化*/ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char 
      *f[]={'A', 'B', 'C'};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      /*定义数组f并初始化*/ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp; 从上例可以看出: Turbo 
      C2.0中数组进行初始化有下述规则: <BR>&nbsp;&nbsp;&nbsp; (1) 数组的每一行初始化赋值用"{}"并用","分开, 
      总的再加一对"{}"括起来, <BR>最后以";"表示结束。 <BR>&nbsp;&nbsp;&nbsp; (2) 
      多维数组的存储是按最右维数的变量变化最快的原则。 <BR>&nbsp;&nbsp;&nbsp; (3) 多维数组存储是连续的, 
      因此可以用一维数组初始化的办法来初始化多维 <BR>数组。 <BR>&nbsp;&nbsp;&nbsp; 例如: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; int x[2][3]={1, 2, 3, 4, 5, 
      6};/*用一维数组来初始化二维数组*/ <BR>&nbsp;&nbsp;&nbsp; (4) 对数组初始化时, 
      如果初值表中的数据个数比数组元素少, 则不足的数组 <BR>元素用0来填补。 <BR>&nbsp;&nbsp;&nbsp; (5) 
      对指针型变量数组可以不规定维数, 在初始化赋值时, 数组维数从0 开始 <BR>被连续赋值。 <BR>&nbsp;&nbsp;&nbsp; 例如: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; char *f[]={'a', 'b', 'c'}; 
      <BR>&nbsp;&nbsp;&nbsp; 初始化时将会给3个字符指针赋值, 即: *f[0]='a', *f[1]='b', 
      *f[2]='c'。 <BR>
      <P>&nbsp;&nbsp;&nbsp; 3. 指针型变量的初始化 <BR>&nbsp;&nbsp;&nbsp; 例如: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; main() <BR>&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int 
      *i=7899;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*定义整型数指针变量并初始化*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float 
      *f=3.1415926; /*定义浮点数指针变量并初始化*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char 
      *s="Good";&nbsp;&nbsp;&nbsp;&nbsp; /*定义字符型指针变量并初始化*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>
      <P>&nbsp;&nbsp;&nbsp; 二、变量的赋值 <BR>&nbsp;&nbsp;&nbsp; 变量赋值是给已说明的变量赋给一个特定值。 
      <BR>&nbsp;&nbsp;&nbsp; 1. 单个变量的赋值 <BR>&nbsp;&nbsp;&nbsp; (1) 整型变量和浮点变量 
      <BR>&nbsp;&nbsp;&nbsp; 这两种变量采用下列格式赋值 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 变量名=表达式; 
      <BR>&nbsp;&nbsp;&nbsp; 例如: <BR>&nbsp;&nbsp;&nbsp;&nbsp; main() 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int a, 
      m;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*定义局部整型变量a, m*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float 
      n;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*定义局部浮点变量f*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a=100, 
      m=20;&nbsp;&nbsp; /*给变量赋值*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n=a*m*0.1; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>
      <P>&nbsp;&nbsp;&nbsp; 说明: <BR>&nbsp;&nbsp;&nbsp; Turbo 
      C2.0中允许给多个变量赋同一值时可用连等的方式。 <BR>&nbsp;&nbsp;&nbsp; 例如: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; main() <BR>&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int a, b, c; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      a=b=c=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*同时给a,b,c赋值*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>
      <P>&nbsp;&nbsp;&nbsp; (2)&nbsp; 字符型变量 <BR>&nbsp;&nbsp;&nbsp; 
      字符型变量可以用三种方法赋值。 <BR>&nbsp;&nbsp;&nbsp; 例如: <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
      main() <BR>&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char a0, a1, 
      a2;&nbsp;&nbsp;&nbsp; /*定义局部字符型变量a0, a1, a2*/ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      a0='b';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      /*将字母b赋给a0*/ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      a1=50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

⌨️ 快捷键说明

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