第二章 C++简单程序设计

上传人:豆浆 文档编号:48589128 上传时间:2018-07-17 格式:PPT 页数:118 大小:1.19MB
返回 下载 相关 举报
第二章 C++简单程序设计_第1页
第1页 / 共118页
第二章 C++简单程序设计_第2页
第2页 / 共118页
第二章 C++简单程序设计_第3页
第3页 / 共118页
第二章 C++简单程序设计_第4页
第4页 / 共118页
第二章 C++简单程序设计_第5页
第5页 / 共118页
点击查看更多>>
资源描述

《第二章 C++简单程序设计》由会员分享,可在线阅读,更多相关《第二章 C++简单程序设计(118页珍藏版)》请在金锄头文库上搜索。

1、第二章 C+简单程序设计C+语言程序设计本章主要内容lC+语言概述l基本数据类型和表达式l数据的输入与输出l算法的基本控制结构l自定义数据类型l深度探索l小结与复习建议2.1 C+语言概述2.1.1 C+语言的产生2.1.2 C+的特点2.1.3 C+程序实例2.1.4 C+字符集2.1.5 词法记号C+语言的产生lC+是从C语言发展演变而来的,首先是一个 更好的Cl引入了类的机制,最初的C+被称为“带类的 C”l1983年正式取名为C+l从1989年开始C+语言的标准化工作l于1994年制定了ANSI C+标准草案l于1998年11月被国际标准化组织(ISO)批准 为国际标准,成为目前的C+

2、C+的特点l全面兼容C它保持了C的简洁、高效和接近汇编语言等特点对C的类型系统进行了改革和扩充C+也支持面向过程的程序设计,不是一个纯正的面向对象的语言l支持面向对象的方法C+程序实例例2-1#include using namespace std; int main() cout / “;.,: ?()词法记号l关键字C+预定义的单词l标识符程序员声明的单词,它命名程序正文中 的一些实体l文字在程序中直接使用符号表示的数据l操作符用于实现各种运算的符号l分隔符 () , : ; 用于分隔各个词法记号或程序正文l空白符空格、制表符(TAB键产生的字符)、 垂直制表符、换行符、回车符和注释的总称

3、autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhileboolcatchclassconst_castdeletedynamic_ castexplicitfalsefriendreinterpret_ castmutablenamespacenewoperatorprivateprotectedpublicinline

4、static_casttemplatethisthrowtruetrytypeidtypenameusingvirtualwchar_t关 键 字注意:注意:C+中关键字必须是小写小写的,在程序设计时经常用到,但不可以作为一般标识符使用。 标识符的构成规则l以大写字母、小写字母或下划线(_)开始。l可以由以大写字母、小写字母、下划 线( _ )或数字09组成。l大写字母和小写字母代表不同的标识 符。基本数据类型和表达式图示: C+数据类型语句数据类型数据类型常量与变量常量与变量 #include using namespace std; int main() const int PRICE =

5、 30;int num, total;float v, r, h;num = 10;total = num * PRICE;cout using namespace std; int main() const int PRICE = 30;int num, total;float v, r, h;num = 10;total = num * PRICE;cout using namespace std; int main() const int PRICE = 30;int num, total;float v, r, h;num = 10;total = num * PRICE;cout =

6、, 条件运算符与条件表达式条件运算符与条件表达式l注意:条件运算符优先级高于赋值运算符,低 于逻辑运算符表达式2、3的类型可以不同,条件表达 式的最终类型为 2 和 3 中较高的类型。l例: x = a b ? a : b;sizeof 运算符l语法形式 sizeof (类型名) 或 sizeof 表达式l结果值: “类型名”所指定的类型或“表达式”的结果 类型所占的字节数。l例:sizeof(short)sizeof x位运算位运算按位与(按位与( 取指定位。 例如:有char c; int a; 取出a的低字节,置于c中:c=a 位运算位运算按位或(按位或(| |)l运算规则 将两个运算量

7、的每一个位进行逻辑或操作l举例:计算 3 | 53: 0 0 0 0 0 0 1 15:(|) 0 0 0 0 0 1 0 1 3 | 5: 0 0 0 0 0 1 1 1l用途: 将某些位置1,其他位不变。 例如:将 int 型变量 a 的低字节置 1 :a = a | 0xff;位运算位运算按位异或(按位异或( )l运算规则两个操作数进行异或: 若对应位相同,则结果该位为 0, 若对应位不同,则结果该位为 1,l举例:计算 071052071: 0 0 1 1 1 0 0 1052: () 0 0 1 0 1 0 1 0071052 : 0 0 0 1 0 0 1 1位运算位运算按位异或(

8、按位异或( )l用途:使特定位翻转(与0异或保持原值,与1 异或取反)例如:要使 01111010 低四位翻转:0 1 1 1 1 0 1 0() 0 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1位运算位运算取反取反()()单目运算符,对一个二进制数按位取反。例: 025:0000000000010101025:1111111111101010位运算位运算移位移位l左移运算() 右移后, 低位:舍弃 高位:无符号数:补0有符号数:补“符号位”运算符优先级括号 +,-,sizeof *, /, % +, - =, != 位运算不可写为:if (a = b;) 0) t = a;复合

9、语句l将多个语句用一对大括号包围,便构 成一个复合语句l例如 sum=sum+i; i+; I/O的书写格式 l C+数据的输入与输出是通过I/O 流来实现的,I/O流输入或输出的是一系 列字节。当程序需要在屏幕上显示输出 时,可以使用插入符“ x;流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等。程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。I/O流的概念l当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的对象,另一个是文件

10、对象。l流是一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动。它既可以从输入设备(如键盘(默认的标准输入设备)、磁盘、网络连接等)流向计算机内存,亦可以从计算机内存流向输出设备(显示器(默认的标准输出设备)、打印机、磁盘、网络连接等)。lC+提供了低级和高级的I/O功能。l低级I/O功能(即无格式的I/O)通常只在设备和内存之间传输一些字节。这种传输过程以单个字节为单 位,它能进行高速、大容量的传输,但使用起来不 够便利。l高级I/O(即格式化I/O)把若干个字节组合成某种类 型(基本类型或自定义类型)的数据。这种面向类型 的I/O更适合于大多数情况下的输入/输出,但

11、在处 理大容量的I/O时性能不如低级I/O。C+的输入/输出流类库提供了数百种I/O功能,其I/O流类库的接口部分包含在几个头文件中。C+ I/O系统类层次图简单的I/O格式控制从上面的介绍中可以看出,当我们用cin、cout进行数据的输入和输出时,无论处理的是什么类型的数据,都能够自动按照默认格式处理。但这还是不够,我们仍经常需要设置特殊的格式。设置格式有很多方法,有关内容将在第11章做详细介绍,本节只介绍最简单的格式控制。C+的I/O流类库提供了一些控制符,可以直接嵌入到输入/输出语句中来实现I/O格式控制。使用格式控制符首先必须在源程序的开头包含iomanip.h。表2-6中列出了几个常

12、用的I/O流类库格式控制符。表2-6 常用的I/O流控制符控 制 符含 义Dec数值数据采用十进制Hex数值数据采用十六进制Oct数值数据采用八进制Ws提取空白符Endl插入换行符,并刷新流Ends插入空字符setprecision(int)设置浮点数的小数位数(包括小数点 ) setw(int)设置域宽 如果一个输出量需要比setw(n)确定的字 符数更多的字符,则该输出量将使用它所 需要的宽度。例如:float amount=3.14159;cout using namespace std; int main() int year;bool IsLeapYear;cout year; Is

13、LeapYear = (year % 4 = 0 if (IsLeapYear)cout y) cout y) cout using namespace std; int main() int x, y; cout x y; if (x != y) if (x y) cout y“ y7172l一般形式 if( )if( ) 语句 1else 语句 2 elseif( ) 语句 3else 语句 4l注意 语句 1、2、3、4 可以是复合语句,每 层的 if 与 else 配对,或用 来确定层 次关系。if if 语句语句嵌套嵌套73特殊的多分支结构例2-4输入一个06的整数,转换成星期输出

14、。#include using namespace std; int main() int day; cin day; switch (day) case 0: cout using namespace std; int main() int i = 1, sum = 0;while (i using namespace std; int main() int n, right_digit, newnum = 0; cout n;cout using namespace std; int main() int i, sum = 0;cin i;while (i using namespace

15、std; int main() int i, sum = 0;cin i;do sum += i;i+; while (i using namespace std; int main() int n;cout n; cout using namespace std; int main() for (int n = 100; n using namespace std;int main() int i = 0, j = 0, n; cout n; while (n != 0) if (n 0) i += 1;if (n n; cout 枚举变量说明:缺省时,系统为每一个枚举常量都对应一个整数,并从0开始,逐个增1,这些缺省的值也可重新指定。enum GameResult WIN, LOSE, TIE, CANCEL;96l枚举类型应用说明: 对枚举元素按常量处理,不能对它们赋值。 例如,不能写:SUN = 0; 枚举元素具有默认值,它们依次为: 0,1,2,。 也可以在声明时另行指定枚举元素的值,如 :enum WeekdaySUN=7,MON=1,TUE,WED,THU,FRI,SAT; 枚举值可以进行关系运算。 整数值不能直接赋给枚举变量,如需 要将整数赋值给枚举变

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

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

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