C课件2数据类型与表达式
合集下载
C语言教程课件第二章 数据类型、运算符和表达式

例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算
C第二章语言编程基础 基本数据类型 运算符表达式PPT课件

特点 从后面快速的插入与删除,直接访问任何元素
双端队列deque
从前面或后面快速的插入与删除,直接访问任何元素
双向链表list 关联容器 集合set
双链表,从任何地方快速插入与删除 快速查找,不允许重复值
多重集合multiset
快速查找,允许重复值
键-值map
一对一映射,基于关键字快速查找,不允许重复值
例: int *p; int (*p)(int x); int **p; int A:: *pc = &A::c int (A:: *pfun)(int) = &A::fun
➢ 数组指针:一个指针,指向一个数组的最开始的元素
例: int (*p)[n]
➢ 指针数组:一个数组,数组里面装的是一组指针
例: int *p[n]
3
1.基本字符、标识符、关键字
1.1基本字符
数字字符、大小写英文字母、其他一些可显示的字符(如各种 标点符号、运算符号、括号等)和一些特殊字符(如空格符 、换行符、制表符等)。
1.2 标识符
字母、数字字符和下划线组成
不能有空白字符,第一个字符必须是字母或下划线。
非法:+= 3set a[32]
说明 字符型 有符号字符型 无符号字符型 短整型 有符号短整型 无符号短整型 整型 有符号整型 无符号整型 长整型 有符号长整型 无符号长整型 单精度浮点型 双精度浮点型 长双精度浮点型
字宽
范围
1
-128~127
1
-128~127
1
0~255
2
-32768~32767
2
-32768~32767
2
0~65535
没有参数的函数其形参表由void表示,void类型
C语言完整 ppt课件

1.4.1 宏定义
用一个标识符来表示一个字符串,称为“宏”,标识符称为“宏名”。在 程序中 用宏名替代字符串称为“宏调用”。在编译预处理时,将对程序中所有出现的 “宏 名”,都用宏定义中的字符串代换,这个过程称为“宏展开”。
1.4.1.1 不带参数的宏定义
格式为:#define 标识符 字符串
1.4.1.2 带参数的宏定义
1-4
1.3 C程序上机步骤
C源程序编好后,要经过编辑、编译、连接, 生成可执行文件后,才可运行。
运行集成开发软件
编辑源程序
编译
有 有错? 无 连接
不正确
运行
结果正确? 正确
结束
1-5
1.4 编译预处理
编译预处理是指,在C编译程序对C源程序进行编译之前,由编译预处理程 序对源程序中的预处理命令进行处理的过程。
1.2.1 C语言程序举例
1.2.2 C语言程序的结构
1.2.2.1 函数是C语言程序的基本单位。
1.2.2.2 函数的一般结构
任何函数(包括main()函数)都是由函数首部和函数体两部分组成。
1. 函数首部: 函数首部即函数第一行,由函数类型、函数名和函数参数表三部分组成。
2. 函数体: 函数体为函数首部下面的花括号{……}内的部分。 函数体一般由声明部分和执行部分构成:声明部分定义所用到的变量,声明所调用的函数等; 执行部分有若干语句组成。
2.6.1 运算符及表达式简介 2.6.1.1 运算符
C语言中的运算符具有2个特点: ⑴ 运算符的优先级 C语言中,运算符的优先级共分为15级,1级最高,15级最低。 ⑵ 运算符的结合性 C语言中各运算符的结合性分为左结合性(从左到右)和右结合性(从右到左)。 2.6.1.2 表达式 表达式是由常量、变量、函数和运算符组成的式子。 表达式求值是按运算符的优先级和结合性规定的顺序进行的。
用一个标识符来表示一个字符串,称为“宏”,标识符称为“宏名”。在 程序中 用宏名替代字符串称为“宏调用”。在编译预处理时,将对程序中所有出现的 “宏 名”,都用宏定义中的字符串代换,这个过程称为“宏展开”。
1.4.1.1 不带参数的宏定义
格式为:#define 标识符 字符串
1.4.1.2 带参数的宏定义
1-4
1.3 C程序上机步骤
C源程序编好后,要经过编辑、编译、连接, 生成可执行文件后,才可运行。
运行集成开发软件
编辑源程序
编译
有 有错? 无 连接
不正确
运行
结果正确? 正确
结束
1-5
1.4 编译预处理
编译预处理是指,在C编译程序对C源程序进行编译之前,由编译预处理程 序对源程序中的预处理命令进行处理的过程。
1.2.1 C语言程序举例
1.2.2 C语言程序的结构
1.2.2.1 函数是C语言程序的基本单位。
1.2.2.2 函数的一般结构
任何函数(包括main()函数)都是由函数首部和函数体两部分组成。
1. 函数首部: 函数首部即函数第一行,由函数类型、函数名和函数参数表三部分组成。
2. 函数体: 函数体为函数首部下面的花括号{……}内的部分。 函数体一般由声明部分和执行部分构成:声明部分定义所用到的变量,声明所调用的函数等; 执行部分有若干语句组成。
2.6.1 运算符及表达式简介 2.6.1.1 运算符
C语言中的运算符具有2个特点: ⑴ 运算符的优先级 C语言中,运算符的优先级共分为15级,1级最高,15级最低。 ⑵ 运算符的结合性 C语言中各运算符的结合性分为左结合性(从左到右)和右结合性(从右到左)。 2.6.1.2 表达式 表达式是由常量、变量、函数和运算符组成的式子。 表达式求值是按运算符的优先级和结合性规定的顺序进行的。
2 C语言 第二章数据类型、表达式

说明
在整型常量尾部加上字母1或 时 在整型常量尾部加上字母 或L时,则 表示长整型常量.比如: 表示长整型常量.比如:18L或18l 或 整型(int)常量的值在 32768~32767之间 常量的值在 整型 之间 长整型(long int)常量的值在 长整型 常量的值在 2147483648 ~ 2147483647之间 之间
三位八进制 001 000 001 二进制 ( (用十进制表示为65) 65)
A' 如 \ 101 –– 表示字符'A' 又: \ x hh
用1到2位16进制数表示的 到 位 进制数表示的 进制数表示的ASCII码对应的字符 码对应的字符
如 \ x 41–– 表示字符'A'
0100 0001 二进制 (用十进制表示为65)
注意: 注意: 实型变量的有效数字的长度视机器而定 例如: 例如: pc机, 单精度一般为7位, 双精度15位 于是: float a; a=123456.789 则实际赋值a←123456.7 单精度表数范围: 单精度表数范围 10–38~1038 双精度表数范围: 双精度表数范围 10–308~10308 实数可以赋给float或double型变量.
对于较大或较小的数,可用指数形式 0.0000126 1260000 1.26E –5 1.26E+6 或1.26E6
' E ', 'e ' 均可, 表示以10为基数.E或e之前必须要 有数字,称为尾数部分或数码部分.规范化的尾数是将 小数点固定在第一位有效数字之后.ddd称为指数,指数 最多可达3位整数.
2.4.2 实型变量
分为单精度型 双精度型 单精度型与双精度型 单精度型 双精度型. 例如: 例如: float x, y, z ; 定义x, y, z为单精度变量. double a, b, c ; 定义a, b, c为双精度变量. 一般地: 单精度占4字节内存单元 字节内存单元; 一般地 单精度占 字节内存单元 双精度占8字节内存单元 双精度占 字节内存单元. 字节内存单元
C语言数据类型ppt课件

21
2.2 常量与变量
(3)整型数据在内存中的存放形式
int x; x=10; 则变量x的值10在内存中的存放形式:
int x;
x=-10; 则变量x的值10在内存中的存放形式:
22
2.2 常量与变量
(4)整型数据的溢出
例2-2 整型数据的溢出问题
#include <stdio.h>
int main()
\r
<
\a
\‘
回车 响铃 单引号
\ddd 3位8进制数代表的字符
转义字符 \t \b \f \\ \“ \xhh
含义 水平制表 退格 换页 反斜线 双引号 2位16进制数代表的字符
12
2.2 常量与变量
如 ‘\101’ -----------‘A’ ‘\012’ -----------’\n’ ‘\376’ -----------’’ ‘\x61’ -----------’a’ ‘\060’ -----------’0’
unsigned short。 ⅲ. 无符号长整型:类型说明符为
unsigned long。
20
2.2 常量与变量
(2)整型变量的定义与使用
例2-1 整型变量的使用
#include <stdio.h> int main() {
int x,y,z; x=10;y=20; z=x+y; printf(“x+y=%d\n”,z); return 0; } 输出结果:x+y=30
说明:数据类型所占字节数随机器硬件不同而不同, 上表以IBM PC机为例。
4
2.2 常量与变量
• 数据是程序的处理对象 • C语言将数据分为常量与变量
2.2 常量与变量
(3)整型数据在内存中的存放形式
int x; x=10; 则变量x的值10在内存中的存放形式:
int x;
x=-10; 则变量x的值10在内存中的存放形式:
22
2.2 常量与变量
(4)整型数据的溢出
例2-2 整型数据的溢出问题
#include <stdio.h>
int main()
\r
<
\a
\‘
回车 响铃 单引号
\ddd 3位8进制数代表的字符
转义字符 \t \b \f \\ \“ \xhh
含义 水平制表 退格 换页 反斜线 双引号 2位16进制数代表的字符
12
2.2 常量与变量
如 ‘\101’ -----------‘A’ ‘\012’ -----------’\n’ ‘\376’ -----------’’ ‘\x61’ -----------’a’ ‘\060’ -----------’0’
unsigned short。 ⅲ. 无符号长整型:类型说明符为
unsigned long。
20
2.2 常量与变量
(2)整型变量的定义与使用
例2-1 整型变量的使用
#include <stdio.h> int main() {
int x,y,z; x=10;y=20; z=x+y; printf(“x+y=%d\n”,z); return 0; } 输出结果:x+y=30
说明:数据类型所占字节数随机器硬件不同而不同, 上表以IBM PC机为例。
4
2.2 常量与变量
• 数据是程序的处理对象 • C语言将数据分为常量与变量
C语言--ch2--数据类型和表达式

2.3 运算符和表达式
3.算术表达式 1)用算术运算符和括号的式子,称为算术 表达式.例如: a*b/c-1.5+'a' 1+3-4*5-a*a+b*b 2)算术表达式的值: 任何表达式都有值 3*4-5/2*2%3 11
2.3 运算符
4, 注意: 1)C语言算术表达式的乘号(*)不能省略.例如: 数学式b2-4ac,相应的C表达式应该写成: b*b-4*a*c 2)C语言表达式中只能出现已经定义的标识符. 例如,数学πr2相应的C表达式应该写成: # define PI 3.14 int r; PI*r*r (或者 3.14*r*r) 3)C语言可以使用多层圆括号,此时左右括号必 须配对,运算时从内层括号开始,由内向外依 次计算表达式的值 .例如: (((3+4)*5)-9)*2-5
2.3 运算符和表达式
5,运算符的优先级与结合性 1)优先级见教科书 2)在表达式求值时,先按运算符的"优 先级别"高低次序执行 ,例如: a-b*c 等价于 a-(b*c), 3)结合性:左结合,即如果在一个运算 对象两侧的运算符的优先级别相同时,先 与左面的运算符结合,例如: a-b+c等价于(a-b)+c
2.2 常量和变量
4, 变量的作用:保存数据. 保存数据. 保存数据 例:求圆柱体的底面积,表面积,体积 5,变量在任意一个时刻都只能保存一个值. 例:int i; i=12;/*变量i的值这时为12*/ i=i+3;/*i=12+3, i的值这时为15*/ i=4;/* i的值这时为4*/
2.2 常量和变量
课堂练习:判断以下常量是否合法? 课堂练习:判断以下常量是否合法?
12e3; e3; 12.3e; 0.45E1.2
C语言第02章 数据类型、运算符与表达式ppt课件

1、整型、实型、字符型数据之间可以混合运 算
整型〔包括int,short,long〕和实型〔包括float,double〕数 据可以混合运算,另外字符型数据和整型数据可以通用,因此, 整型、实型、字符型数据之间可以混合运算。
例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
回到
回到
2.2常量与变量
首页
2.2、变量的定义 〔1〕变量是先定义,后使用。
定义一个变量需要提供两方面的信息:变量的名字和 类型
〔2〕定义格式 类型说明符 变量1, 变量2,…;
如 int number;
回到
2.3整 型 数 据
首页
1、整型常量的表示方法 〔1〕 十进制整常数。没有前缀 〔2〕 八进制整常数。以0作为前缀。 〔3〕 十六进制整常数。十六进制整常数的前 缀为0X或0x。
实型变量提供的有效数字是有限的
一个很大的数+一个很小的数,没有意义
回到
2.4实 型 数
首页
2、实型变量
【例2.8】 显示个人微机上不同类型变量所占的字节数
回到
2.5字符型数据
首页
1、字符常量 〔1〕定义 字符常量是用单引号〔' '〕括起来的一个字符。 例如,'a'、'='、'?'都是合法的字符常量。 〔2〕字符常量特点
回到
作业和实验习题
首页
作业:P41 2.3 2.4 2.7 2.9 2.11〔做在书 上〕 2.12
实验:
P20 例2.2 2.3
P23 例2.4
P24 例2.5
P27 例2.7
整型〔包括int,short,long〕和实型〔包括float,double〕数 据可以混合运算,另外字符型数据和整型数据可以通用,因此, 整型、实型、字符型数据之间可以混合运算。
例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
回到
回到
2.2常量与变量
首页
2.2、变量的定义 〔1〕变量是先定义,后使用。
定义一个变量需要提供两方面的信息:变量的名字和 类型
〔2〕定义格式 类型说明符 变量1, 变量2,…;
如 int number;
回到
2.3整 型 数 据
首页
1、整型常量的表示方法 〔1〕 十进制整常数。没有前缀 〔2〕 八进制整常数。以0作为前缀。 〔3〕 十六进制整常数。十六进制整常数的前 缀为0X或0x。
实型变量提供的有效数字是有限的
一个很大的数+一个很小的数,没有意义
回到
2.4实 型 数
首页
2、实型变量
【例2.8】 显示个人微机上不同类型变量所占的字节数
回到
2.5字符型数据
首页
1、字符常量 〔1〕定义 字符常量是用单引号〔' '〕括起来的一个字符。 例如,'a'、'='、'?'都是合法的字符常量。 〔2〕字符常量特点
回到
作业和实验习题
首页
作业:P41 2.3 2.4 2.7 2.9 2.11〔做在书 上〕 2.12
实验:
P20 例2.2 2.3
P23 例2.4
P24 例2.5
P27 例2.7
2C语言的基本数据类型与表达式精品PPT课件

(2010.3)以下C语言用户标识符中,不合法
的是
D
A)_1
B)AaBc
C)a_b
D)a-b
12.以下选项中不合法的标识符是 C A)print B)FOR C)&a D)_00
(2009.3) 11.以下选项中合法的标识符是 C A)1_1 B)1-1 C)_11 D)1_ _
2.2 C语言的基本数据类型
第2章 C语言的基本数据类型 与表达式
2.1 C语言字符集、标识符与关键字
2.1.1 C语言字符集
号,具包体括归英纳文如字下母:、阿+拉伯-数字*以及/ 其他%一+些+符--
英文字母:大小写各2<6个>,共=52个>= <= == !=
阿拉伯数字:0-9,共!10个||
& &
^
~
|
&
下划线:_
<< >> () [ ] { } \ “
保留字:一些关键字,被明文规定不许挪作它用,叫
str保uct留字。switch
typedef union
void volatile unsigned while
C语言中,所有的关键字都是保留字,所以这两个词可
以混用。
课堂提问: ✓ 标识符、关键字、保留字有什么不同? ✓ 以下标识符哪些是合法的标识符? _22A,lea_1,avg3,day,ABCde43xyw8 ,M.J.YORK,$_238,#xy,a*b,8Tea
double:双精度型,近似表示更大实数,在MS DOS上,每个浮点型变量分配 64 bit 存储空间。双 精度型都是有符号的,可表示数值范围分为三段:- 10308 至 -10-308, 0, 10-308 至 10308。数值都先化成 指数,再用二进制存储。15 位有效数字。 例如:double x, y; 等。
C++第2章-基本数据类型与表达式(共67张PPT)精选全文

整数类型 实数类型 字符类型
逻辑类型
空值类型
整数类型
int 和计算机的字长有关
short int或short 2个字节
long int或long
4个字节
“short
intu”n的s范ign围ed≤in“t i或nt”的u范ns围ign≤ed“long
int”的范围
unsigned short int 或 unsigned short
#define <常量名> <值>
例如:
const double PI=3.1415926; 或,
#define PI 3.1415926
变量
在程序中,其值可以改变的量称为变量。 变量可以用来表示可变的数据。
例如:在计算圆周长的表达式2*PI*r中,半
径r就是一个可变的数据,它可能是通过用户输 入得到,也可能由程序的其它部分计算得到。
int a=0; int b=a+1; double x=0.5;
或:
int a=0,b=a+1; double x=0.5;
变量的定义与声明(续)
在C++程序中使用变量之前,必须对使用的变量进行声
明。变量定义属于一种声明,称为定义性声明。变量声明的 另一种形式为:
extern <类型名> <变量名>;变量声明
对un相sig邻n在e的d两in实个t 或操数作u符n的s,ig按ne内下d 面存规则空确定间(p3中6):存储的是尾数和指数两部分,它们均采 用二进制表示。 变量:在程序执行过程中值可变的数据,如:2*PI*r中的r。
1就无法精确地用二进制表示。 否则,如果一个操作数类型为long int,则另一个操作数转换成long int。 而字符串常量可以表示多个字符,其类型为常量字符数组。 -10/3的结果为-3
逻辑类型
空值类型
整数类型
int 和计算机的字长有关
short int或short 2个字节
long int或long
4个字节
“short
intu”n的s范ign围ed≤in“t i或nt”的u范ns围ign≤ed“long
int”的范围
unsigned short int 或 unsigned short
#define <常量名> <值>
例如:
const double PI=3.1415926; 或,
#define PI 3.1415926
变量
在程序中,其值可以改变的量称为变量。 变量可以用来表示可变的数据。
例如:在计算圆周长的表达式2*PI*r中,半
径r就是一个可变的数据,它可能是通过用户输 入得到,也可能由程序的其它部分计算得到。
int a=0; int b=a+1; double x=0.5;
或:
int a=0,b=a+1; double x=0.5;
变量的定义与声明(续)
在C++程序中使用变量之前,必须对使用的变量进行声
明。变量定义属于一种声明,称为定义性声明。变量声明的 另一种形式为:
extern <类型名> <变量名>;变量声明
对un相sig邻n在e的d两in实个t 或操数作u符n的s,ig按ne内下d 面存规则空确定间(p3中6):存储的是尾数和指数两部分,它们均采 用二进制表示。 变量:在程序执行过程中值可变的数据,如:2*PI*r中的r。
1就无法精确地用二进制表示。 否则,如果一个操作数类型为long int,则另一个操作数转换成long int。 而字符串常量可以表示多个字符,其类型为常量字符数组。 -10/3的结果为-3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长整型(long int) 字符型 (char)
单精度型 (float) 浮点型 双精度型 (double)
长双精度型 (long double) 布尔型 (bool) 空类型 (void)
数据类型 非基本类型
指针类型
枚举类型 (enum) 数组类型 type [ ] 结构体类型 (struct) 共用体类型 (union) 类类型 (class)
const double pi = 3.1415 ; cin >> r ;
数值型常量
girth = 2 * pi * r ;
整型常量
area = pi * r * r ;
浮点型(实型) cout << "radius = " << r << endl ;
常量
cout << "girth = " << girth << endl ;
type *
▲程序中的数据必定属
于某种数据类型;
▲了解各类型数据——
(1)描述方式 (2)存储格式
数据在内存中存储示意图
存储阵列
一个二进制位 ( bit )
::::
数据在内存中存储示意图
存储阵列
8位一个字节 ( byte )
::::
一个字符型数据(char)占1个字节
数据在内存中存储示意图
对16位的计算机,16位一个字 ( word )
双精度型 长双精度型
字节
2 2
4
数值范围
-32768~32767 (-215-~ 215-1) 0~65535 (0 ~ 216-1)
-2147483648~ 2147483647 (- 231 ~ 231-1)
0~4294967295
4
(0 ~ 232-1)
1
-128~ +127 (-27-~ 27-1)
1
0~ +255 (0 ~ 28-1)
4
3.4×10-38 ~ 3.4×1038
8
1.7×10-308 ~ 1.7×10308
整型数据不写 unsigned, 默认带符号signed
以2个字节的整型数为例讨论数据的取值范围
215
20
2个字节的无符号整型数的取值范围
0000000000000000
cout << "radius = " << r << endl ;
cout << "girth = " << girth << endl ;
cout << "area = " << area << endl ;
return 0;
}
C++ 可以使用的数据类型
基本类型
短整型 (short int) 整 型 整型 (int)
整型 长整型 无符号整型 无符号长整型
字节
2 2 4
4
数值范围
-215-~ 215-1 0 ~ 216-1
(- 231 ~ 231-1)
(0 ~ 232-1)
✓常量中没有unsigned型,但一个非负的整型常量可以赋给 unsigned型的变量。
✓整型常量亦有长短之分,若一个常量定义为长整型数,则在其后 加 l 或 L 进行区分。
字符型常量
cout << "area = " << area << endl ;
return 0;
}
整型常量
类型
short [int] unsigned short [int]
[signed] int long [int]
unsigned [int] unsigned long [int]
说明
短整型 无符号短整型
第二章 数据类型与表达式
C++的数据类型
常量 变量 C++的运算符 算术运算符与算术表达式 赋值运算符与赋值表达式 逗号运算符与逗号表达式
整理ppt
1
2.1 C++的数据类型
#include<iostream.h> using namespace std; int main ( ) //求园的周长和面积
存储阵列
::::
一个短整型数据(short [ int ])占2个字节
数据在内存中存储示意图
对32位的计算机,32位一个字 ( word )
存储阵列
::::
一个整型数据(int)或单精度型数据(float)占4个字节
表2.1数值型和字符型数据的长度和取值1.3.3基本类型 范围
类型
short [int] unsigned short [int]
时32768
无符号 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
时: 15
65535short
或 short int 数据的取值范围0 :
[-32768~-1] [0~32767]
对应 -32768 对应 -1
2.2 常量
常量——
–其值不能改变 –包括两大类
int main ( ) { double r, girth, area ;
程序设计 主要完成两方面工作:
{ double r, girth, area ; const double pi = 3.1415 ;
数据描述 数据处理
cout << "Please input radius:\n" ;
cin >> r ;
girth = 2 * pi * r ;
area = pi * r * r ;
将最高位作为符号位:0—正,1—负,用后15位表示数值大小 整数(0~32767):
0
0000000000000000
32767 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
负整数(-32768~ -1): 最高位均为1, 表示负整数 [-32768,-1]
无符号 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1111111111111111
215
20
(0)10
1111111111111111
=
215
10 0
0
0
0
0
0
0
0
0
00Βιβλιοθήκη 002000
-1
= 216 -1= 65536-1=65535
unsigned short 或 unsigned short int 数据
取值范围: 0~65535
2个字节的有符号整型数的取值范围
✓ 如:32l 32L 56整4理Lp等pt ,内存为其分配4个字节存储。 13
整型常量
[signed] int long [int]
unsigned [int] unsigned long [int]
signed [char] unsigned char
float
double long double
说明
短整型 无符号短整型
整型 长整型 无符号整型 无符号长整型 字符型 无符号字符型 单精度型
单精度型 (float) 浮点型 双精度型 (double)
长双精度型 (long double) 布尔型 (bool) 空类型 (void)
数据类型 非基本类型
指针类型
枚举类型 (enum) 数组类型 type [ ] 结构体类型 (struct) 共用体类型 (union) 类类型 (class)
const double pi = 3.1415 ; cin >> r ;
数值型常量
girth = 2 * pi * r ;
整型常量
area = pi * r * r ;
浮点型(实型) cout << "radius = " << r << endl ;
常量
cout << "girth = " << girth << endl ;
type *
▲程序中的数据必定属
于某种数据类型;
▲了解各类型数据——
(1)描述方式 (2)存储格式
数据在内存中存储示意图
存储阵列
一个二进制位 ( bit )
::::
数据在内存中存储示意图
存储阵列
8位一个字节 ( byte )
::::
一个字符型数据(char)占1个字节
数据在内存中存储示意图
对16位的计算机,16位一个字 ( word )
双精度型 长双精度型
字节
2 2
4
数值范围
-32768~32767 (-215-~ 215-1) 0~65535 (0 ~ 216-1)
-2147483648~ 2147483647 (- 231 ~ 231-1)
0~4294967295
4
(0 ~ 232-1)
1
-128~ +127 (-27-~ 27-1)
1
0~ +255 (0 ~ 28-1)
4
3.4×10-38 ~ 3.4×1038
8
1.7×10-308 ~ 1.7×10308
整型数据不写 unsigned, 默认带符号signed
以2个字节的整型数为例讨论数据的取值范围
215
20
2个字节的无符号整型数的取值范围
0000000000000000
cout << "radius = " << r << endl ;
cout << "girth = " << girth << endl ;
cout << "area = " << area << endl ;
return 0;
}
C++ 可以使用的数据类型
基本类型
短整型 (short int) 整 型 整型 (int)
整型 长整型 无符号整型 无符号长整型
字节
2 2 4
4
数值范围
-215-~ 215-1 0 ~ 216-1
(- 231 ~ 231-1)
(0 ~ 232-1)
✓常量中没有unsigned型,但一个非负的整型常量可以赋给 unsigned型的变量。
✓整型常量亦有长短之分,若一个常量定义为长整型数,则在其后 加 l 或 L 进行区分。
字符型常量
cout << "area = " << area << endl ;
return 0;
}
整型常量
类型
short [int] unsigned short [int]
[signed] int long [int]
unsigned [int] unsigned long [int]
说明
短整型 无符号短整型
第二章 数据类型与表达式
C++的数据类型
常量 变量 C++的运算符 算术运算符与算术表达式 赋值运算符与赋值表达式 逗号运算符与逗号表达式
整理ppt
1
2.1 C++的数据类型
#include<iostream.h> using namespace std; int main ( ) //求园的周长和面积
存储阵列
::::
一个短整型数据(short [ int ])占2个字节
数据在内存中存储示意图
对32位的计算机,32位一个字 ( word )
存储阵列
::::
一个整型数据(int)或单精度型数据(float)占4个字节
表2.1数值型和字符型数据的长度和取值1.3.3基本类型 范围
类型
short [int] unsigned short [int]
时32768
无符号 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
时: 15
65535short
或 short int 数据的取值范围0 :
[-32768~-1] [0~32767]
对应 -32768 对应 -1
2.2 常量
常量——
–其值不能改变 –包括两大类
int main ( ) { double r, girth, area ;
程序设计 主要完成两方面工作:
{ double r, girth, area ; const double pi = 3.1415 ;
数据描述 数据处理
cout << "Please input radius:\n" ;
cin >> r ;
girth = 2 * pi * r ;
area = pi * r * r ;
将最高位作为符号位:0—正,1—负,用后15位表示数值大小 整数(0~32767):
0
0000000000000000
32767 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
负整数(-32768~ -1): 最高位均为1, 表示负整数 [-32768,-1]
无符号 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1111111111111111
215
20
(0)10
1111111111111111
=
215
10 0
0
0
0
0
0
0
0
0
00Βιβλιοθήκη 002000
-1
= 216 -1= 65536-1=65535
unsigned short 或 unsigned short int 数据
取值范围: 0~65535
2个字节的有符号整型数的取值范围
✓ 如:32l 32L 56整4理Lp等pt ,内存为其分配4个字节存储。 13
整型常量
[signed] int long [int]
unsigned [int] unsigned long [int]
signed [char] unsigned char
float
double long double
说明
短整型 无符号短整型
整型 长整型 无符号整型 无符号长整型 字符型 无符号字符型 单精度型