- 1、本文档共373页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;第2章 数据类型、运算符与表达式;本章主要内容;2.1 基本字符、标识符和关键字;例如:; 2.1.2 名字(标识符)的构成
一个标识符是字母、数字字符和下划线的一个连续序列,其中不能有空白字符,而且要求第一个字符必须是字母或下划线。
如果一个字符序列中出现了非字母、数字、下划线的字符,那么它就不是一个标识符了。下面是一些非标识符的字符序列:
+= 3set a[32] $$$$ sin(2+5) ::ab4==
C语言还规定,标识符中同一字母的大写形式和小写形式将看作不同字符,这样,a和A不同,name、Name、NAME、naMe 和nMAE 是互不相同的标识符。
下面是一些标识符的例子:
abcd Beijing C_Programming_f2048 sia a3b06
xt386ex A_great_machine Small_talk_80 FORTRAN_90
以下划线开始的标识符保留给系统使用,用户不要使用这种标识符,以免与系统内部的名字冲突造成程序问题。; 2.1.3 关键字
所谓关键字就是已被Turbo C 2.0本身使用,不能作其他用途使用的名字。如关键字不能用做变量名、函数名等。Turbo C 2.0有以下关键字:
(1)扩展的11个
asm _cs _ds _es _ss cdecl far near huge interrupt pascal
(2)由ANSI标准定义的32个
auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static;2.2 数据类型与变量 ;表2-1 ANSI标准中的数据类型及其范围; 说明:表中的长度和范围的取值是在假定CPU的字长为16 bit的情况下。
注意:
(1)程序中书写的、执行中处理的每个基本数据都属于某个确定的数据类型。
(2)类型确定了属于它的数据对象的许多性质,特别是确定了数据的表示范围。在具体的C语言系统中,每种类型都有确定的表示(编码)方式,这就确定了可能表示的数据范围。例如,一个整数类型中的所有整数只是数学中整数的一个子集,其中只包含有限个整数值,存在该类型能表示的最小和最大整数。其他整数在这个类型中没有容身之地,无法在此类型中表示。; 2.2.2 变量
1.变量说明。所谓变量,就是在程序运行中其值可以变化的量,从赋值的角度讲,它在不同时期可以赋予不同的值。
Turbo C 2.0规定所有变量在使用前都必须首先说明。一条变量说明语句由数据类型和其后的一个或多个变量名组成。变量说明的形式如下:
类型 变量表;
此处类型是指Turbo C 2.0的有效数据类型。变量表是一个或多个标识符名,每个标识符之间用“,”分隔。
例 2.1
int i,j,k;
unsigned char c,str[5],*p;
float a,b;
double x,y;; 2.变量的初始化。变量的初始化是指变量在被说明的同时赋给的一个初值。Turbo C 2.0中外部变量和静态全局变量在程序开始处被初始化, 局部变量(包括静态局部变量)是在进入定义它们的函数或复合语句时才作初始化。所有全局变量在没有明确的初始化时将被自动清零,而局部变量和寄存器变量在未赋值前其值是不确定的。
对于外部变量和静态变量,初值必须是常数表达式,而自动变量和寄存器变量可以是任意的表达式,这个表达式可以包括常数和前面说明过的变量和函数。 ;例2.2
float f0,f1=0.2;
/*定义全局变量,在初始化时f0被清零,f1被赋0.2*/
main()
{
static int i=10,j;
/*定义静态局部变量,初始化时i被赋10,j不确定*/
int k=i*5;
文档评论(0)