2014/12/30 圈上海克通大华 C+程序设计与实践 总复习 上海交通大学 机械与动力工程学院 2014.9-2015.1 圆上泽夫通大学 第1讲C++语言概述 SHA 1
2014/12/30 1 C++程序设计与实践 总复习 上海交通大学 机械与动力工程学院 2014.9-2015.1 第1讲 C++语言概述
2014/12/30 圈上文大华 C++程序的基本构成 在屏幕上显示字符Welcome to C+!程庭 编程:张三 注释或说明 包含头文件 使用命 #include 名空间 注释或说明 /使用命名空间std using namespace std; 函数 开始 主函数入口 int mainO 屏幕显示一串字符 cout<<“Hello !\n"; cout <<"Welcome to C+n"; 函数 结束 return 0; 程序执行完毕返回 圈上泽充通大学 C++程序的开发过程 库文件 (各种函数) 源程序 目标文件 可执行文件 (文本文件) I编译 (二进制文件) 连接 (二进制文件) *.CPP *.OBJ *.EXE compile link 口源程序编辑、编译、连接、调试等是在C++软件开发系 统中实现和完成的 口Microsoft的Visual C+是应用最为广泛的C++软件开发 系统集成平台 2
2014/12/30 2 C++程序的基本构成 //在屏幕上显示字符Welcome to C++!程序 //编程:张三 #include //使用命名空间std using namespace std; int main() { cout << “Hello !\n"; cout << "Welcome to C++!\n"; return 0; } 包含头文件 注释或说明 使用命 名空间 主函数入口 函数 开始 屏幕显示一串字符 程序执行完毕返回 函数 结束 注释或说明 C++程序的开发过程 源程序 (文本文件) *.CPP 目标文件 (二进制文件) *.OBJ 可执行文件 (二进制文件) *.EXE 库文件 (各种函数) compile link 源程序编辑、编译、连接、调试等是在C++软件开发系 统中实现和完成的 Microsoft 的Visual C++是应用最为广泛的C++软件开发 系统集成平台 编译 连接
2014/12/30 圈上泽文通大华 e人 第2讲基本数据类型与表达式 2.1数据在计算机里的存储 位(bit) 符号位 信号通 0 0 -个字节(byte) 包含8位 信号断 79岁 →占用两个字节 0 漏 79岁 0 占用四个字节 不同类型 占用不同 0 0 二进制/什 大小空间 进制转换? 3
2014/12/30 3 第 2 讲 基本数据类型与表达式 2.1 数据在计算机里的存储 01001111 00000000 00000000 00000000 01001111 00000001 一个字节(byte) 包含8位 信号通 信号断 位(bit) 00000000 符号位 79岁 00000000 占用两个字节 占用四个字节 79岁 不同类型 占用不同 大小空间 二进制/十 进制转换?
2014/12/30 圆上支大学 2.2数据类型的分类 败据类型 基本类型 整型 (短整型(short int) 整型(int) ·只含有单一数据值, 长整型(long int) 字符型(ahr) 没有内部结构 浮点型 单精度型(float) 双精度型(double) 长双精度型(long double) 布尔型bool) 构造类型「 指针类型(钓 不同字节的 枚举类型(enum) 取值范围? 数组类型(化]) 结构体类型(struot) 共用体类型(union). 类类型(ol) 空类型(void 布尔型就是逻辑型,空类型就是无值型。 园 上海充廷大学 2.3常量 口数值型常量 √ 整型常量:3,-8.·,常量无uns igned型 √实型常量 十进制小数形式:0.0,2.68,32,767,0.35,… 指数形式(浮点形式):0.0e0.6.226e4,1.267e20,… 口字符型常量 漏 √用单引号括起来的单个字符,区分大小写, 是定界符。 如‘a’ 男 + √转义字符常量 √常见的ASCII字符有128个 10个阿拉伯数字)52个英文字母引32控制字符(非显示字符)\34个特殊 字符 4
2014/12/30 4 2.2 数据类型的分类 数据类型 基本类型 整型 短整型(short int) 整型(int) 长整型(long int) 字符型(char) 浮点型 单精度型(float) 双精度型(double) 长双精度型(long double) 布尔型(bool) 构造类型 指针类型(*) 枚举类型(enum) 数组类型([ ]) 结构体类型(struct) 共用体类型(union) 类类型(class) 空类型(void) 布尔型就是逻辑型,空类型就是无值型。 •只含有单一数据值, 没有内部结构 不同字节的 取值范围? 2.3 常量 数值型常量 字符型常量 整型常量:3,-8....,常量无unsigned型 实型常量 十进制小数形式:0.0, 2.68,32,767, 0.35,… 指数形式(浮点形式):0.0e0, 6.226e4, 1.267e20, … 用单引号括起来的单个字符,区分大小写,‘ ’是定界符。 如:‘a’, ‘A’, ‘1’, ‘ ’, ‘+’ 转义字符常量 常见的ASCII字符有128个 10个阿拉伯数字\ 52个英文字母\ 32控制字符(非显示字符)\ 34个特殊 字符
2014/12/30 圈上泽文通大华 口字符串常量 √由一对双引号括起来的字符序列 “abc” 、“12.34” “a” /注意与‘a'的区别 “This is a string.\n”/转义字符按一个字符计算 如:"CHINA" CHI N A 10 口符号常量 √用一个符号名代表一个常量,称为符号常量 √符号常量必须先定义,同时进行初始化 √符号常量的值在其作用域内不能改变,也不能再被赋值 √符号常量名习惯用大写字母表示 如: #define PRICE 30 /注意这不是语句,末尾不要加分号 百回同 圆上泽夫道大学 2.4变量 口变量名只能由字母、数字和下划线3种字符组成,且第一个字符必须为字 母或下划线。 如:sum,total2,day,Student,name 口不能与C+关键字相同(如:不能取名为main、Class、if、else等) 口变量必须“先定义,后使用” 定义变量的一般形式是 ,; 口定义变量时,加上关键字cost,则变量的值在程序运行期间不能改变, 这种变量称为常变量(constant variable) const int a=3; 指定其值始终为3 const int a; /error,必须在定义时初始化 a=3: 1日日后 6
2014/12/30 5 字符串常量 符号常量 由一对双引号括起来的字符序列 “abc” 、 “12.34” “a” //注意与‘a’的区别 “This is a string.\n” //转义字符按一个字符计算 用一个符号名代表一个常量,称为符号常量 符号常量必须先定义,同时进行初始化 符号常量的值在其作用域内不能改变,也不能再被赋值 符号常量名习惯用大写字母表示 如: #define PRICE 30 //注意这不是语句,末尾不要加分号 如:"CHINA" C H I N A \0 2.4 变量 变量名只能由字母、数字和下划线3种字符组成,且第一个字符必须为字 母或下划线。 如:sum, total2, day, Student,name 不能与C++关键字相同(如:不能取名为main、Class、if、else等) 变量必须“先定义,后使用” 定义变量的一般形式是 , , ……; 定义变量时,加上关键字const,则变量的值在程序运行期间不能改变, 这种变量称为常变量(constant variable) const int a=3; //指定其值始终为3 const int a; //error,必须在定义时初始化 a=3;
2014/12/30 国上清文大华 eb 2.5运算符和表达式 注意:乘号 不能省略! 口算术运算符和表达式 √完成各种类型数据的加、减、乘、除及模(求余数)运算 √双目算术运算(两个运算对象参加的运算) 运算符合 运算规则 示例 + 加 2+3 若操作数均为整 减 a-b 数,运算结果舍 去小数部分 乘 2*a 如果是负数,向 除 12/3.0 零取整! 年 取模 15%4 只能对整型或字符型数据运算 不能用于f1oat和doub1e类型 -12%5→-2 余数符号与被除数相同 圈上泽夫道大学 √优先级与结合性 ●先乘除后加减:() % ●左结合性:先左后右 double float √混合运算 高 ●不同类型的数据要先转换成同一 long 类型,然后进行运算 unsigned 低 int char,short 6
2014/12/30 6 2.5 运算符和表达式 算术运算符和表达式 完成各种类型数据的加、减、乘、除及模(求余数)运算 双目算术运算(两个运算对象参加的运算) 运算符合 运算规则 示例 + 加 2+3 - 减 a-b * 乘 2*(-a) / 除 12/3.0 % 取模 15%4 若操作数均为整 数,运算结果舍 去小数部分 如果是负数,向 零取整! 注意:乘号 不能省略! 只能对整型或字符型数据运算 不能用于float和double 类型 余数符号与被除数相同 -12%5-2 优先级与结合性 先乘除后加减:() * / % + — 左结合性:先左后右 混合运算 不同类型的数据要先转换成同一 类型,然后进行运算
2014/12/30 圈上泽文大峰 √自增(+)、自减(一)运算符 int i,j; int i,j;4 3 i=3; i=3:l j=++i; j=i++; i=4j=4 i=4j=3 ++在前,先运算,后赋值 +在后,先赋值,后运算 自增、自减运算符只能用于变量,不可用于常量和表达式 结合方式自右至左,优先级最高,向右取最大 圈上泽支大学 口赋值运算符 √赋值运算符 6= “=”的结合性为自右至左 其作用是将表达式的值存入变量V。 √复合赋值运算符 格式: V op=e 等价于: V=V op e 例如:a=5, 等价于a=a+5 √复合赋值运算符有: +=、-=、、/、=、=、&=、Λ=、=等10个 √若“一”两边变量类型不同,在赋值时要进行类型转换。 7
2014/12/30 7 自增(++)、自减(--)运算符 自增、自减运算符只能用于变量,不可用于常量和表达式 结合方式自右至左,优先级最高,向右取最大 i 3 int i, j; i=3; j = ++i; i=4 j=4 ++在前, 先运算,后赋值 int i, j; i=3; j = i++; i=4 j=3 ++在后, 先赋值,后运算 j 4 4 i 3 j 4 3 赋值运算符 赋值运算符 “=” “=”的结合性为自右至左 其作用是将表达式的值存入变量V。 复合赋值运算符 格式: V op = e 等价于: V = V op e 例如: a += 5, 等价于 a = a + 5 复合赋值运算符有: +=、- =、*=、/=、%=、>=、&=、∧=、|=等10个 若“ = ” 两边变量类型不同,在赋值时要进行类型转换
2014/12/30 圈上泽支大峰 口关系运算符 对两个运算数进行大小关系等的比较。 运算符 名称 例子 关系 大于 a>b a大于b 小于 a= 大于等于 a>=b a大于等于形 b 例:a=3,b=2,c=1 d=a>b>c 0 圈上涤夫道大学 a 口逻辑运算符 √计算结果:逻辑值(true(真)和false(假)) 运算对象:算术、关系、赋值、字符及逻辑表达式 &&所有操作:与 儿所有操作:或 1所有操作:非 真&&真=真 真川真=真 真&&假=假 真川假=真 1真=假 !假=真 假&&假=假 假‖假=假 SHA 1 6
2014/12/30 8 关系运算符 对两个运算数进行大小关系等的比较。 运算符 名称 例子 关系 > 大于 a>b a大于b = 大于等于 a>=b a大于等于b b d=a>b>c 1 0 逻辑运算符 计算结果:逻辑值(true(真)和false(假)) 运算对象:算术、关系、赋值、字符及逻辑表达式 &&所有操作:与 真 && 真 = 真 真 && 假 = 假 假 && 假 = 假 真 || 真 = 真 真 || 假 = 真 假 || 假 = 假 ||所有操作:或 !所有操作:非 !真 = 假 !假 = 真
2014/12/30 圈上海夫通大华 第3讲C++程序的流程控制 SHA 圆上泽夫道大学 3.1算法流程 口算法流程按其在解决问题过程中,各处理步骤的执行次序和 模式,通常包含三大基本结构: √顺序结构 √选择结构 √循环结构 SHA
2014/12/30 9 第3讲 C++程序的流程控制 3.1 算法流程 算法流程按其在解决问题过程中,各处理步骤的执行次序和 模式,通常包含三大基本结构: 顺序结构 选择结构 循环结构
2014/12/30 圈上泽文通大华 eb入 3.2顺序结构程序: 口顺序结构:一个步骤完成后 开始 ,顺序执行紧跟着的下个处 语句1 理步骤。 语句2 漏 语句n LMM 结束 圆上泽文通大学 a 3.3选择结构程序: 口选择结构:根据情况的不同 开始 ,在预定的两个模式中,选 N 择一个合理的步骤执行。 条件 热行1 执行2 结束 10
2014/12/30 10 3.2 顺序结构程序: 顺序结构:一个步骤完成后 ,顺序执行紧跟着的下个处 理步骤。 开始 语句1 语句2 结束 语句n … 3.3 选择结构程序: 选择结构:根据情况的不同 ,在预定的两个模式中,选 择一个合理的步骤执行。 Y N 开始 结束 条件 执行1 执行2