第2章 第2节:常量和变量(课件)-《编程语言基础—C语言》(高教版第5版)同步精品课堂

2025-10-31
| 31页
| 138人阅读
| 2人下载
精品

内容正文:

2.2节:常量和变量 编程语言基础——C语言 同步精品课堂 高教版(第5版) 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 教学目标 一 03 掌握正确定义整型、浮点型、字符型变量的方法 掌握规范化指数形式等不同数值表示,并能分析整型数据溢出和浮点型数据舍入误差等关键问题 04 浮点型常量和字符型常量的表示方法及其在内存中的存储原理 02 掌握常量与变量的基本概念,并区分整型、浮点型、字符型等主要数据类型 01 教学重难点 二 03 整型变量的值域范围,导致数据溢出的现象及原因 变量的定义与使用规则 04 ​字符型数据的处理与存储机制 02 ​浮点型数据的表示与存储 01 导入新课 三 程序世界的基本积木——常量与变量 假设我们要为一位学生“小明”建立数字档案,我们需要记录以下信息: ​姓名:​​ ‘M’(字符) ​年龄:​​ 18(整数) ​身高:​​ 1.75(带小数) ​班级:​​ ‘A’(字符) 如何用程序描述一个“学生”?​ (1)哪些信息是固定不变的?哪些可能会变? (2)​为什么年龄用整数,而身高要带小数? 思考 今天,我们就来深入剖析程序世界中这些最基本、最重要的积木——常量与变量,看看它们有哪些类型,以及如何在内存中“安家落户”。 新知讲授 四 知识点1:浮点型常量 浮点型数据是用来表示具有小数点的实数的。在C语言中,实数是以指数形式存放在存储单元中的。一个实数表示为指数可以有不止一种形式,如3.14159可以表示为3.14159×100、0.314159×101、0.0314159×102、31.4159×10-1、314.159×10-2、等,它们代表同一个值。可以看到,小数点的位置是可以在314159几个数字之间、之前或之后(加0)浮动的,只要在小数点位置浮动的同时改变指数的值,就可以保证它的值不会改变。由于小数点位置可以浮动,所以实数的指数形式称为浮点数。 概述 新知讲授 四 知识点1:浮点型常量 1、浮点型常量的表示方法 C语言中的浮点类型主要分为单精度浮点型(float)和双精度浮点型(double)两种,一般以双精度浮点型(double)为主。 C语言中的浮点数就是生活中常说的“实数”。浮点数有两种表示形式: (1)十进制小数形式。它由数字和小数点组成(注意:必须有小数点)。如下表所示: 0.123 123. 123.0 0.0 -1.2 1234.56 .5 6. 100000000.0 -1.4 新知讲授 四 知识点1:浮点型常量 1、浮点型常量的表示方法 (2)指数形式。如123e3或123E3都代表123×103 。但注意字符e(或E)之前必须有数字,且e (或E)后面的指数必须为整数。 e3 2.1e3.5 .e3 e 13.4E1.2 1.2345e2 0.345E-3 -765e12 -.5E-8 6.e-7 1.0e10 .2E-1 1.22E1 -1E-1 6.0E3 新知讲授 四 知识点1:浮点型常量 1、浮点型常量的表示方法 (3)规范化的指数形式。 一个浮点数可以有多种指数表现形式。例如“123.456”可以表示为下表所示的形式: 其中,“1.23456e2”可以称为“规范化的指数形式”。即在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字,如2.3478e2、3.0999e5等均属于规范化的指数形式。一个浮点数在用指数形式输出时,采用规范化的指数形式输出。 123.456e0 12.3456e1 1.23456e2 …………………… 0.123456e3 0.0123456e4 0.00123456e5 新知讲授 四 知识点1:浮点型常量 2、浮点型数据在内存中的存放形式 编译系统为每一个float型变量分配4个字节,数值以规范化的二进制数指数形式存放在存储单元中,在存储时,系统将实型数据分成小数部分和指数部分两个部分,分别存放。小数部分的小数点前面的数为0。如3.14159在内存中的存放形式如下图所示: 3.14159=3.14159*100=0.314159*101=314.159*10-2 注意 由于用二进制形式表示一个实数以及存储单元的长度是有限的,因此不可能得到完全精确的值,只能存储成有限的精确度。 新知讲授 四 知识点2:字符型常量 1、认识字符型常量 (1)C语言的字符常量是用单引号(即撇号)括起来的一个字符,如‘*’‘a’‘A’‘&’‘!’等都是字符常量。但要注意,‘a’和‘A’是不同的字符常量。 (2)字符数据存放在内存中的,并不是字符本身,而是字符的代码,即ASCII码(美国标准信息交换码)。ASCII标准字符集定义了128个字符,每个字符对应于一个ASCII码,编码值为0~127。 新知讲授 四 知识点2:字符型常量 2、认识ASCII字符集 ASCII字符集包括: 【字母】大写英文字母A~Z,小写英文字母a~z 【数字】0~9 【专门符号】29个,包括 ! " # & ' ( ) * + , - . / : ; < = > ? [ \ ] ^ _ ` { | } ~ 【空格符】空格、水平制表符(tab)、垂直制表符、换行、换页(form feed) 【不能显示的字符】 空(null)字符(以'\0'表示)、警告(以'\a'表示)、退格(以'\b'表示)、回车(以'\r'表示)等 新知讲授 四 知识点2:字符型常量 2、认识部分ASCII字符集 通过下表可以看出,字符的存储形式与整数相似,不同的是,它在内存中仅占一个字节。C语言字符型数据与整型数据之间可以通用。 新知讲授 四 知识点2:字符型常量 3、认识转义字符 【概述】除了ASCII码表内所示的字符常量以外,一些不可显示的控制字符(如回车符、制表符、退格键等)在程序中无法用一个一般形式的字符表示,C语言允许使用一种特殊形式的字符常量来表示这些字符:一个以反斜杠“\”开头的字符,称为转义字符。转义字符实际上只能算一个字符。 常用转义字符如表所示: 换行符(将当前位置移到下一行开头) \’ 单引号 \t 水平制表符(跳到下一个<Tab>位置) \’’ 双引号 \b 退格 \0 表示空字符 \r 回车(将当前位置移到本行开头) \33或\033 表示Esc键(27) \f 走纸 \07 表示响铃 \\ 反斜杠 \x0A 表示换行(10) 也可以使用“\”加上一个1~3位的八进制数或“\x”加上一个1~2位的十六进制数表示的ASCII码值来表示转义字符。 新知讲授 四 知识点3:整型变量 1、整型变量的分类 整型数据类型 缺省形式的 整型数据类型 字节数 取值范围 [signed ]int int 4 -2147483648~2147483647(-231~231-1) unsigned [int] unsigned 4 0~4294967295(0~232-1) [signed] short [int] short 2 -32768~32767(-215~215-1) unsigned short [int] unsigned short 2 0~65535(0~216-1) [signed ]long [int] long 4 -2147483648~2147483647(-231~231-1) unsigned long [int] unsigned long 4 0~4294967295(0~232-1) [signed ]long long [int] long long 8 -9223372036854775808~9223372036854775807 (-263~263-1) unsigned long long [int] unsigned long long 8 0~18446744073709551615(0~264-1) 新知讲授 四 知识点3:整型变量 2、整型变量的定义和使用   (1)概述:   在程序的运行过程中,其值可以改变的量称为变量。每个变量都有一个名字,称为变量名。每个变量都必须进行变量说明,指明变量的类型,相当于给变量进行注册。编译时,系统根据变量的类型,在内存中分配合适大小的存储空间,这样就可以将该变量与其对应的存储空间联系起来。即: 变量代表一个有名字的、具有特定属性的一个存储单元。 变量用来存放数据,也就是存放变量的值。 在程序运行期间,变量的值是可以改变的。 变量必须先定义,后使用。 a 3 变量名 变量值 存储单元 新知讲授 四 知识点3:整型变量 2、整型变量的定义和使用   (2)变量名的命名规则: C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。(注意:C编译系统将大写字母和小写字母认为是两个不同的字符)。 (3)整型变量的定义: int a,b; //指定变量a,b为整型 unsigned short c,d; //指定变量c,d为无符号短整型 long e,f; //指定变量e,f为长整型 #include<stdio.h> main() {int a,b,c,d;//定义整型变量 unsigned u;//定义无符号整型变量 a=12;b=-24;u=10; c=a+u; d=b+u; printf("a+u=%d ",c); printf("b+u=%d ",d); } 新知讲授 四 知识点3:整型变量 3、整型数据的溢出 #include<stdio.h> main() { short a,b; a=32767; b=a+1; printf("%d,%d ",a,b); } 运行结果为:32767,-32768 a: 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 b: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32767 -32768 新知讲授 四 知识点4:浮点型变量 浮点型数据的舍入误差与定义 类型 字节数 有效数字 数值范围(绝对值) float 4 7 10-37~10+38 double 8 17 10-307~10+308 C语言中float的有效位数是7,即精确到有效数字的第7位,每个单精度变量占用4个字节,有效范围是10-37~10+38。double的有效位数是17位,每个双精度变量占用8个字节,有效范围是10-307~10+308。 #include<stdio.h> main() {float x;//定义单精度浮点型变量 double y;//定义双精度浮点型变量 x=123456.789; y=1.23456789E5; printf("%f %lf",x,y); } 注意:有效位数是指,一个float型变量只能保证有效数字是7位,后面的数字是无异于且无法准确表示的。 新知讲授 四 知识点5:字符型变量 字符型变量的定义和存储 (1)概述:字符型变量用来存放字符常量,一个字符型变量只能存放一个字符。 (2)字符型变量的定义: char c1=97;//定义了一个字符型的变量,名为c1,可以存储一个字符。 char c2=98;//定义了一个字符型的变量,名为c2,可以存储一个字符。 (3)字符型变量的存储:(一个字符型数据,既可以以字符形式输出,也可以以整数形式输出) 97 c1 98 c2 a b ASCII码 字符 师生互动 五 互动挑战:给数据贴上“身份证” 【任务】 让我们一起分析以下数据项,判断它们通常属于哪种数据类型​(整型、浮点型、字符型),以及其身份是“常量”还是“变量”。 【要求】 (1)个体思考​:给1分钟时间,独立完成表格前两列的判断。 ​(2)小组讨论​:3分钟小组讨论,统一答案,并思考“为什么”。 ​(3)全班分享​:教师随机邀请小组分享答案,并重点引导讨论最后一列的“关键知识点”。 师生互动 五 互动挑战:给数据贴上“身份证” 数据项 数据类型 常量/变量(?) 圆周率 π (3.14159)​ 时间 班级的代号 ‘A’ 光速 (3.0e8 m/s)​ 你的姓名首字母 银行账户的余额 随堂练习 六 1.关于C语言中的常量,以下叙述正确的是( ) A. 常量在程序运行期间其值可以被改变 B. 浮点型常量只有十进制小数一种表示形式 C. 字符型常量'\0'表示一个空格字符 D. 整型常量10和浮点型常量10.0在内存中的存储形式不同 答案:D 解析:常量值不可变;浮点型常量还有指数形式(如1.0e1);'\0'是空字符(NULL),ASCII码为0,空格字符是' ',ASCII码为32;整型和浮点型数据的编码存储方式有本质区别。 随堂练习 六 2.以下选项中的浮点常量,属于正确规范化指数形式的是( ) A. 1.23e2 B. 12.3e1 C. 123e0 D. 1230e-1 答案:A 解析:规范化指数形式要求尾数部分小数点前有且只有一位非零数字。 随堂练习 六 3.以下关于转义字符的叙述,错误的是( ) A. ' ' 代表换行符。 B. '\101' 代表八进制数101对应的ASCII字符,即'A'。 C. '\\' 代表一个反斜杠字符。 D. '\0' 通常用作字符串的结束标志,它和空格字符' '是等价的。 答案:D 解析: '\0'是空字符(NULL),ASCII码为0;' '是空格字符,ASCII码为32。两者不等价。'\0'常用作字符串结束符。 随堂练习 六 4.在C语言中,字符型变量在内存中占用的字节数和存储形式是( ) A. 2个字节,存储Unicode编码 B. 1个字节,存储该字符的ASCII码值 C. 4个字节,存储该字符的图形点阵 D. 由编译器决定,存储形式不确定 答案:B 解析:在标准C中,char类型通常占1个字节,存储的是该字符的ASCII码值(一个整数)。 随堂练习 六 5.以下不能作为C语言合法常量的是( ) A. 1.2e0.5 B. '\x41' C. 100L D. 3.14F 答案:A 解析:A错误,指数形式(e或E)后面的指数必须为整数。B是十六进制转义字符(代表'A'),C是长整型常量,D是单精度浮点型常量。 随堂练习 六 6.关于变量的定义和初始化,下列说法正确的是( ) A. 变量必须先定义后使用,但不可以初始化。 B. 定义一个变量后,它的值默认为0。 C. 字符型变量只能存储字母字符,不能存储数字字符。 D. 浮点型变量可以用指数形式进行初始化,如:float f = 1.5e2; 答案:D 解析:浮点变量可以用十进制或指数形式初始化。 随堂练习 六 7.下列变量定义中,合法的是( ) A. int 3abc; B. float long; C. char _name; D. double 123.45; 答案:C 解析: A、D错误,变量名不能以数字开头;B错误,long是关键字,不能用作变量名;C正确,变量名可以以下划线开头。 随堂练习 六 8. ASCII 码中,字符'A'的编码值比'a'的编码值( ) A. 大 32 B. 小 32 C. 大 1 D. 小 1 答案:B 解析:'A'的 ASCII 码是 65,'a'是 97,65 比 97 小 32。 课堂小结 七 谢谢 EV录屏5.4.2软件录制 Lavf58.33.100 本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn EV录屏5.4.2软件录制 Lavf58.33.100 本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn $

资源预览图

第2章 第2节:常量和变量(课件)-《编程语言基础—C语言》(高教版第5版)同步精品课堂
1
第2章 第2节:常量和变量(课件)-《编程语言基础—C语言》(高教版第5版)同步精品课堂
2
第2章 第2节:常量和变量(课件)-《编程语言基础—C语言》(高教版第5版)同步精品课堂
3
第2章 第2节:常量和变量(课件)-《编程语言基础—C语言》(高教版第5版)同步精品课堂
4
第2章 第2节:常量和变量(课件)-《编程语言基础—C语言》(高教版第5版)同步精品课堂
5
第2章 第2节:常量和变量(课件)-《编程语言基础—C语言》(高教版第5版)同步精品课堂
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。