第二章 基本数据类型和运算符
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
量。虽然它们也是合法的标识符,但是用它们来
做一般标识符就可能会出问题。
2013-8-9
程序设计基础教程(C语言)
10
试判断下列标识符正确与否:
abcd A? Abcd 2abc _Abcd a b _2a3 yes/no πr
2013-8-9 程序设计基础教程(C语言) 11
(6) 关键字:又称保留字,指具有特定含义、专门用作系
变量名的启用不要与系统的关键字相同,也不要与 C语言标准函数库中的函数名相同 。
2013-8-9 程序设计基础教程(C语言) 24
C语言要求,程序里使用的每个变量都必须
“先定义,后使用”
不同类型的变量应分开定义。 在同一程序的同一部分,不允许对同一变 量做重复定义,也就是说,不允许有同名 的变量。
a
12
(注意区分变量名和变量值:存储单元地址与 存储单元内容)
2013-8-9
程序设计基础教程(C语言)
23
2.1.3 变量
[<存储类型>]
例: int a, b, c; char cc; double x, y;
<数据类型>
变量名[=初值]
/*说明a, b , c为整型变量*/ /*说明cc为字符变量*/ /*说明x ,y为双精度实型变量*/
2013-8-9
程序设计基础教程(C语言)
26
3、左值和右值: 左值(lvalue):在C语言中表示位于赋值运算符左 边的值,左值通常指可以定位的值,即有地址的值, 可以用来存储其它的值 。 右值 (rvalue) : 在C语言中表示位于赋值运算符右 边的值。
例: int i=5;
…… 地址 A012H (左值) 5 …… 数据内容 (右值) 变量i
程序设计基础教程(C语言) 29
2013-8-9
⑴ 照原样输出的部分, 如: printf(“\“Visual C++ 6.0\””);
在显示器上输出
“Visual C++ 6.0”
要原样输出双引号”、单引号‘和反斜杠\都必须 在其前面加上一个反斜杠,要原样输出%则必须用两 个%。
2013-8-9
2013-8-9
程序设计基础教程(C语言)
8
(4) 标识符 用于标识变量名、符号常量名、数组名、函数名、 类型名、文件名的有效字符序列。 标识符的组成:由字母、数字和下划线组成。必 须由字母或下划线中任一字符开头。长度为任意的。 例如,以下为合法的标识符: name NAME _a1 x1 Sum_2 以#开头 中间有空格
程序设计基础教程(C语言) 2
2013-8-9
基本数据类型
数据类型-----数据的内在表现形式,即数据 在加工计算过程中所表现出来的特征称为数 据的类型,它常简称为“类型”。
数据类型分为基本数据类型和导出类型(构
造类型/复杂的数据类型)。
2013-8-9
程序设计基础教程(C语言)
3
C基本数据类型
2013-8-9
程序设计基础教程(C语言)
13
整型常量
C语言中普通整型常量在机器中占用一个字长。
整型常量后缀
无符号整型后缀:u或U,如986u、0xfedU都是无
符号整型常量。 长整型后缀:l或L,如:02341l、9666L都是长整 型常量。 二者可以同时使用,例如:9999LU、 077777LU
2013-8-9
程序设计基础教程(C语言)
12
2.1基本数据类型 2.1.2常量
1、常量的定义:在程序运行过程中,其值保持不变的量
常量的类型:根据字面形式可将常量区分为不同的类型。
2、整型常量:
C语言表示整型常量的方法有以下三种:
十进制整数:不带任何修饰。如123、-456、0等; 八进制整数:以数字0开头。如0123、-011等; 十六进制整数:以数字0x开头。如0x123、0x2ef;
程序设计基础教程(C语言) 19
5、字符串常量 C语言中用双引号将一串字符括起来称为 字符串常量。 如 “asee”、 “011”、“We are studying C”等。 字符串常量可以看作是一个数组,这个数 组的每个元素是一个字符。 编译程序在编译源程序时自动在每个字符 串末尾放空字符‘\0‟,作为字符串结束标记。
2013-8-9
程序设计基础教程(C语言)
7
二、词法约定
C语言中单词形式:注释符、运算符、标点符、关键字和标识符。 (1)注释符 以“/*”开头、“*/”结束;或者用“//”注释当前行 (2)运算符 C语言中含有相当丰富的运算符。运算符与变量、函数一 起组成表达式,表示各种运算功能。运算符由一个或多个字符 组成。 (3)标点符 C语言中的标点符共有13个,即: [ ] ( ) { } * , : = ; . #
2013-8-9
程序设计基础教程(C语言)
25
2、变量的初始化: 在定义变量同时可以对变量赋予初值。 例如: int i1=3, i2=4; float f1, f2=3.5;
还可以在定义后赋初值。 例如: int i1,i2; /* 定义整型变量i1和i2 */ i1=3; i2=4; /* 为i1赋初值为3,i2赋初值为4 */
2013-8-9
程序设计基础教程(C语言)
6
图形符号:29个图形(可见)符号, 即
! “ # % & „ ( ) * + , . / ; : < = > ? [ \ ] ^ { | } ~ 主要用作各种运算符。
转义字符:程序中有时需要用到某些不可见或难 以打印的字符,C语言中采用转义字符来表示,如: “\n”表示一个换行符;字符’\‟被称为转移符, 表示其后的字符n具有特定的含义。
2013-8-9
程序设计基础教程(C语言)
17
字符常量 转义字符常量(也称控制字符常量) 用‘\‟开头的特殊形式的字符常量,用以产 生一个动作。 如:‘\n‟、 ‘\r‟、’\t‟、’\v‟、’\\‟、’\123‟等。 请同学们理解并记忆常用的转义字符,学 会其使用方法。
2013-8-9
程序设计基础教程(C语言)
程序设计基础教程(C语言)
30
(2) 转换控制部分
以%开头用转换字符(英文小写字母)结束的部分, 称之为“转换说明符”。其格式为: “% W.N [修饰符l或L] 转换字符”
例:printf(“%d”,100);
转换字符:又称“转换说明符”,常用的转换说明符 及其含义如表2.10所示。
2013-8-9
统的特定成分的一类标识符。 标准C语言中共有32个关键字,按用途分为4类: 数据类型:如char int等 存储类:如auto等 流程控制:如if switch等 运算符:sizeof 注意:关键字不能用作一般标识符,即不允许用作 变量名或函数名等。C语言的关键字都是小写的。例 如else是关键字,但ELSE就不是关键字。
程序设计基础教程(C语言)
31
例如:输出整型变量i和j,使用printf( )函数。
为增强可读性,可插入说明信息“i=”和“j=”。写成:
printf(“ i=%d, j=%d", i , j);
例:#define PRICE 30
在程序任何用到PRICE符号常量的地方,系统将 自动用常量30代替。 3)使用要点: 为区分符号常量与变量的不同,通常符号常量用
大写字母表示(但不是必须)。
2013-8-9 程序设计基础教程(C语言) 22
2.1.3 变量
1、变量的含义: 在程序执行过程中,其值可以被改变的量。 变量的构成:变量名、变量值。
9
以下不是合法的标识符: 12a 以数字开头 #we num$1 包含$字符 sum 1
2013-8-9 程序设计基础教程(C语言)
(5) 保留标识符
保留标识符是系统保留的一部分标识符,通
常用于系统定义和标准库函数的名字。
例如,以下划线开始的标识符通常用于定义
系统变量。不应该把这些标识符来定义自己的变
程序设计基础教程(C语言)
第二章 基本数据类型 和运算符
本章重点
1. 2. 3.
4. 5.
6. 7. 8.
9.
掌握C的几种基本数据类型。 掌握标识符的概念,熟悉变量和符号常量先定义后使用特点。 熟练掌握整型、长整型、短整型、无符号整型数据的定义与 存储特点。 熟练掌握单精度、双精度浮点数的定义与存储特点。 熟练掌握字符型数据的的定义与存储特点,并熟悉整型数据 与字符型数据间的关系。 掌握定义变量的同时,赋初值的方法。 掌握不同类型数据间的混合运算规则。 掌握不同运算符(算术、关系、逻辑运算符等)的使用特点、 清楚每种运算符的优先级与结合性. 掌握各种表达式的含义与使用要点。
2013-8-9
程序设计基础教程(C语言)
27
3、左值和右值:
① x = 5;
② 5 = x;
C中有些运算符仅仅需要操作数需要右值,例如 “+”的两侧、赋值运算符的右边; 有些运算符仅仅需要左值,例如赋值运算符“=”的 左边; 有些运算符需要操作数同时有右值与左值的角色, 例如++或--。
2013-8-9 程序设计基础教程(C语言) 28
2013-8-9 程序设计基础教程(C语言) 20
要点:请区别”A”与’A‟的不同。 因为它们各自在内存中存放的长度不同。 “A” „A‟
A \0 A
ASCII码为0的字符
2013-8-9
程序设计基础教程(C语言)
21
6、符号常量
1)含义:用一个标识符表示的常量。
2)定义方法:#define 符号常量 数值
数据类型的长度通常都是采用所占用的内 存空间字节数来表示。
2013-8-9
程序设计基础教程(C语言)
5
关ቤተ መጻሕፍቲ ባይዱ字、标识符和保留标识符
一、字符集 C语言中可用到的字符集有: 数字:0、1、…………、9。 字母:大、小写英文字母,注意C程序中严格区分 大小写字母,如 A和a是不同的字符。 空白符:空格符、制表符、换行符和换页符统称为 空白符。它们主要用于分隔单词,一般无其它特殊 意义。
程序设计基础教程(C语言)
16
4、字符常量:
C语言规定以单引号‘’包围的单个字符为字符常量。
如:‘A’、‘a’、‘2’ 、’!‟等。 注意:
请区别‘A’和‘a’的不同; ‘
’中的字符引用的是该字符的ASCII码值。
字符常量的存放形式与整数的存放形式相类似,故C 中的字符数据与整型数据之间具有相通性。
短整型
整型 (int)
数值型
长整型 无符号整型
无符号长整型 无符号短整型
单精度浮点型(float) 浮点型 基本数据类型 长双精度浮点型 无符号字符型 字符型 (char)
2013-8-9
双精度浮点型(double)
有符号字符型
程序设计基础教程(C语言) 4
数据在内存中存放,存放的格式由数据类 型决定。各种数据类型所包含的二进制位数 (bit,比特数)是不同的。
4、数据输入和输出 printf( ) 的功能:按照指定格式将需要输出的数据在标 准输出设备上输出。 它的一般格式: printf (输出控制,输出数据表列);
(1) 输出控制表示由双引号括起来的格式转换控制信息。 它分为两种形式的信息。 一种是用于说明的,计算机会原样输出的信息。 另一种是带有前置百分号(%)的格式转换说明,用户用它指 定输出数据的格式。 (2) 输出数据表列表示需要输出的一些数据。各数据之间 用逗号分隔。
18
转义字符常量
转义字符 \n \t \v \b \r 功能 换行 横向跳格 竖向跳格 退格 回车
注:横向和纵向跳格均 以8个字符为1格。
\f
\\ \‟
走纸换页
“\”字符 单引号字符
\”
\a \ddd
双引号字符
响铃 1至3位八进制数所代表的字符
\xhh
2013-8-9
1至2位十六进制数所代表的字符
2013-8-9 程序设计基础教程(C语言) 15
实型常量
浮点常量如不带后缀,如上所示,都是双精度类
型(double)。
浮点常量可带后缀f或F,如3.14f,那么其类型
为单精度浮点型(float)
浮点常量可带后缀l或L,如3.14L,那么其类型
为长双精度型(long double)
2013-8-9
2013-8-9
程序设计基础教程(C语言)
14
实型常量
3、实型常量(浮点数) 十进制数形式的浮点数:由数字和小数点组成。 如:123.456、0.123、123.0、0.0、123.等。 指数形式的浮点数:用字母e表示十进制指数中 的10。 如:123e3(表示123*103)、6.E5、.123e+4都 是合法的浮点常量。 注意:e字母前必须有数字,且e后的指数必须为整 型。 如:e3、2.1e3.5、.e3为不合法。
做一般标识符就可能会出问题。
2013-8-9
程序设计基础教程(C语言)
10
试判断下列标识符正确与否:
abcd A? Abcd 2abc _Abcd a b _2a3 yes/no πr
2013-8-9 程序设计基础教程(C语言) 11
(6) 关键字:又称保留字,指具有特定含义、专门用作系
变量名的启用不要与系统的关键字相同,也不要与 C语言标准函数库中的函数名相同 。
2013-8-9 程序设计基础教程(C语言) 24
C语言要求,程序里使用的每个变量都必须
“先定义,后使用”
不同类型的变量应分开定义。 在同一程序的同一部分,不允许对同一变 量做重复定义,也就是说,不允许有同名 的变量。
a
12
(注意区分变量名和变量值:存储单元地址与 存储单元内容)
2013-8-9
程序设计基础教程(C语言)
23
2.1.3 变量
[<存储类型>]
例: int a, b, c; char cc; double x, y;
<数据类型>
变量名[=初值]
/*说明a, b , c为整型变量*/ /*说明cc为字符变量*/ /*说明x ,y为双精度实型变量*/
2013-8-9
程序设计基础教程(C语言)
26
3、左值和右值: 左值(lvalue):在C语言中表示位于赋值运算符左 边的值,左值通常指可以定位的值,即有地址的值, 可以用来存储其它的值 。 右值 (rvalue) : 在C语言中表示位于赋值运算符右 边的值。
例: int i=5;
…… 地址 A012H (左值) 5 …… 数据内容 (右值) 变量i
程序设计基础教程(C语言) 29
2013-8-9
⑴ 照原样输出的部分, 如: printf(“\“Visual C++ 6.0\””);
在显示器上输出
“Visual C++ 6.0”
要原样输出双引号”、单引号‘和反斜杠\都必须 在其前面加上一个反斜杠,要原样输出%则必须用两 个%。
2013-8-9
2013-8-9
程序设计基础教程(C语言)
8
(4) 标识符 用于标识变量名、符号常量名、数组名、函数名、 类型名、文件名的有效字符序列。 标识符的组成:由字母、数字和下划线组成。必 须由字母或下划线中任一字符开头。长度为任意的。 例如,以下为合法的标识符: name NAME _a1 x1 Sum_2 以#开头 中间有空格
程序设计基础教程(C语言) 2
2013-8-9
基本数据类型
数据类型-----数据的内在表现形式,即数据 在加工计算过程中所表现出来的特征称为数 据的类型,它常简称为“类型”。
数据类型分为基本数据类型和导出类型(构
造类型/复杂的数据类型)。
2013-8-9
程序设计基础教程(C语言)
3
C基本数据类型
2013-8-9
程序设计基础教程(C语言)
13
整型常量
C语言中普通整型常量在机器中占用一个字长。
整型常量后缀
无符号整型后缀:u或U,如986u、0xfedU都是无
符号整型常量。 长整型后缀:l或L,如:02341l、9666L都是长整 型常量。 二者可以同时使用,例如:9999LU、 077777LU
2013-8-9
程序设计基础教程(C语言)
12
2.1基本数据类型 2.1.2常量
1、常量的定义:在程序运行过程中,其值保持不变的量
常量的类型:根据字面形式可将常量区分为不同的类型。
2、整型常量:
C语言表示整型常量的方法有以下三种:
十进制整数:不带任何修饰。如123、-456、0等; 八进制整数:以数字0开头。如0123、-011等; 十六进制整数:以数字0x开头。如0x123、0x2ef;
程序设计基础教程(C语言) 19
5、字符串常量 C语言中用双引号将一串字符括起来称为 字符串常量。 如 “asee”、 “011”、“We are studying C”等。 字符串常量可以看作是一个数组,这个数 组的每个元素是一个字符。 编译程序在编译源程序时自动在每个字符 串末尾放空字符‘\0‟,作为字符串结束标记。
2013-8-9
程序设计基础教程(C语言)
7
二、词法约定
C语言中单词形式:注释符、运算符、标点符、关键字和标识符。 (1)注释符 以“/*”开头、“*/”结束;或者用“//”注释当前行 (2)运算符 C语言中含有相当丰富的运算符。运算符与变量、函数一 起组成表达式,表示各种运算功能。运算符由一个或多个字符 组成。 (3)标点符 C语言中的标点符共有13个,即: [ ] ( ) { } * , : = ; . #
2013-8-9
程序设计基础教程(C语言)
25
2、变量的初始化: 在定义变量同时可以对变量赋予初值。 例如: int i1=3, i2=4; float f1, f2=3.5;
还可以在定义后赋初值。 例如: int i1,i2; /* 定义整型变量i1和i2 */ i1=3; i2=4; /* 为i1赋初值为3,i2赋初值为4 */
2013-8-9
程序设计基础教程(C语言)
6
图形符号:29个图形(可见)符号, 即
! “ # % & „ ( ) * + , . / ; : < = > ? [ \ ] ^ { | } ~ 主要用作各种运算符。
转义字符:程序中有时需要用到某些不可见或难 以打印的字符,C语言中采用转义字符来表示,如: “\n”表示一个换行符;字符’\‟被称为转移符, 表示其后的字符n具有特定的含义。
2013-8-9
程序设计基础教程(C语言)
17
字符常量 转义字符常量(也称控制字符常量) 用‘\‟开头的特殊形式的字符常量,用以产 生一个动作。 如:‘\n‟、 ‘\r‟、’\t‟、’\v‟、’\\‟、’\123‟等。 请同学们理解并记忆常用的转义字符,学 会其使用方法。
2013-8-9
程序设计基础教程(C语言)
程序设计基础教程(C语言)
30
(2) 转换控制部分
以%开头用转换字符(英文小写字母)结束的部分, 称之为“转换说明符”。其格式为: “% W.N [修饰符l或L] 转换字符”
例:printf(“%d”,100);
转换字符:又称“转换说明符”,常用的转换说明符 及其含义如表2.10所示。
2013-8-9
统的特定成分的一类标识符。 标准C语言中共有32个关键字,按用途分为4类: 数据类型:如char int等 存储类:如auto等 流程控制:如if switch等 运算符:sizeof 注意:关键字不能用作一般标识符,即不允许用作 变量名或函数名等。C语言的关键字都是小写的。例 如else是关键字,但ELSE就不是关键字。
程序设计基础教程(C语言)
31
例如:输出整型变量i和j,使用printf( )函数。
为增强可读性,可插入说明信息“i=”和“j=”。写成:
printf(“ i=%d, j=%d", i , j);
例:#define PRICE 30
在程序任何用到PRICE符号常量的地方,系统将 自动用常量30代替。 3)使用要点: 为区分符号常量与变量的不同,通常符号常量用
大写字母表示(但不是必须)。
2013-8-9 程序设计基础教程(C语言) 22
2.1.3 变量
1、变量的含义: 在程序执行过程中,其值可以被改变的量。 变量的构成:变量名、变量值。
9
以下不是合法的标识符: 12a 以数字开头 #we num$1 包含$字符 sum 1
2013-8-9 程序设计基础教程(C语言)
(5) 保留标识符
保留标识符是系统保留的一部分标识符,通
常用于系统定义和标准库函数的名字。
例如,以下划线开始的标识符通常用于定义
系统变量。不应该把这些标识符来定义自己的变
程序设计基础教程(C语言)
第二章 基本数据类型 和运算符
本章重点
1. 2. 3.
4. 5.
6. 7. 8.
9.
掌握C的几种基本数据类型。 掌握标识符的概念,熟悉变量和符号常量先定义后使用特点。 熟练掌握整型、长整型、短整型、无符号整型数据的定义与 存储特点。 熟练掌握单精度、双精度浮点数的定义与存储特点。 熟练掌握字符型数据的的定义与存储特点,并熟悉整型数据 与字符型数据间的关系。 掌握定义变量的同时,赋初值的方法。 掌握不同类型数据间的混合运算规则。 掌握不同运算符(算术、关系、逻辑运算符等)的使用特点、 清楚每种运算符的优先级与结合性. 掌握各种表达式的含义与使用要点。
2013-8-9
程序设计基础教程(C语言)
27
3、左值和右值:
① x = 5;
② 5 = x;
C中有些运算符仅仅需要操作数需要右值,例如 “+”的两侧、赋值运算符的右边; 有些运算符仅仅需要左值,例如赋值运算符“=”的 左边; 有些运算符需要操作数同时有右值与左值的角色, 例如++或--。
2013-8-9 程序设计基础教程(C语言) 28
2013-8-9 程序设计基础教程(C语言) 20
要点:请区别”A”与’A‟的不同。 因为它们各自在内存中存放的长度不同。 “A” „A‟
A \0 A
ASCII码为0的字符
2013-8-9
程序设计基础教程(C语言)
21
6、符号常量
1)含义:用一个标识符表示的常量。
2)定义方法:#define 符号常量 数值
数据类型的长度通常都是采用所占用的内 存空间字节数来表示。
2013-8-9
程序设计基础教程(C语言)
5
关ቤተ መጻሕፍቲ ባይዱ字、标识符和保留标识符
一、字符集 C语言中可用到的字符集有: 数字:0、1、…………、9。 字母:大、小写英文字母,注意C程序中严格区分 大小写字母,如 A和a是不同的字符。 空白符:空格符、制表符、换行符和换页符统称为 空白符。它们主要用于分隔单词,一般无其它特殊 意义。
程序设计基础教程(C语言)
16
4、字符常量:
C语言规定以单引号‘’包围的单个字符为字符常量。
如:‘A’、‘a’、‘2’ 、’!‟等。 注意:
请区别‘A’和‘a’的不同; ‘
’中的字符引用的是该字符的ASCII码值。
字符常量的存放形式与整数的存放形式相类似,故C 中的字符数据与整型数据之间具有相通性。
短整型
整型 (int)
数值型
长整型 无符号整型
无符号长整型 无符号短整型
单精度浮点型(float) 浮点型 基本数据类型 长双精度浮点型 无符号字符型 字符型 (char)
2013-8-9
双精度浮点型(double)
有符号字符型
程序设计基础教程(C语言) 4
数据在内存中存放,存放的格式由数据类 型决定。各种数据类型所包含的二进制位数 (bit,比特数)是不同的。
4、数据输入和输出 printf( ) 的功能:按照指定格式将需要输出的数据在标 准输出设备上输出。 它的一般格式: printf (输出控制,输出数据表列);
(1) 输出控制表示由双引号括起来的格式转换控制信息。 它分为两种形式的信息。 一种是用于说明的,计算机会原样输出的信息。 另一种是带有前置百分号(%)的格式转换说明,用户用它指 定输出数据的格式。 (2) 输出数据表列表示需要输出的一些数据。各数据之间 用逗号分隔。
18
转义字符常量
转义字符 \n \t \v \b \r 功能 换行 横向跳格 竖向跳格 退格 回车
注:横向和纵向跳格均 以8个字符为1格。
\f
\\ \‟
走纸换页
“\”字符 单引号字符
\”
\a \ddd
双引号字符
响铃 1至3位八进制数所代表的字符
\xhh
2013-8-9
1至2位十六进制数所代表的字符
2013-8-9 程序设计基础教程(C语言) 15
实型常量
浮点常量如不带后缀,如上所示,都是双精度类
型(double)。
浮点常量可带后缀f或F,如3.14f,那么其类型
为单精度浮点型(float)
浮点常量可带后缀l或L,如3.14L,那么其类型
为长双精度型(long double)
2013-8-9
2013-8-9
程序设计基础教程(C语言)
14
实型常量
3、实型常量(浮点数) 十进制数形式的浮点数:由数字和小数点组成。 如:123.456、0.123、123.0、0.0、123.等。 指数形式的浮点数:用字母e表示十进制指数中 的10。 如:123e3(表示123*103)、6.E5、.123e+4都 是合法的浮点常量。 注意:e字母前必须有数字,且e后的指数必须为整 型。 如:e3、2.1e3.5、.e3为不合法。