内容正文:
教案用纸
第 1 周 总第 3 次 学时:2
教学班级: 课程:C语言程序设计 授课教师:刘畅
课题:第2章 程序中的数据
2.1数据类型、变量与常量
教学方法:启发式、案例式
教具:常规教具
教学目标:使同学了解基本标识符、常用的数据类型及C语言的变量
教学重点:C语言数据类型以及变量的定义
教学难点:简单C程序的编写过程
主要教学内容:
第2章 程序中的数据
2.1数据类型、变量与常量
2.1.1 数据类型概述
2.1.2 标识符
2.1.3 变量的定义、赋值和初始化
2.1.4 变量的存储形式
2.1.5 整型及整型常量
2.1.6 实型及实型常量
2.1.7 字符型及字符型常量、字符串常量
2.1.8 符号常量
课后回顾:
教案用纸
四个一:
提问:1、程序设计语言的分类
2、算法的五大特性
3、C源程序的上机步骤
导入:C语言提供了丰富的运算符,构成多种表达式,能实现多种基本操作。在本章中,主要介绍基本数据类型、运算符和表达式以及基本的输入输出函数的使用方法。
正文:
第2 章 程序中的数据
2.1 数据类型、变量与常量
2.1.1 数据类型概述
在C语言中,每个数据都属于唯一的一种数据类型,没有无类型的数据。C语言的数据类型如图2-1所示。
(
C数据类型
字符类型(char)
整型
实型(浮点型)
短整型(short)
整型(int)
长整型(long)
单精度型(float)
双精度型(double)
枚举类型(enum)
基本类型
构造类型
数组类型
指针类型(*)
共用体类型(union)
空类型(void)
结构体类型(struct)
)
图2-1 C语言的数据类型
C语言的基本类型有三种:字符型、整型和实型(浮点型)。C语言的基本类型修饰符有四种:signed(有符号)、unsigned(无符号)、long(长型符)和short(短型符),这些类型修饰符可以与字符型或整型数据配合使用。
2.1.2 标识符
1.标识符
所谓标识符,是指用来标识程序中用到的变量、函数、类型、数组、文件以及符号常量等的有效字符序列。简言之,标识符就是一个名字。在C语言中,标识符只能由字母、数字和下划线组成,第一个字符必须为字母或下划线。
2.关键字
关键字又称保留字,是C语言规定的具有特定意义的标识符,它们有特定的含义,不能做其他用途使用。C语言的关键字有32个,可分为以下四类。
(1)标识数据类型的关键字(14个):int,long,short,char,float,double,signed,unsigned,struct,union,enum,void,volatile,const。
(2)标识存储类型的关键字(5个):auto,static,register,extern,typedef。
(3)标识流程控制的关键字(12个):goto,return,break,continue,if,else,while,do,for,switch,case,default。
(4)标识运算符的关键字(1个):sizeof。
2.1.3 变量的定义、赋值和初始化
C语言中的数据有常量和变量之分。常量是指在程序运行过程中值不能改变的量,分为直接常量和符号常量。变量是指在程序运行过程中其值可以改变的量。
图2-2 变量及其存储示意图
1.变量概述
在程序运行过程中,其存储的值可以被改变的量称为变量。
变量定义必须放在变量使用之前,一般放在函数体的开头部分。要区分变量名和变量值是两个不同的概念。例如整型变量a的值为3,则变量a在内存中的存储形式如图2-2所示。
2.变量的说明
所有变量在使用前都必须加以说明。一条变量说明语句由数据类型和其后的一个或多个变量名组成。
变量定义的一般格式如下。
(
数据类型
变量名
1 [
,变量名
2
,变量名
3
,
…
,变量名
n ];
)
其中中括号“[ ]”括起来的部分为可选项,省略号为多次重复。例如:
int x , y , z; /*定义三个整型变量x、y和z */
float i , j; /*定义两个单精度浮点型变量i、j */
变量具有四个基本要素:名字、类型、初值和作用域。
3.变量的赋值和初始化
(1)变量的赋值。定义变量后,在使用之前需要给定一个初始值。在C语言中,可以通过赋值运算符“=”给变量赋值。变量赋值语句的一般格式如下。
(
变量名=表达式;
)
例如:
int x; /*定义一个整型变量x,此时x的值是不确定的 */
x=3; /*给变量赋初值为3 */
(2)变量的初始化。在定义变量的同时为其赋值,称为变量的初始化。定义的变量可以全部初始化,也可以部分初始化。
2.1.4 变量的存储形式
1.整型变量及整型数据的存储
C语言中的整型数据分为有符号和无符号两大类,在TC中占两个字节。
无符号整数按二进制存储,所有二进制位都存储的是数据值本身(无符号位)。
例如:
unsigned int x=97 , y=65535; /* 定义两个无符号整型变量x(赋初值97)和y(赋初值最大正整数65535)*/
2.实型变量及实型数据的存储
实型数据是按指数形式存储的,单精度浮点型占4个字节,双精度浮点型占8个字节,存储格式如图2-5所示。
图2-5 实数的存储示意图
尾数和指数以十进制数表示,二进制形式存储。尾数部分占的位数越多,数的有效数字越多,精度越高;指数占的位数越多,则表示的数值的范围越大。
3.字符数据的存储与使用
C语言中的字符型数据与整型数据的存储十分相似,也分为有符号和无符号两大类,在TC中占一个字节(8个二进制位)。
无符号字符类型的数据直接存放ASCII码。有符号字符类型补码的表示形式为:
(
c (0
≤
c
≤
127)
c的补码=
2
8
-
|c| (
-
128
≤
c<0)
)
2.1.5 整型及整型常量
1.整型
整型数据没有小数部分。根据整数的存储长度,可分为以下几种(即变量的类型)。
(1)基本整型:类型名为int。
(2)短整型:类型名为short int或short。
(3)长整型:类型名为long int或long。
整型还可以细分为:
(1)有符号整数:加上修饰符singed,可以描述正整数、负数和0。
(2)无符号整数:加上修饰符unsinged,可以描述正整数和0。
2.整型常量
整型常量又称整数,整数有3种数制来表示(不用二进制表示整数)。
(1)十进制整型常量:十进制整常数没有前缀,其数字为0~9,如237、-568等。
(2)八进制整型常量:以数字0开头,由数字0~7来表示。八进制数通常是无符号数,如015、026。
(3)十六进制整型常量:以数字0和字符X或x(即0X或0x)开头,由数字0~9和字符A~F或a~f表示,如0x2A(十进制数为42)、0XFFFF(十进制数为65535)。
2.1.6 实型及实型常量
1.实型
实型也称为浮点型,包括(即变量类型):
(1)单精度浮点类型:简称浮点类型,类型名为float。
(2)双精度浮点类型:简称双精度类型,类型名为double。
(3)长双精度类型:类型名为long double。
2.实型常量
实型常量也称为实数或者浮点数。实数只有十进制,包括:
十进制小数形式和指数形式。
(1)十进制小数形式。小数形式是由数字0~9和小数点组成的(注意:必须有小数点)。例如:6.789,.789(省略小数点前0),6.(省略小数点后0),0.0都是合法的十进制小数。
(2)指数形式。由十进制小数加上阶码标志字符“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为:a E n,其中a为十进制数,n为十进制整数,其值为a×10n。例如2.35E-3,表示2.35×10-3。
2.1.7 字符型及字符型常量、字符串常量
1.字符类型
字符类型的数据简称字符型,包括(即其变量类型):
(1)有符号字符型,类型名称为char,存储数据取值范围为-128~127。
(2)无符号字符型,类型名称为unsigned char,存储数据取值范围为0~255。
字符型数据在内存中存储的是其ASCII编码值(为一个整数),所以字符数据和整型数据是在C语言中可以通用的,只不过字符存储字节为1个字节。
2.字符常量
字符常量是由一对单引号括起来的一个字符。字符型数据占一个字符,其书写形式是用单引号括起来的单个字符。例如:'a','A','@','?'等。
常用字符的ASCII编码如下:
(1)字符’A’~’Z’的ASCII编码值为65~90。
(2)字符’a’~’z’的ASCII编码值为97~122。
(3)字符’0’~’9’的ASCII编码值为48~57。
(4)空格字符的ASCII编码值为32。
转义字符。转义字符主要用来表示那些用一般字符不便于表示的控制代码,是一种特殊的字符常量。转义字符以反斜线“\”开头,后跟一个或几个字符,例如“回车”、“换行”等。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符,如表2-4所示。
3.字符串常量
字符串常量是用一对双引号括起来的零个或多个字符序列,如"hello","","abc","123"等。
字符常量与字符串常量的区别。字符串常量和字符常量是不同的量,它们之间主要有以下区别:
(1)字符常量由单引号括起来,字符串常量由双引号括起来。
(2)字符常量只能是单个字符,字符串常量则可以含一个或多个字符。
(3)可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。
(4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1,增加的一个字节中存放字符'\0'(ASCII码为0),这是字符串结束的标志。
在C语言中没有相应的字符串变量,但是可以用一个字符数组来存放一个字符串常量,在数组一章会予以介绍。
例如,字符串 "Hello" 存储情况如下:
2.1.8 符号常量
在C语言中,也可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:
(
#define
符号常量
值
)
例如:
#define PI 3.14 /*定义一个符号常量PI,其值为3.14 */
该语句的功能是把标识符“PI”定义为其后的常量值“3.14”。一经定义,以后在程序中所有出现“PI”的地方均代之以该常量值“3.14”。
小结:
本讲主要介绍了C语言的数据类型、变量与常量的定义及使用。注意各个类型的关键字的书写格式。
作业:
课后习题二
备 注
案例法:通过案例引发同学们思考以及吸引同学的兴趣。
重点:强调C语言中自定义标志符的命名规则。
注意:由于同学们初步接触C语言,只需要掌握基本类型即可。
实例法:通过“同一教室里不同时刻学生是不同的”情况讲解变量以及相关定义。
重点:指数形式表示方法需要注意的问题。
难点:符号常量与变量的区别。
学科网(北京)股份有限公司
$$