资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
编译环境设置好以后,就可以正式学习 C语言了。一、变量(一)、变量类型和表示方法1.什么是变量?一句话,变量是存储数据的值的空间。由于数值的类型有多种,有整数、小数(浮点数) 、字符等等,那么对应的变量就有整型变量、浮点型变量、字符型变量。变量还有其他的具体分类。整型变量还可具体分为无符号型、长整型和短整型。浮点型也可分为单精度型、双精度型和长双精度型。此外还可以分为静态变量、外部变量、寄存器变量和自动存储变量。这些数据类型我们在本节和后面的章节中都会陆陆续续介绍。那么变量我们总要给它取个名字吧,这个名字我们叫做标识符。标识符的命名有一定的规则:(1).标识符只能由字母、数字和下划线三类字符组成(2).第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符)(3).大写字母和小写字母被认为是两个不同的字符,如 A 和 a 是两个不同的标识符(4).标识符可以任意长,但只有前 32 位有效。有些旧的 C 版本对外部标识符的限制为 6位。这是由于链接程序的限制所总成的,而不是 C 语言本身的局限性(5).标识符不能是 C 的关键字2.从上面的规则中,有个关键字的概念。那么什么叫关键字呢?从表面字意上也可以看出,关键字是 C 语言本身某些特性的一个表示,是唯一的代表某一个意思的。下面列出 ANSI 标准定义的 32 个 C 语言的关键字,这些关键字在以后的学习中基本上都会用到,到时再说它们的各自用法。auto break case char const continue defaultdo double else enum extern float forgoto if int long register return shortsigned sizeof static struct switch typedefunion unsigned void volatile whileC 语言还包括一些不能用做标识符的扩展关键字。asm cdecl _cs _ds _es farhuge interrupt near pascal _ss所以在以后的学习中,在给变量命名时要避开这些关键字。3. Turbo C2.0 规定所有变量在使用前都必须加以说明。一条变量说明语句由数据类型和其后的一个或多个变量名组成。变量说明的形式如下:类型 ;这里类型是指 Turbo C2.0 的有效数据类型。变量表是一个或多个标识符名, 每个标识符之间用,分隔。(二)、整型变量整型变量是用来存储整数的。整型变量又可具体分为好几种,最基本的整型变量是用类型说明符 int 声明的符号整型,形式如下:int Counter;这里 int 是类型说明符, Counter 是变量的名字。整型变量可以是有符号型、无符号型、长型、短型或象上面定义的普通符号整型。整型是 16 位的,长整型是 32 位,短整型等价于整型。以下是几种整型变量的声明示例:long int Amount; /*长整型*/long Amount; /*长整型,等价于上面*/signed int Total; /*有符号整型*/signed Total; /*有符号整型,等价于上面 */unsigned int Offset; /*无符号整型*/unsigned Offset; /*无符号整型,等价于上面 */short int SmallAmt; /*短整型*/short SmallAmt; /*短整型,等价于上面*/unsigned short int Month; /*无符号短整型*/unsigned short Month; /*无符号短整型,等价于上面*/从上面的示例可以看出,当定义长整型、短整型、符号整型或无符号整型时,可以省略关键字 int。注明:1.用 signed 对整型变量进行有符号指定是多余的,因为除非用 unsigned 指定为无符号型,否则整型都是有符号的。2.当一个变量有几重特性时,声明关键字的顺序可以任意。以下几种声明是等价的:unsigned long T1;long unsigned T2;unsigned long int T3;unsigned int long T4;long unsigned int T5;long int unsigned T6;int unsigned long T7;int long unsigned T8;(三)、浮点类型变量顾名思义,浮点类型变量是用来存储带有小数的实数的。C 语言中有三种不同的浮点类型,以下是对这三种不同类型的声明示例:float Amount; /*单精度型*/double BigAmount; /*双精度型*/long double ReallyBigAmount; /*长双精度型*/这里 Amount,BigAmount,ReallyBigAmount 都是变量名。浮点型都是有符号的。(四)、字符型变量字符型变量中所存放的字符是计算机字符集中的字符。对于 PC 机上运行的 C 系统,字符型数据用 8 位单字节的 ASCII 码表示。程序用类型说明符 char 来声明字符型变量:char ch;这条声明语句声明了一个字符型变量,标识符为 ch。当以这种形式声明变量之后,程序可以在表达式中引用这个变量,关于语句和表达式的知识在后面将会介绍。字符数据类型事实上是 8 位的整型数据类型,可以用于数值表达式中,与其他的整型数据同样使用。在这种情况下,字符型变量可以是有符号的,也可以是无符号的。对于无符号的字符型变量可以声明为:unsigned char ch;除非声明为无符号型,否则在算术运算和比较运算中,字符型变量一般作为 8 位有符号整型变量处理。还有其他的如指针型变量,void 型变量,以后再介绍。二、常量常量的意思就是不可改变的量,是一个常数。同变量一样,常量也分为整型常量、浮点型常量、字符型常量,还有字符串常量、转义字符常量和地址常量。(一)、整型常量整型常量可以是长整型、短整型、有符号型、无符号型。在 Tubbo C 2.0 里有符号整型常量的范围从-32768 到 32767,无符号整型的为 0 到 65535;有符号长整型的范围为-2147483648 到 2147483647。无符号长整型的范围为 0 到 4294967295。短整型同字符型。可以指定一个整型常量为二进制、八进制或十六进制,如以下语句:-129, 0x12fe, 0177常量的前面有符号 0x,这个符号表示该常量是十六进制表示。如果前面的符号只有一个字母 0,那么表示该常量是八进制。有时我们在常量的后面加上符号 L 或者 U,来表示该常量是长整型或者无符号整型:22388L, 0x4efb2L, 40000U后缀可以是大写,也可以是小写。(二)、浮点型常量一个浮点型常量由整数和小数两部分构成,中间用十进制的小数点隔开。有些浮点树非常大或者非常小,用普通方法不容易表示,可以用科学计数法或者指数方法表示。下面是一个实例:3.1416, 1.234E-30, 2.47E201注意在 C 语言中,数的大小也有一定的限制。对于 float 型浮点数,数的表示范围为-3.402823E38 到 3.402823E38,其中 -1.401298E-45 到 1.401298E-45 不可见。double 型浮点型常数的表示范围为-1.79E308 到 1.79E308,其中 -4.94E-324 到4.94E-324 不可见。在浮点型常量里我们也可以加上后缀。FloatNumber=1.6E10F; /*有符号浮点型*/LongDoubleNumber=3.45L; /*长双精度型*/后缀可大写也可小写。说明:1. 浮点常数只有一种进制(十进制)。2. 所有浮点常数都被默认为 double。3. 绝对值小于 1 的浮点数, 其小数点前面的零可以省略。如:0.22 可写为.22, -0.0015E-3 可写为-.0015E-3。4. Turbo C 默认格式输出浮点数时, 最多只保留小数点后六位(三)、字符型常量字符型常量所表示的值是字符型变量所能包含的值。我们可以用 ASCII 表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。A, x2f, 013;其中:x 表示后面的字符是十六进制数,0 表示后面的字符是八进制数。注意:在 Turbo C 2.0 中,字符型常量表示数的范围是-128 到 127,除非你把它声明为unsigned,这样就是 0 到 255。(四)、字符串常量字符串常量就是一串字符,用双引号括起来表示。Hello,World!nEnter selection:aError!(五)、转义字符上面我们见到的x,n,a 等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。下面给出所有的转义字符和所对应的意义:转义字符 描述 单引号 双引号 反斜杠0 空字符0nnn 八进制数a 声音符b 退格符f 换页符n 换行符r 回车符t 水平制表符v 垂直制表符x 十六进制符它们的具体用法我们到讲输出语句时再介绍。(六)、地址常量我们前面说的变量是存储数据的空间,它们在内存里都有对应的地址。在 C 语言里可以用地址常量来引用这些地址,如下:&Counter, ∑&是取地址符,作用是取出变量(或者函数) 的地址。在后面的输入语句和指针里还会说明。这一节所讲到的变量和常量知识可以说是在一切程序中都要用到,特别是变量的声明和命名规则。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号