C语言课件第2章基本数据类型
第 2 章 基本数据类型 1、标识符 例2.1 常量和变量的使用。 #include "stdio.h" #define WIDTH 80 //定义符号常量WIDTH int main( ) { int length=100, circumference, area; //声明变量 circumference=(length+WIDTH)*2; area=WIDTH*length; printf("circumference =%d,area=%d\n",area); return 0; } 1、整型 (2)整型变量 字符类型——举例2 四、数据输入与输出 使用scanf时,双引号的格式控制字符串中建议只写格式说明符,不要加入其他字符。 变量定义:类型名 变量名列表; 注:数据类型与变量名之间至少要有一个空格,变量名之间用逗号分开,末尾加分号。 在C语言中称在定义变量的同时进行赋初值的操作为变量初始化,要求对所有用到的变量,必须先定义、后使用。 变量赋初值有两种方式:定义的同时赋初值和通过赋值语句赋初值。两者的效果是等价的。 错误: 1、if:为关键词 2、int if=address=1;应分别赋初值。 3、stadent:未定义的标识符,拼写错误 4、Age:未定义的标识符,大小写敏感。 对score和age赋值时会自动进行类型转化。90?90.0;20.7?20 C语言的实型变量,分为两种: (1)单精度型。类型关键字为float,一般占4字节(32位)、提供7位有效数字。 (2)双精度型。类型关键字为double,一般占8个字节、提供15~16位有效数字。 对于基本类型分别从存储方式、常量和变量等方面进行讲解。 2.4.1 整型变量 1.分类 根据占用内存字节数的不同,整型变量又分为4类: (1)基本整型(类型关键字为int)。 (2)短整型(类型关键字为short [int])。 (3)长整型(类型关键字为long [int])。 (4)无符号整型。无符号型又分为无符号基本整型(unsigned [int])、无符号短整型(unsigned short)和无符号长整型(unsigned long)三种,只能用来存储无符号整数。 2.占用内存字节数与值域 上述各类型整型变量占用的内存字节数,随系统而异。在16位操作系统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型(2字节)≥short型(2字节)。 显然,不同类型的整型变量,其值域不同。占用内存字节数为n的(有符号)整型变量,其值域为:-2n*8-1~(2n*8-1-1);无符号整型变量的值域为:0~(2n*8-1)。 例如,PC机中的一个int型变量,其值域为-22*8-1~(22*8-1-1),即-32768~32767;一个unsigned型变量的值域为:0~(22*8-1),即0~65535。 我们使用的VC环境中int和unsigned int型数据所占的字节数为4,即32位,随之数据的表示范围也不同,分别为-2147483648~ 2147483647和0~4294967295 。 VC中int型为32位。 因此当值大于32767时不会出现溢出。 当大于2147483647时,将出现溢出。 将非负整数赋给无符号整型变量时,结果时正确的。 当把负整数赋给无符号整型变量时,结果出乎意料。要知其中原因,必须了解整数在存储器中的存储方式。 实型常量 1.表示形式实型常量即实数,在C语言中又称浮点数,其值有两种表达形式: (1)十进制形式。例如3.14、9.8。 (2)指数形式:E(e)。例如3.0E+5等。 2.关于类型 实型常量不分float型和double型。一个实型常量,可以赋给一个实型变量(float型或double型)。 所谓规范化的指数形式指:小数部分采用纯小数形式,且最高位不为0。 以上的转换公式是针对float型的,double型指数部分应为E-(2^10-1) 字符变量的类型关键字为char,一般占用1字节内存单元。 1.变量值的存储 字符变量用来存储字符常量。将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。 例如,char ch1, ch2; /*定义两个字符变量:ch1,ch2*/ ch1='a'; ch2='b'; /*给字符变量赋值*/ 2.特性 字符数据在内存中存储的是字符的A