01数据类型与表达式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户定义类型
数据类型 数组 ([ ]) 结构 (struct) 结构类型 联合 (union) 类 (class) 指针类型 (*)
枚举类型 (enum)
2014-12-2
16
常用数据类型描述
类型 char int double 说明 字符型 整型 双精度型 长度 (字节) 1 4 8 表示范围 -128~127 -2147483648~2147483647 -1.7× 10308~1.7× 10308 备注 -27~(27-1) -231~(231-1) 15 位有效位
for friend goto if
protected public
register return short signed unsigned virtual
struct switch this typedef union
void while
2014-12-2 8
2.标识符
由程序员定义的命名符
语法:以字母或下划线开始,由字母、数字和下划线组成的符号串 break main int 等 注意: (1) 不能使用关键字作用户标识符;
ASCII代码 7 10 9 8 13 12 8 92 39 34 0
C++
例子1
#include <iostream.h>
void main ()
{ cout<<"operating\tsystem\
n" ; cout<<'\101' << '\t' << 'A' <<"\b\b"<<'B'<<'\012'; }
例子3
#include <iostream> using namespace std; int main() {char c1,c2; c1='a'; c2='b'; c1=c1-32; c2=c2-32; cout<<c1<<' '<<c2<<endl; return 0; }
2014-12-2
7
1.关键字 又称保留字 关键字是系统预定义的单词。C++不 允许对关键字重定义。
C++常用的关键字:
auto break case char class const continue default delete else inline int long
enum explicit extern float new operator private sizeof static
C++语言的字符集是ASCII码的子集,有:
26个小写字母: abcdefghijklmnopqrstuvwxyz 26个大写字母: ABCDEFGHIJKLMNOPQRSTUVWX YZ 10个数字: 0123456789 其他符号: 空格 ! ″ # % & ′( ) * + - / : ; < = > ? [ \ ] ^ _ { | } ~ .
unsigned long [int]
2014-12-2
无符号长整型
4
0~4294967295
18
十进制:
23
23L
-45
-45L
101
101L
+55
+55L
八进制:
023 0771 045 010
十六进制:
0x2a 0x45 0xffL 0xA1e
2014-12-2
19
2.浮点型
4 字节 8 字节 16 字节 单精度浮点型 双精度浮点型 长双精度浮点型
整型 有符号整型 无符号整型
2
4 4 4
0~65535
-2147483648~ 2147483647 -2147483648~ 2147483647 0~4294967295
long [int]
signed long [int]
长整型
有符号长整型
4
4
-2147483648~ 2147483647
-2147483648~ 2147483647
3.14159
0.263e-10
'N'
14
C++的基本数据类型与存储形式
“类型”是对数据的抽象
类型相同的数据有相同的表示形式、
存储格式以及相关的操作 程序中使用的所有数据都必定属于 某一种数据类型
2014-12-2
15
基本类型 简单类型
整型 (int) 浮点型 (float, double) 字符型 (char) 空类型 (void)
不合法标识符有: 2a x+y
a,b
2014-12-2
10
3.运算符
例如:
+ 加
> 大于
- 减
< 小于
* 乘
/ 除
>= 大于或等于
%取余
== 等于
!= 不等于
<= 小于或等于
2014-12-2
11
4.分隔符
用于在程序分隔不同的语法单位,
便于编译系统的识别 常用的分隔符有:空格,逗号,分 号,冒号,括号,注释符等 不同性质的单词连接,单词本身也 起到分隔符的作用
3.字符型
char 字符一般用 ASCII 编码 C++的字符型与整型数据密切相关, 以ASCII 值参与运算
字符,八进制或十六进制值的转义符
2014-12-2
22
ASCII码表
例如:
'a ' < 'b' '0' > '2' 'B' + 1 '2' + 1
2014-12-2
数据类型
2014-12-2
1
本课任务
常量
变量
2014-12-2
2
编写程序的要求
正确性
可读性
高效率
用简洁明了的方式编写程序 计算机和编译器是很好的教员 阅读所用的语言版本手册 用标准类库
2014-12-2
3
一个简单的C++程序
问题:输入圆的半径,求圆的周长和面积
2014-12-2 12
例如:
int a, b, c ; a=b+c ; /*不同性质的单词连接,
单词本身也 起到分隔符的作用*/
2014-12-2
13
5.常量 常量由数据的书写形式定义它的类型 和值 基本类型常量在程序运行时直接参与 运算,不占用内存存储
例如:
500
2014-12-2
2014-12-2
27
数据对象与访问
程序中使用内存单元存放数据。程
序可以对存储单元以标识符命名。 对内存的读、写操作称为访问。 既能读又能写的内存对象,称为变 量;若一旦初始化后不能修改的对 象则称为常量。
2014-12-2
28
Fra Baidu bibliotek
常量与变量 常量:在程序运行过程中,其值一直保持不变的 量为常量。
2014-12-2
32
例如:
int x ;
int wordCut , Radius , Height ;
double FlightTime , Mileage ,
Speed ;
2014-12-2
33
类型 标识符=常量, 标识符=常量, … , 标识符=常量;
直接常量或标识常量
例如:
2014-12-2
17
1.整型
类型
short [int] signed short [int]
说明
短整型 有符号短整型
字节
2 2
范围
-32768~32767 -32768~32767
unsigned short [int]
int signed [int] unsigned [int]
无符号短整型
例子4
{ int num, total; //定义变量,在内存中开辟区间 num total num=10; //变量赋值,10为常量
total=num*PRICE;
cout<<“total=“<<total; //输出结果
10 PRICE
300
}
其中:num=10 30 total=num*PRICE 是赋值号,不同于数学意义上的等号。
数据描述: 半径,周长,面积均用实型数表示 数据处理: 输入半径 r; 计算周长 = 2*π*r ; 计算面积 = π* r2 ; 输出半径,周长,面积;
2014-12-2 4
结构化
// count the girth and area of circle #include<iostream.h> void main () { double r, girth, area ; const double PI = 3.1415 ; cout << "Please input radius:\n" ; cin >> r ; girth = 2 * PI * r ; area = PI * r * r ; cout << "radius = " << r << endl ; cout << "girth = " << girth << endl ; cout << "area = " << area << endl ; }
int sum = 0 ; double TaxRate = 0.06 ; char c = 'A' ;
2014-12-2 34
访问变量 内存单元由操作系统按字节编号,称 为地址 一个对象占有内存的第一个字节的地 址称为对象的地址 可以通过对象名或地址访问对象 数据对象有两种访问形式——读和写 操作
2014-12-2
25
例子2
#include <iostream> using namespace std; int main ( ) {int i,j; i='A'; j='B'; cout<<i<<' '<<j<<'\n'; return 0; }
2014-12-2 26
不能用于命名程序中的自定义
函数、变量、常量 Aa 和 aa 是两个不同的标识符
(2) C++中,字母大小写敏感;
(3) C++没有规定标识符的长度,不同编译系统有不同的识别长度; (4) 标识符尽可能做到见文知义。
2014-12-2
9
语法:以字母或下划线开始,由字
母、数字和下划线组成的符号串
合法标识符有: a x1 no_1 _a2c sum a&b Name const name
float double long double
2014-12-2
20
常用示数法:
-2.34 3.1416 29.00 .23 0.23
科学示数方法:
1.23E10
1.23E10F
0.23E-4
0.23E-4f
45.e+23
45.e+23L
-23.68E12
-23.68E12L
2014-12-2
21
23
常 用 转 义 字 符
转义字符 \a \n \t \b \r \f \v \\ \′ \" \0 \ddd \xhh
含 义 响铃 换行,将当前位置移到下一行开头 水平制表(跳到下一个tab位置) 退格,将当前位置移到前一列 回车,将当前位置移到本行开头 换页,将当前位置移到下页开头 竖向跳格 反斜杠字符“\” 单引号(撇号)字符 双引号字符 空字符 1到3位8进制数所代表的字符 1到2位16进制数所代表的字符
2014-12-2 35
访问变量
内存分配
double b 0X0066FDEC
例如,有说明:
int a ; double b ;
int a 0X0066FDF4
2014-12-2
36
对于数据单元,名访问就是操作对象的内容 访问形式分为“读”和“写”
例如:
int a, b ;
a = 10 ; b = 20 ; a =a+b;
2014-12-2 37
例如:
判断一下变量名是否合法
abc
English 2xy x-y if b(3) ‘def’ Chine_bb
AbsFloat float
Else
b3y
2014-12-2
31
变量定义 变量是存储单元 变量定义:申请指定类型的存储空间, 并以指定标识符命名
变量定义形式:
类型 标识符, 标识符, … , 标识符 ;
数据描述
数据处理 输入 计算 输出
2014-12-2
5
C++的字符集与规则集
所有的语言系统都是由字符集和规
则集组成的 “字符”是语言的不可分解的最基 本语法单位 由字符可以组成“词”,由词组成 “表达式”、“句子”,又由各种 句子构成“函数”、“程序”
2014-12-2 6
C++语言的字符集
常量也区分不同的类型:30,40 为整型,30.0, 40.0为实型,编辑器只是根据其表面形式来判断其 类型。
变量:在程序运行过程中,其值可以改变的量为 变量。 变量在程序的执行中能够赋值,发生变化。变量 有一个名字,并在使用之前要说明其类型,一经 说明,就在内存中占据与其类型相应的存储单元。
#include<iostream.h> #define PRICE 30 //常量,在程序中保持不变 void main(void)