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

学习《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或任何非零的数值



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值