您的位置:首页 > 编程语言 > C语言/C++

C++学习 【3.2】 程序设计初步---输入、输出&关系运算、逻辑运算

2016-01-21 10:14 731 查看
学习《C++程序设计》(第二版) 谭浩强 主编

第三章 程序设计初步

3.4 C++的输入和输出

3.5 编写顺序结构的程序

3.6 关系运算和逻辑运算

3.4 C++的输入和输出

应该说明:

输入和输出并不是C++语言中的正式组成成分

C和C++本身都没有为输入和输出提供专门的语句结构

在C中,输入和输出的功能是通过调用scanf函数和printf函数来实现的

在C++中,是通过调用输入输出流库中的流对象cin和cout实现的

也就是说,输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的

C++的输出和输入是用流的方式实现的

流指的是来自设备或传送给设备的一个数据流

<< 流插入运算符 默认的设备是显示器

>> 流提取运算符 默认的设备是键盘

3.4.1 输入流与输出流的基本操作

cout<<表达式1<<表达式2<<...;

cin>>变量1>>变量2>>...;

在定义流对象时,系统会在内存中开辟一段缓存区,用来暂存输入输出流的数据

在执行cout语句时,并不是插入一个数据就马上输出一个数据,而是先把插入的数据顺序存放在输出缓冲区中

直到输出缓冲区满或遇到cout语句中的endl(或'\n',ends,flush)(留疑)

在用cout输出时,用户不必通知计算机按何种种类输出,系统会自动判别输出数据的类型,是输出的数据按相应的类型输出

在用cin输入时,系统会根据变量的类型从输入流中提取相应长度的字节

cin:系统会把空格作为数据间的分隔符,不予提取

不能用cin语句吧空格字符和回车换行符作为字符输入给字符变量,它们将被跳过

如果想将空格字符或回车换行符(或任何其他键盘上的字符)输入给字符变量,可以用getchar函数

3.4.2 在标准输入流和输出流中使用控制符

上面介绍的是使用cout和cin时的默认格式,但有时人们会在输出输入时有一些特殊的要求

C++提供了在标准输入输出流中使用的控制符

如:

dec 设置数值的基数为10

hex 设置数值的基数为16

..........

需要注意的是:如果使用了控制符,在程序单位的开头除了要加iostream头文件外,还要加iomanip头文件

3.4.4 用scanf和printf函数进行输入和输出

在C中是用printf输出,用scanf输入的

scanf(格式控制,输出表列)

printf(格式控制,输出表列)

使用printf和scanf函数进行输出和输入,必须指定输入和输出的数据的类型和格式,不仅繁琐复杂,而且容易出错

3.5 编写顺序结构的程序

如果程序中要用到数学函数,都要包含头文件cmath

3.6 关系运算和逻辑运算

并不是在任何情况下,都要求按照语句出现的顺序执行的,人们往往要求根据某个指定的条件是否满足来决定执行的内容

3.6.1 关系运算和关系表达式

C++的关系运算符有:

1.< 2.> 3.<= 4.>= 优先级相同(高)

5.== 6.!= 优先级相同(低)

关于优先次序

1.关系运算符的优先级低于算术运算符

2.关系运算符的优先级高于赋值运算符

用关系运算符将两个表达式连接起来的式子,称为关系表达式

关系表达式的一般形式:

表达式 关系运算符 表达式

任何表达式都应该有一个确定的值:

算术表达式的值是一个数值

赋值表达式的值就是赋予变量的值

关系表达式的值就是一个逻辑值

在C和C++中都用数值1代表真,0代表假

3.6.2 逻辑常量和逻辑变量

C语言没有提供逻辑性数据,关系表达式的值用数值1或0代表

C++增加了逻辑型数据。逻辑型常量只有两个,即false和true

逻辑型变量要用类型标识符bool来定义

逻辑型变量在内存中占1个字节,用来存放0或1

如果将一个非零的整数赋给逻辑型变量,则按“真”处理

3.6.3 逻辑运算和逻辑表达式

有时只用一个关系表达式还不能正确表示所指定的条件

C++提供3种逻辑运算符:

1. &&逻辑与

2. || 逻辑或

3. ! 逻辑非

优先级:(从高到低)



算术运算符

关系运算符

&&和||

赋值运算符

逻辑运算的结果不是0就是1,不会是其他值

而在逻辑表达式中作为参与逻辑运算的运算对象可以是0或任何非零的数值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: