第二章C++简单程序设计.ppt
文本预览下载声明
C++语言的产生 C++是从C语言发展演变而来的,首先是一个更好的C。 引入了类的机制,最初的C++被称为带类的C。 1983年正式取名为C++。C++语言的标准化工作从1989年开始,于1994年制定了ANSI C++标准草案。以后又经过不断完善,成为目前的C++。 C++的特点 全面兼容C 它保持了C的简洁、高效和接近汇编语言等特点 对C的类型系统进行了改革和扩充 C++也支持面向过程的程序设计,不是一个纯正的面向对象的语言 支持面向对象的方法 变量的存储类型(一) 从变量的作用域角度,分为全局变量和局部变量。 从变量值存在时间角度分为静态存储变量和动态存储变量。 内存中供用户使用的存储空间分为: 程序区 静态存储区 动态存储区(栈区和堆区(malloc(),free())) 全局变量存放在静态存储区,局部变量存放在动态存储区中。 变量的存储类型(二) auto存储类 属于一时性存储,其存储空间可以被若干变量多次覆盖使用。函数内定义的变量(自动变量) register存储类 存放在通用寄存器中。函数内定义寄存器变量 extern存储类 在所有函数和程序段中都可引用。 static存储类 在内存中是以固定地址存放的,在整个程序运行期间都有效。 逗号运算和逗号表达式 格式: 表达式1,表达式2 求解顺序及结果: 先求解1,再求解2,最终结果为表达式2的值 例 a=3*5,a*4 最终结果为60 逻辑运算与逻辑表达式 逻辑运算符: !(非) (与) ||(或)优先次序: 高 → 低 逻辑表达式 例如:(ab)(xy) 其结果类型为 bool,值只能为 true 或 false。 条件运算符与条件表达式 一般形式: 表达式1?表达式2:表达式3 表达式1 必须是 bool 类型 执行顺序: 先求解表达式1, 若表达式1的值为true,则求解表达式2,表达式2的值为最终结果 若表达式1的值为false,则求解表达式3,表达式3的值为最终结果 条件运算符与条件表达式 注意: 条件运算符优级高于赋值运算符,低于逻辑运算符、关系运算符和算术运算符 结合方向为自右至左 表达式2、3的类型可以不同,条件表达式的最终类型为 2 和 3 中较高的类型。 例 max=ab?a:b ab?a:cd?c:d等价于ab?a:(cd?c:d) xy?1:1.5 若x≤y,值为1.5。若xy,值为1.0 实型比整型高,将1转换成实型值。 sizeof 操作符 用于计算某种类型的对象在内存中所占的字节数。 语法形式:sizeof (类型名)或 sizeof (表达式) 结果值:“类型名”所指定的类型或“表达式”的结果类型所占的字节数 注意:并不对括号中的表达式本身求值. 例 sizeof(int) sizeof(double) sizeof(struct student) 位运算——按位与() 运算规则 将两个运算量的每一个位进行逻辑与操作 举例:计算 3 5 3: 0 0 0 0 0 0 1 1 5:() 0 0 0 0 0 1 0 1 3 5: 0 0 0 0 0 0 0 1 用途: 将某一位置0,其它位不变。例如:将 char 型变量 a 的最低位置 0: a = a 0376; 取指定位。例如:有 char c; int a; 取出 a 的低字节,置于 c 中:c = a 0377; 位运算——按位或(|) 运算规则 将两个运算量的每一个位进行逻辑或操作 举例:计算 3 | 5 3: 0 0 0 0 0 0 1 1 5:(|) 0 0 0 0 0 1 0 1 3 | 5: 0 0 0 0 0 1 1 1 用途: 将某些位置1,其它位不变。例如:将 int 型变量 a 的低字节置 1 : a = a | 0xff; 位运算——按位异或(^) 运算规则 两个操作数进行异或:若对应位相同,则结果该位为 0,若对应位不同,则结果该位为 1, 举例:计算 071^052 071: 0 0 1 1 1 0 0 1 052: (^) 0 0 1 0 1 0 1 0 071^052 : 0 0 0 1 0 0 1 1 位运算——按位异或(^) 用途: 使特定位翻转(与0异或保持原值,与1异或取反) 例如:要使低四位翻转: 0 1 1 1 1 0 1 0 (^) 0 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1
显示全部