数据的存储方式以及能够进行的合法运算都与数据类型直接

上传人:艾力 文档编号:51444770 上传时间:2018-08-14 格式:PPT 页数:88 大小:906KB
返回 下载 相关 举报
数据的存储方式以及能够进行的合法运算都与数据类型直接_第1页
第1页 / 共88页
数据的存储方式以及能够进行的合法运算都与数据类型直接_第2页
第2页 / 共88页
数据的存储方式以及能够进行的合法运算都与数据类型直接_第3页
第3页 / 共88页
数据的存储方式以及能够进行的合法运算都与数据类型直接_第4页
第4页 / 共88页
数据的存储方式以及能够进行的合法运算都与数据类型直接_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《数据的存储方式以及能够进行的合法运算都与数据类型直接》由会员分享,可在线阅读,更多相关《数据的存储方式以及能够进行的合法运算都与数据类型直接(88页珍藏版)》请在金锄头文库上搜索。

1、计算机所处理的数据以一定形式存放在内存中,数据 的存储方式以及能够进行的合法运算都与数据类型直 接相关。C+的特点之一就是提供了丰富的数据类型 ,以便处理各种不同的数据。数据类型总是与运算封 装在一起,本质上是面向对象的。本章将简要介绍 C+中的数据类型及相关运算,以及常量、变量、表 达式、语句等,最后介绍简单的输入输出方法。第二章 C+基础知识第二章 C+基础知识21 C+的词法单位25 运算符、表达式和语句26 简单的输入输出24 数组与字符数组23 常量和变量22 C+ 中的数据类型ok2.1 C+的词法单位211 C+的字符集 212 关键字 213 标识符(ID,identifier

2、) 214 标点符号 ok2.1.1 C+的字符集ASCII码字符集是计算机中的常用字符集 。它包括英文字母及阿拉伯数字等128个字符 ,存储一个ASCII码占用一个字节单元。 由于汉字处理的需要,又出现了汉字国 标码等对应于不同语言的字符集。国标码 的存储占用两个字节单元。Unicode字符集对各类字符进行统一的双 字节编码。它包括了世界上多种语言的基本 字符,最多可容纳65536个字符。 ASCII码 字符集,国标码字符集都是它的子集。okC+的字符集26个 小写字母 abcdefghijklmnopqrstuvwx yz 26个 大写字母 ABCDEFGHIJKLMNOPQRST UVW

3、XYZ 10个 阿拉伯数字 0 1 2 3 4 5 6 7 8 9 其他符号 + - * / = , . _ : ; ? “ | ! # % /说明三个整型变量i, j, kfloat x, y, z; /说明三个实型变量x, y, zchar c1, c2; /说明两个字符型变量c1, c2double dx; /说明一个双精度型变量dx 变量 说明 结束 2变量赋初值(1)变量说明时直接赋初值。 例如:int a=3, b=4, c=5; float x=3.0; (2)用赋值语句赋初值。严格的说,只有前 者可称赋初值 例如:float x, e; x=3.5; e=2.71828;2.3

4、.1 结束 给变量赋初值称为初始化,有两种方法:2.3.2 字面常量1. 整型常量 4. 字符串常量3. 字符型常量2. 实型常量字面常量,指程序中直接给出的量;常量的值在程序执行过程中保持不变;并 且存储在程序区,而非数据区;根据取值和表示方法的不同,可分为以下 几种:ok1.整型常量十进制表示法八进制表示法十六进制表示法其他表示法即整数,可以有多种表示方法:ok整数的十进制表示方法十进制表示与我们熟悉的书写方式相同。如15 -24ok整数的八进制表示八进制表示以0开始,由数字07组成,用来 表示一个八进制数。如:012 /八进制数12,即十进制数10-0655/八进制数-655,即十进制数

5、-429ok整数的十六进制表示十六进制以0X(大小写均可)开始,由数 字09和字母AF(大小写均可)组成,用来 表示一个十六进制数。以下是一些常整数的例子:0x32A /十六进制数32A,即十进制数810-0x2fe0 /十六进制数-2fe0,/即十进制数-12256ok整数的其他表示方法整型常量还可以表示长整数和无符号整数。 长整型常数以 L 或 l 结尾,无符号常整数以 U 或 u 结尾,以 U L 或 L U(大小写均可) 结尾则可表示无符号长整型常数。例如:-84L/十进制长整数-84026U/八进制表示的无符号整数260X32LU /十六进制表示的无符号长整型数32。整数 结束 2.

6、实型常量(1)一般形式与平时书写形式相同,由数字 0 9和小数点组成。例如: 0.23 -125.76 0.0 .46 -35. (2) 指数形式(也称为科学表示法)表示为尾 数乘以10的次方形式,由尾数、E或e和阶数组 成。指数形式要求在E或e前面的尾数部分必须 有数字,后面的指数部分必须为整数。 例 : 判断下列表示是否合法 123E12 -.34e-2 E4 1.43E3.5 包含小数点和10的幂的数为实型常量,有 两种表示方法:实数 结束3.字符型常量字符常量是用单引号引起来的单个字符。在 内存中保存的是字符的ASCII码值。在所有字符 中,有些是可显示字符,通常就用单引号引起 来表示

7、:a /字符a /字符 4/字符4 /空格字符 有些是特殊情况字符,如不可显示的字符等, c+使用转义序列表示方法,如(祥见表2-3, 此处略): n /换行 / 字符 字符常 结束 4. 字符串常量字符串常量与字符型常量的区别字符串常量a 占两个字节,存放a和 0,值为0x6100字符型常量a 占一个字节,存放a,值为0x61 2.3.2 结束用双引号引起来的若干个字符称为字符串常量。例如:I am a Chinese.,123, a , 2.3.3 常变量及常量说明符const用常量说明符const给字面常量起个名字(标识符) ,这个标识符就称为标识符常量; 因为标识符常量的说明和引用形式

8、很像变量,所以也 称常变量;例如: const float PI=3.14159; const int Number_of_Student=100; 常变量必须也只能在说明时进行初始化; 常变量初始化之后,不允许再被赋值; 常变量必须先说明后使用; 常变量存储在数据区,并且可以按地址访问,编译时 系统对常变量进行类型检查。 C+建议使用常变量,而不要使用文字常量。2.3.3 结束2.4 数组与字符数组2.4.1 数 组2.4.2 字 符 数 组本节介绍一种用户自定义的导出数据类型 数组类型ok2.4.1 数组数组是有限个同类型元素的有序集合,这些元 素有一个共同的名字,每个元素以其在数组中的

9、位置区分,位置用下标表示。 例如数列或向量就可以看作一个数组,其中的 元素用一个下标即可确定。 矩阵也可看作一个数组,其中的元素需要用“ 行”、“列”两个下标确定。 数组下标的个数称作维数,上述代表数列的数 组和代表矩阵的数组分别称为一维数组和二维数 组。本节只介绍一维数组。ok一维数组定义一个一维数组的一般格式为:存储类型 数据类型 数组名常量;数据类型指的是数组中元素的数据类型,可 以是C+中定义的任何一种数据类型。写在中括号中的常量用来定义数组大小,即 数组中元素的个数。例如:int m5; /定义数组m, 其中有5个整数const int N=3;float xN;/数组x中有3个实数

10、ok一维数组数组在存储单元中是按下标的顺序连续存放的 ,任何一个元素都可以单独访问,其标识方法是 用数组名和下标: 数组名表达式表达式用来计算下标值。C+中规定数组第一 个元素的下标为0。okm4 m3 m2 m1 m0x2 x1 x0一维数组C+中数组大小在编译时确定,编译系统按照定义为 数组分配一段连续的存储单元,这段单元的大小也是不 能改变的,因此数组大小不能用变量定义,而只能是一 个正整数常量。下列定义是非法的: int count; float scount;/数组个数不能是变量,且必 /须在定义时指明; const float Num=3; int nNum;/数组个数不能是实数;

11、对数组的访问指的是对数组元素的访问,不能直接将数 组名作为访问对象,对数组赋值也必须对每一个元素逐 个赋值。参见下例: ok一维数组int_arr3= int_arr2= int_arr1= int_arr0= 11231输出2.4.1 结束1 2 31+2=3【例21】使用数组的简单例子。# include void main() int int_arr4; int_arr0=1; int_arr1=1; int_arr2=2; int_arr3=int_arr1+int_arr2; cout # include void main( ) char s1 =”Hello C+”;/初始化决定

12、数组s1有10个元素 char s210, s320; s20= B; s21= e; s22=g; s23= i; s24= n; s25= 0; /对字符串结束处理非常重要 strcpy(s3, s2); coutab/结果是?根据右结合原则其运算过程如下:a5b3.23F,即0 F即0优 先 级运 算 符名 称语 义2!逻辑非, 单目操作数的值为真,则结 果为假;1213|逻辑或, 双目两个操作数中有一个为 真,则结果为真;逻辑运算符逻辑运算符用来进行逻辑运算。其操作数和运 算结果均为逻辑量。运算结果同样可以作为一个整 数参与其他运算。 由于逻辑值和整数之间的对应关系,也允许 整型和字符

13、型操作数进行逻辑运算: 21/左值不能是常数 x+y=z;/左值不能是表达式 const int N=30; N=40;/左值不能是常变量5.自增自减运算运算分前置和后置两种,前置是先增减后引用,即先 对变量自加或自减,用新的值参与其他运算;后置则 是先引用后增减,即用变量原来的值参与其他运算, 然后再对变量进行自加或自减,例如: int i=5, j=5, m, n; m=i+; /后置;相当于m=i; i=i+1; /结果:i的值为6,m的值为5; n=+j; /前置;相当于j=j+1;n=j;/结果:j的值为6,n的值为6;意义:使变量当前值加1或减1,再赋给该变量。要求:操作数只能是变

14、量,不能是常量或表达式;ok6.sizeof( ) 运算符用于计算一个操作数类型或一个变量的字 节数。一般格式为:sizeof (数据类型)或 sizeof(变量名) 例如:sizeof(int) 值为4sizeof( float) 值为4double x;sizeof( x) 值为8 2.5.1 结束2.5.2 表达式1 算术表达式 2 关系表达式 3 逻辑表达式和逻辑表达式求值的优化 4 赋值表达式与复合赋值表达式 5 逗号表达式 ok1.算术表达式使用时注意: 1、表达式中每个变量都有确定的值时才能进 行表达式求值; 2、考虑到算术运算溢出和精度问题,应避免 : (1)两个很接近的数直接相减; (2)除数是一个很小的数; (3)整数的连续乘运算。ok由算术运算符连接的表达式称为算术表达式 ,例如:a+b*3 ;2.关系表达式例如:abc /*等同于(ab)c,先求ab 的值,再将结果0或1与c比较大小*/a+bc+d /*等同于(a+b)(c+d),结果为0或1*/y=ab /*计算ab的值0或1赋给y,y的值为0或1*/由关系运算符连接的表达式。值

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号