第二章 c++简单程序设计(二) 2.3 数据的输入和输出 2.3.1 I/O流
● 在C++中,将数据从一个对象到另一个对象的流动抽象为“流”。流在使用前要被建立,使用后要被删除。
● 数据的输入与输出是通过I/O流来实现的,cin和cout是预定义的流类对象。cin用来处理标准输入,即键盘输入。cout用来处理标准输出,即屏幕输出。
● 从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。 2.3.2 预定义的插入符和提取符
● “<<”是预定义的插入符,作用在流类对象cout上便可以实现项标准输出设备输出。
■ cout << 表达式 << 表达式...
● 标准输入是将提取符作用在流类对象cin上。
■ cin >> 表达式 >> 表达式...
● 提取符可以连续写多个,每个后面跟一个表达式,该表达式通常是用于存放输入值的变量。例如:
■ int a, b; ■ cin >> a >> b;
2.3.3 简单的I/O格式控制 常用的I/O流类库操纵符 操纵符名 dec hex 含 义
数值数据采用十进制表示 数值数据采用十六进制表示 oct ws endl ends setsprecision(int) setw(int)
数值数据采用八进制表示 提取空白符 插入换行符,并刷新流 插入空字符 设置浮点数的小数位数(包括小数点) 设置域宽
例:cout << setw(5) << setprecision(3) << 3.1415; 2.4 算法的基本控制结构 2.4.1 if语句 If语句的语法形式
if (表达式) 语句 例:if (x > y) cout << x; if (表达式) 语句1 else 语句2 例:if (x > y) cout << x; else cout << y; if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 … else 语句 n 例2-2输入一个年份,判断是否闰年 #include
using namespace std; int main() {
int year;
bool isLeapYear;
cout << \ cin >> year;
isLeapYear = ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0));
if (isLeapYear)
cout << year << \ else
cout << year << \ return 0; }
2.4.2 多重选择结构 1.嵌套的if结构 ● 语法形式
if( )
if( ) 语句 1 else 语句 2
else
if( ) 语句 3 else 语句 4
● 注意
■ 语句 1、2、3、4 可以是复合语句;
■ 每层的 if 与 else 配对,或用 { } 来确定层次关系。 例2-3:输入两个整数,比较两个数的大小 #include
using namespace std; int main() {
int x, y;
cout << \ cin >> x >> y; if (x != y)
if (x > y)
cout << \ else
cout << \ else
cout << \ return 0; }
3. switch语句 ● 语法形式 switch (表达式)
{ case 常量表达式 1:语句1 case 常量表达式 2:语句2 ┆
case 常量表达式 n:语句n default : 语句n+1 }
● 执行顺序
■ 以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个case分支最
后应该加break语句。
● 注意
■ case分支可包含多个语句,且不用{ }。 ■ 表达式、判断值都是int型或char型。 ■ 如果若干分支执行内容相同可共用一组语句。 例2-4:输入一个0~6的整数,转换成星期输出
#include
case 0: cout << \ case 1: cout << \ case 2: cout << \ case 3: cout << \ case 4: cout << \ case 5: cout << \ case 6: cout << \ default:
cout<<\ }
return 0; }
关键字 default 说明了表达式的结果不等于任何一种情况时的操作(事实上,它相对于 else从句)。所以,你认为你的表达式结果已经包含了所有情况,当然可以不写。
2.4.3 循环结构——WHILE语句(p44) 1. while语句 ● 语法形式
2.2 第二章 c++简单程序设计(二)



