第一课
本课主题: 整型与实型数据,字符型数据
教学目的: 掌握变量的概念,整型与实型的区别
教学重点: 变量的概念,整型数据,字符变量,字符数据的存储,字符串
教学难点: 变量的概念,各种类型数据的存储
授课内容:
一.标识符、关键字、保留字
标识符 程序设计过程用到的各类元素的名字,叫标识符。C语言规定标识符只能由字母、数字、下划线组成,并且只能由字母、下划线开头。如:abc,a12,x是合法的标识符,abc$,12a,x+y不是合法的标识符。
关键字 一些标识符被赋于特定的含义,如 main, int 等,叫关键字。
保留字 一些关键字,被明文规定不许挪作它用,叫保留字。
C语言中,所有的关键字都是保留字,所以这两个词可以混用。
二、常量与变量
常量 在程序运行时,其值不能被改变的量叫常量。如 5, 3.14159, 3.618 等。
符号常量 可以使用一个标识符表示常量,如:PI 表示 3.14159,RETIREMENT 表示退休年龄 60 等(C 语言中写作 #define PI 3.14159, #define RETIREMENT 60),这样的标识符叫符号常量,一般大写。
符号常量使程序易于阅读和修改。例如,一个程序中多处用到退休年龄60,当有一天退休年龄改为65岁时,修改这个程序很困难。而使用符号常量,只要将 #define RETIREMENT 60 改为 #define RETIREMENT 65,就可以了。
变量 在程序运行时,其值能被改变的量叫变量。程序运行时,计算机给每个变量分配一定量的存储空间。每个变量必须有一个类型,如整型、浮点型等,它指明给这个变量分配多大量的存储空间;每个变量还必须有一个名字,如 x, y 等,它指明是哪个变量;一般,一个变量还要有值,值放在变量的存储空间内。
三.整型与实型
C的数据类型有:
1、基本类型:整型、字符型、实型(浮点型)、枚举型
2、构造类型:数组类型、结构体类型、共用体类型
3、指针类型
4、空类型
int:整型,整型变量表示整数。
在MS DOS上,每个整型变量分配 16 bit 存储空间。整型又分成两类,一类表示有符号整数,用 1 bit 表示符号,15 bit 表示数值,可表示数值范围为 -32768 至 32767。一类表示无符号整数,16 bit 都表示数值,可表示数值范围为 0 至 65535。数值都用二进制存储。例如:int a; unsigned int date; 等。
十进制整型常量直接写数字,如:5,100 等;八进制整型常量数字前加 0,如:05,0100 等;十六进制整型常量数字加 0X,如:0X5,0X100 等。
short:短整型,也可写成 short int,在MS DOS上,与整型相同。
long:长整型,也可写成 long int,表示较大的整数,在MS DOS上,每个长整型变量分配 32 bit 存储空间。长整型也分成两类,一类表示有符号整数,用 1 bit 表示符号,31 bit 表示数值,可表示数值范围为 -231 至 231-1。一类表示无符号整数,32 bit 都表示数值,可表示数值范围为 0 至 232-1。数值都用二进制存储。
例如:long int a; unsigned long date; 等。
整型常量的值若超过了整型数范围,会自动被认为是长整型常量;整型常量也可以后加'L',强制置为长整型,如:5L,100L 等。
float:浮点型,近似表示实数,在MS DOS上,每个浮点型变量分配 32 bit 存储空间。浮点型都是有符号的,可表示数值范围分为三段:-1038 至 -10-38, 0, 10-38 至 1038。数值都先化成指数,再用二进制存储。7 位有效数字。
例如:float x, y; 等。
浮点型常量可以写成小数形式,如 3.14159,也可以写成指数形式:1.2E12 (表示 1.2*1012)。
double:双精度型,近似表示更大实数,在MS DOS上,每个浮点型变量分配 64 bit 存储空间。双精度型都是有符号的,可表示数值范围分为三段:-10308 至 -10-308, 0, 10-308 至 10308。数值都先化成指数,再用二进制存储。7 位有效数字。
例如:double x, y; 等。
双精度型常量可以写成小数形式,如 3.14159,也可以写成指数形式:1.2E12 (表示1.2*1012)。
四、字符常量
字符型常量写成'A','@','\t','\65'等形式。
有一些特殊字符用转义符表示:
字符形式 功能 \n换行 \t横向跳格 \v竖向跳格 \b退格 \r回车 \f走纸换页 \\反斜杠字符 \'单引号 \ddd8进制数表示的对应ASCII码字符 \xhh16进制数表示的对应ASCII码字符
五、字符变量
char:字符型,表示一个字符,如'A'-'Z','0'-'9','!','%'等。在MS DOS上,每个字符型变量分配 8 bit(1 byte)存储空间。字符型变量用二进制存储字符的 ASCII 码值。例如:一个变量存储字符'A',实际上是存储'A'的 ASCII 值:65。
六、字符数据的存储与输入输出
字符型也分成两类,一类有符号,用 1 bit 表示符号,7 bit 表示数值,可表示数值范围为 -128 至 127。一类无符号,8 bit 都表示数值,可表示数值范围为 0 至 255。
main()
{char c;
unsigned char d;
c='\376';
d='\376';
printf("%d %d",c,d);
/*---------
results:
-2 254
*/
七、字符串常量
严格的说,这不是一种数据类型。只有常量,没有变量。一个字符串常量用双引号括起来:"Hello,World!\n"。