第二章-数据类型常量和变量
合集下载
C语言基础知识第二章概述

2019/3/14
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
12
例如:字符A的ASCII码为: 65D(十进制)=41H(十六进制)=101Q(八 进制) ∴字符A可以表示为‘A’、’\x41’、’\101’。 2、分类: char 和 unsigned char; 3、值域: 每个字符型数据在内存中占一个字节;包括 ASCII字符表中的所有字符(可显示字符和非显 示字符)。
– 例如: 某计算机允许表示具有七位有效数字的十进制数,计算 333.3333+0.0002222222,若计算时没有位数的限制,则结果应当 是3.3335222222。 计算机由于字长位数的限制,只能表示七位有 效数字,于是只得将小数点后的七个数字全部删掉,而仅保留其 整数部分,得到和值333.3335。 (4)根据实际要求选择单精度或双精度。
2019/3/14
C语言程序设计教程
13
• 注意: • • • • (1)字符常量只能用单引号括起来,不能用双引号 或其他括号。 (2)字符常量只能是单个字符, 不能是字符串。 ‘ab’ 不是字符常量 (3)字符可以是字符集中任意字符,但数字被定义为 字符型之后就以ASCII码值参与数值运算。 如,‘6’和6是不同的,‘6’是字符常量,而6是整型 常量。
注意
‘a’与“a”的区别。
2019/3/14
C语言程序设计教程
15
• 字符常量与字符串常量的区别:
– ⑴ 定界符不同。 – 字符常量使用单引号,而字符串常量使用双引号。 – ⑵ 长度不同。 – 字符常量的长度固定为1,而字符串常量的长度可以是0,也可以 是某个整数。 – ⑶ 存储要求不同。 – 字符常量存储的是字符的ASCII码值,而字符串常量除了要存储 字符串常量的有效字符外,还要存储一个字符串结束标志‘\0’。
中职C语言教案:数据类型

教学
环节
教学活动内容及组织过程
个案补充
教
学
内
容
一、复习引导
上次课我们已经学习了程序的一个方面算法,现在来学习另一方面数据结构。
二、内容设计
C有三种基本数据类型,分别是整型、浮点型、字符型
(一)、常量与变量
1、常量:在程序运行过程中,其值不能被改变的量。
两种形式:一般常量和符号常量
(1)常量(字面常量):
江苏省XY中等专业学校2022-2023-1教案编号:
备课
组别
计算机
上课
日期
主备
教师
授课
教师
课题
第二章数据类型
教学
目标
1、掌握C的数据类型
2、掌握整型、实型、字符型数据的常量及变量
重点
各种基本数据类型的常量和变量
难点
不同类型的数据在内存中的物理存储形式Leabharlann 教法讲授法、案例教学法、讨论法
教学设备
黑板 计算机网络机房
a=12; b=-24; u=10;
c=a+u; d=b+u;
printf(“a+u=%d, b+u=%d\n”,c,d); }
4)整型数据的溢出
一个int型变量的最大允许值为32767,如果再加1,其结果不是32768,而是-32768。即“溢出”。
(三)、浮点型数据
1、浮点型常量的表示方法
(1)十进制浮点数
3)转义字符:
以‘ \ ’开头,后跟一个约定的字符或所要表示字符的十六进制(或者八进制)的编码;
2、字符变量:字符变量用来存放字符常量,只能放一个字符。例:char c1=‘a’, c2=‘A’;一个字符变量在内存中占一个字节。
环节
教学活动内容及组织过程
个案补充
教
学
内
容
一、复习引导
上次课我们已经学习了程序的一个方面算法,现在来学习另一方面数据结构。
二、内容设计
C有三种基本数据类型,分别是整型、浮点型、字符型
(一)、常量与变量
1、常量:在程序运行过程中,其值不能被改变的量。
两种形式:一般常量和符号常量
(1)常量(字面常量):
江苏省XY中等专业学校2022-2023-1教案编号:
备课
组别
计算机
上课
日期
主备
教师
授课
教师
课题
第二章数据类型
教学
目标
1、掌握C的数据类型
2、掌握整型、实型、字符型数据的常量及变量
重点
各种基本数据类型的常量和变量
难点
不同类型的数据在内存中的物理存储形式Leabharlann 教法讲授法、案例教学法、讨论法
教学设备
黑板 计算机网络机房
a=12; b=-24; u=10;
c=a+u; d=b+u;
printf(“a+u=%d, b+u=%d\n”,c,d); }
4)整型数据的溢出
一个int型变量的最大允许值为32767,如果再加1,其结果不是32768,而是-32768。即“溢出”。
(三)、浮点型数据
1、浮点型常量的表示方法
(1)十进制浮点数
3)转义字符:
以‘ \ ’开头,后跟一个约定的字符或所要表示字符的十六进制(或者八进制)的编码;
2、字符变量:字符变量用来存放字符常量,只能放一个字符。例:char c1=‘a’, c2=‘A’;一个字符变量在内存中占一个字节。
C语言学习第二章数据类型

基本整型:表示范围为0~0177777。 ③十六进制数:
基本整型:表示的范围为0X0~0XFFFF。
2.4.2 整型变量
1.整型变量在内存中的存放形式
以二进制补码的形式存放。
正数:最高位为0,其余各位是该数的二进制表示 负数:最高位为1,其余各位是该数绝对值的二进制
再按位取反加1
2. 整型变量的分类
放一个字符。
下面是对c1、c2赋值: c1=‘a’;c2=‘b’; (实际上其内存中存放的是该字符的ASCII码)
字符变量的初始化,如:char c1=‘a’,c2=‘b’;
2.5.3 字符数据在内存中的存储形式及其使用方法
将一个字符常量放到一个字符变量中,实际上是将该字 符的ASCII代码以二进制形式放到存储单元中。
无符号型:(只能存放0和正整数) ① 基本整型:类型说明符为unsigned int或unsigned
在内存中占2个字节 取值范围为0~2161,即0~65535。 ② 短整型:类型说明符为unsigned short (int) 所占字节和取值范围均同基本整型。 ③ 长整型:类型说明符为unsigned long (int) 在内存中占4个字节 其取值范围是0~2321 即0~4294967295
实型常量也称为实数或者浮点数。 实型常量不分单、双精度,都按双精度double型处理,其有 效位数为(15~)16位。
实型常量的表示方式有:
(1)十进制小数形式
小数形式由数字0~ 9和小数点组成。
当某浮点数整数部分或小数部分为0时,0可以省略,但小 数点不可省略。
例如:
0.0 , .25 ,5.789 ,0.13 ,5.0 , 300. 267.8230 , 123. 等均为合法的实数。
基本整型:表示的范围为0X0~0XFFFF。
2.4.2 整型变量
1.整型变量在内存中的存放形式
以二进制补码的形式存放。
正数:最高位为0,其余各位是该数的二进制表示 负数:最高位为1,其余各位是该数绝对值的二进制
再按位取反加1
2. 整型变量的分类
放一个字符。
下面是对c1、c2赋值: c1=‘a’;c2=‘b’; (实际上其内存中存放的是该字符的ASCII码)
字符变量的初始化,如:char c1=‘a’,c2=‘b’;
2.5.3 字符数据在内存中的存储形式及其使用方法
将一个字符常量放到一个字符变量中,实际上是将该字 符的ASCII代码以二进制形式放到存储单元中。
无符号型:(只能存放0和正整数) ① 基本整型:类型说明符为unsigned int或unsigned
在内存中占2个字节 取值范围为0~2161,即0~65535。 ② 短整型:类型说明符为unsigned short (int) 所占字节和取值范围均同基本整型。 ③ 长整型:类型说明符为unsigned long (int) 在内存中占4个字节 其取值范围是0~2321 即0~4294967295
实型常量也称为实数或者浮点数。 实型常量不分单、双精度,都按双精度double型处理,其有 效位数为(15~)16位。
实型常量的表示方式有:
(1)十进制小数形式
小数形式由数字0~ 9和小数点组成。
当某浮点数整数部分或小数部分为0时,0可以省略,但小 数点不可省略。
例如:
0.0 , .25 ,5.789 ,0.13 ,5.0 , 300. 267.8230 , 123. 等均为合法的实数。
C语言——第02章数据类型1

例2.2 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d);
}
(4) 整型数据的溢出 例2.3 数据的溢出 #include <stdio.h> 2 void main() 3 { 4 short a,b; 5 a=32767; 6 b=a+1; 7 printf("%d,%d\n",a,b); 8 }
区分变量名和变量值是两个不同的概念
练习:为变量a和b分别赋一个实数,求
a-b
a+b
的结果.
#include<stdio.h> void main() { float a,b; scanf(“%f%f”,&a,&b); printf("%f\n",(a-b)/(a+b)); }
§2.4 整型数据
练习:
编写:定义2个单精度变量a和b,求其和存入变量sum中; 定义2个双精度变量c和d,求其积存入变量tim中,a、b、 c、d的值任意给。
#include <stdio.h> void main() { float a,b,sum; double c,d,tim; scanf(“%f%f%f%f”,&a,&b,&c,&d); sum=a-b; tim=c*d; printf(“sum=%f tim=%f\n”,sum,tim); }
“规范化的指数形式‛,即在字母e(或E)之前 的小数部分中,小数点左边应有一位(且只能有 一位)非零的数字。 一个实数在用指数形式输出时,是按规范化的指 数形式输出的。 例如: 123.456可以表示为: 123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e5 其中的1.23456e2称为“规范化的指数形式”。
VFP第二章数据及数据类型

3).逻辑型常量
逻辑型常量就是表示逻辑判断结果“真”或“假” 的逻辑值。逻辑常量只有真和假两种值,分别用(.t.或.y.) 和(.f.或.n.)表示真和假。一般应在表示逻辑常量的字母 左右加注圆点符“.”以示区别。
4).日期型常量 日期型常量是表示日期值的数据,其默认格式是 {mm/dd/[yy]yy}。如{10/01/02}和{10/01/2002}均表示 2002年10月1日这一日期常量值。 系统默认的“严格日期格式”以{^yyyy-mm-dd}的形式 来表示。 ∧指该日期是严格的,表达一个确切的日期,它不受日期 设置命令SET DATE TO 和SET CENTURY ON/OFF的影响。 其中“-”可用“/”来代替。 必须注意,执行命令时, VFP默认使用严格的日期或日期 时间格式,如果要使用通常的日期或日期时间格式,必 须先执行SET STRICTDATE TO 0命令,否则会引起出 错。如果要设置严格的日期或日期时间格式,可执行命 令SET STRICTDATE TO 1。
| |
最低
对于各种逻辑运算,其运算规则可由逻辑运算真值表确 定,表所示就是逻辑运算真值表。 表 逻辑运算真值表
A .T. .T. .F. .F.
B .T. .F. .T. .F.
A .AND.B
A .OR. B
.NOT A
.T. .F. .F. .F.
.T. .T. .T. .F.
.F. .F. .T. .T.
(3)汉字 系统默认按汉字的拼音排列汉字的顺序,也就是以汉 字的拼音顺序比较“大小”,因此,汉字比较实质上是以 字母的顺序进行比较;但 Visual FoxPro 系统可以设置汉 字按笔画排列顺序,因而,汉字的“大小”就决定其笔画 数的多少。 用菜单设置汉字排列顺序方式的操作步骤为:单击 【工具】 | 【选项】命令,将打开“选项”对话框中,在 “数据”选项卡的“排序序列”下拉列表框中选择 “Stroke”项并确定,系统将按汉字的笔画数进行汉字的 排序、比较运算。 "MACHINE"按ASCII码比较大小 ?"实际"<"实习"
C语言程序设计 第2章 数据类型

2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);
2.2.2.1数据类型、常量与变量

数据类型、常量与变量
2.2.1 数据类型
数学中“数”的类型:
VB的数据类型
注意点: 注意点:
数据类型实际上是一种约定。 单精度和双精度又合称为浮点型。 用“”表示空串。 VB中也常用数值0表示假值,-1表示真值。
例:
Dim a As Integer a = 100 If a Then Print "True!" Else Print "False!" End If
变量声明
变量应该先声明后使用。 中变量声明的方法是 中变量声明的方法是: 变量应该先声明后使用。VB中变量声明的方法是:
Dim <变量名> As <数据类型> <变量名> <数据类型> 变量名 数据类型 如:Dim str as String 可以在一行中定义多个变量, 注:可以在一行中定义多个变量,如: Dim dtmBeginTime As Date,dtmEndTime As Date 课堂练习: 课堂练习: P24 实践 2
2.2.2 常量与变量
1.常量:在程序运行期间始终保持不变。
注:如果程序中多次用到同一个常量,往往用一个有意 义的符号表示,这种常量称为符号常量。定义如下:
Const 常量名 [As 类型]=表达式
2.变量:赋予它新的含义。变量命名必须以字母或汉字开头,而不能以数字或其他 字符开头。 只能由字母、汉字、数字和下画线组成,不能 含有小数点、空格等字符。 字符个数不超过255个。 变量名不能使用VB中的保留字。 VB不区分变量名中字母的大小写。 为增加程序的可读性,变量名最好取有意义的 名称,建议前面加上类型缩写。(p23)
C语言第02章 数据类型、运算符与表达式

回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
‘a’是字符常量,“a”是字符串常量, 二者不同。
如:假设c被指定为字符变量 :char c;
c=‘a’; c=“a”;c=“CHINA”;
结论:不能把一个字符串常量赋给一个字 符变量。
▪C规定:在每一个字符串常量的结尾加一个 “字 符串结束标志”,以便系统据此判断字符串是否结 束。C规定以字符’\0’作为字符串结束标志。
1、整型变量
在使用之前必须对它们进行说明:即定义 所使用的变量的类型。
C规定在程序中所有用到的变量都必须在程 序中定义,即“强制类型定义”。
例如: int a,b;(指定变量a、b为整型) unsigned short c,d;(指定变量c、
d为无符号短整型) long e,f;(指定变量e、f为长整型)
注意:括号表示其中的内容是可选的。
▪ 整数类型的有关数
基本型
int
2字节 -32768~32767
短整型
short
2字节 -215~(215-1)
长整型
long
4字节 -231~(231-1)
无符号整型 unsigned
2字节 0~(216-1)
无符号短整型 unsigned short 2字节 0~65535
1e3、1.8e-3、-123e-6、-.1e-3 e3、2.1e3.5、.e3、e
2.3.2 分类及说明符号
浮点型分为单精度(float型)、双精度 (double型)和长双精度型(long double) 三类形式。
类型
位数
float
32
double
64
long double 128
数的范围
3、字符常量 (1)用单引号包含的一个字符是字符型常量。 (2)只能包含一个字符。
‘a’, ‘ A’, ‘1’
‘abc’、“a”
4、字符串常量
▪ 字符串常量是一对双撇号括起来的字符序 列。 ▪ 合法的字符串常量:
“How do you do.”, “CHINA”, “a”,“$123.45”
▪ 可以输出一个字符串,如 printf(“How do you do.”);
2、实型变量 例:float a,b;
double c,d;
3、字符型变量
例:char c1,c2;
注:
▪字符型变量只能接受一个字符,而不能接 受字符串。
例:c1=“string”;
▪一个字符变量在内存中占一个字节。
4、变量的初始化
变量的初始化:就是如何给变量赋初值。
(1)C语言允许在定义变量的同时使变量初始化。
有效数字
-3.4×10-38~3.4×1038
6~7
-1.7×10-308~1.7×10308 15~16
-1.2×10-4932~1.2×104932 18~19
2.4 字符型数据
占用一个字节,采用ASCII编码 说明符号:char
2.5 常量与变量
注意:
▪ 编译系统将大写字母和小写字母认为是两 个不同的字符。
第二章
主要内容
2.1 C语言的数据类型 2.2 整型数据 2.3 实型数据 2.4 字符型数据 2.5 常量与变量
本章要点
C的三种基本的数据类型 常量与变量
2.1 C的数据类型
C语言提供了以下一些数据类型。
数据类型
基本类型
构造类型 指针类型
整型 int
字符型 char 单精度实型
实型(浮点型)
注:
1、关键字:不允许作为用户标识符使用。
2、预定义标识符:库函数的名字和预编译 处理命令。
3、用户标识符:由英文字母、数字、下划 线组成;且第一个字符不能 是数字,必须是字母或下划 线。
2.5.1 变量
变量:程序在运行过程中其值能随之而改变的 量。
分类:整型变量、实型变量、字符型变量、指 针类型变量
float
数组类型
双精度实型
double
结构体类型 struct
共用体类型 union
枚举类型 enum
空类型(无值类型) void
2.2 整型数据
整型数据:只有整数部分,没有小数部分。 2.2.1 数制:
①十进制整数:12,3,-5,8 ②八进制整数:以0开头,后面以0~7八个 数字组成:0123,0532 ③十六进制整数:以0X开头,后面由0~9, A~F组成:0X123,0X2AF
2.2.2 分类及说明符号:
共六种
有符号基本整型 (signed) int 有符号短整型 (signed) short (int) 有符号长整型 (signed) long (int) 无符号基本整型 unsigned int 无符号短整型 unsigned short (int) 无符号长整型 unsigned long (int)
▪ 建议变量名的长度最好不要超过8个字符。
▪ 在选择变量名和其它标识符时,应注意做 到“见名知意”,即选有含意的英文单词 (或其缩写)作标识符。
▪ 要求对所有用到的变量作强制定义,也就 是“先定义,后使用” 。
标识符:用来标识变量名、符号常量名、函 数名、数组名、类型名、文件名的 有效字符序列称为~。
注意:初始化不是在编译阶段完成的而是在 程序运行时执行本函数时赋初值的,相当于 有一个赋值语句。
2.5.2 常量
常量:就是程序在运行过程中其值永远不变 的量。
分类:整型常量、实型常量、字符型常量、 字符串常量、转义字符、符号常量。
1、整型常量 (1)十进制常量:123,-1,0 (2)八进制常量:0123 (3)十六进制常量:0X123 2、实型常量 (1)小数形式:12.34,-12.34 (2)指数形式:1.234e-5
如: int a;
int a=5;
float b;
float b=3.14;
char c;
char c=‘A’;
a=5;b=3.14;c=‘A’;
(2)可以使被定义的变量的一部分赋初值。
如: int a,b,c;
c=7;
int a,b,c=7;
(3)如果对几个变量赋以同一个初值, 应写成:int a=3,b=3,c=3; 表示a、b、c的初值都是3。 不能写成: int a=b=c=3;
无符号长整型 unsigned long 4字节 0~(232-1)
例如:整数13在内存中实际存放的情况:
2.3 浮点型数据(又称实型)
2.3.1 浮点型数据的表示方法
①日常记数法:即十进制表示法。 例:3.14,9.8
②科学记数法:即指数表示法。 例:3.14e5,-3.14E-5
注意:字母e(或E)的前后必须有数字,且e后面的指数 必须为整数: