C++ Primer Plus第六章

这一章先介绍了if

然后介绍了if else

然后介绍了if else if else

然后介绍了if ,else if

这些都不写了。。。。都是Python差不多的东西,想通,

6.2逻辑表达式

OR 对应(||)

AND 对应(&&)

AND需要注意的就是一个取值范围相关的,如下:

// 取值范围测试每一部分都使用AND运算符将两个完整的关系表达式组合起来:

if (age > 17 && age < 35) // OK

// 不要用数学符号将其表示为:

if (17 < age < 35)

// 编译器不会捕获这种错误,因为他是有效的c++语法,但是这个真正的运算含义是如下:

if ((17 < age) < 35)

// 只判断前边的值,不管前边的值怎么样,总是比35小。。。所以结果总是true
NOT 对应 (!)

这个就跟python的not一样了,只不过是!而已

6.2.5 逻辑运算的细节

关于优先级,需要注意的就是!的运算符高于所有的关系运算符和算术运算符,所以如下:

!(x > 5)
!x > 5

// 第二个这个很明显先判断!x,只能转换为true,false,所以就是1或0,所以这个第二个总是false
但是要注意的就是逻辑运算符AND高于OR,如下:

age >30 && age < 45 ||weight > 300 //将被解释为
(age >30 && age < 45) ||weight > 300

(age >30 || age < 45) && weight > 300  //如果先用OR很明显,必须要括括号

6.3 字符函数库cctype

这个就是个函数包

记录一下方法,方便使用

isalnum()  //如果参数是字母或数字,返回true
isalpha()  //如果参数是字母,返回true
iscntrl()  //如果参数是控制字符,返回true
isdigit()  //如果参数是数字(0-9),返回true
isgraph()  //如果参数是除空格之外的打印字符,返回true
islower()  //如果参数是小写字符,返回true
isprint()  //如果参数是打印字符(包含空格),返回true
ispunct()  //如果参数是标点符号,返回true
isspace()  //如果参数是标准空白字符,返回true
isupper()  //如果参数是大写字母,返回true
isxdigit() //如果参数是十六进制数字,0-9,A-F,a-f,返回true
tolower()  //如果参数是大写字符,则返回小写,否则返回该参数
toupper()  //如果参数是小写字符,则返回大写,否则返回该参数

6.4 ?:运算符

其实就是if else python中也有类似,

5 > 3 ? 10 : 12  //如果5>3是true,那么值是10,否则就是12

6.5 switch

这个就是一个大合集,然后想让他执行哪里就执行哪里后边的语句

    switch(choice)
    {
       case 1: cout<< "text";
               break;
       case 2: cout<< "text";
               break;
       case 3: cout<< "text";
               break;
    }

// 但是如果case 1这种后边没有跟break,它会继续执行下边一条,知道遇到break
break   continue就跟python一样了,不写了

6.8 简单的文件输入/输出

6.8.2 写入到文本文件中

注意,虽然头文件iostream提供了一个预先定义好的名为cout的ostream对象,但您必须声明自己的ofsream对象,为其命名,并将其同文件关联起来,下面演示了如何声明这种对象。

ofstream outFile;
ofstream fount;
outFile.open("fish.txt");
char filename[50];
cin >> filename;
fout.open(filename);

注意,方法open()接受一个C-风格字符串作为参数,这可以是一个字面字符串,也可以是存储在数组中的字符串。

下面演示了如何使用这种对象:

double wt = 125.8;
outFile << wt;
char line[81] = "Object are closer than they appear.";
fount << line << endl;

重要的是,声明一个ofstream对象并将其 同文件关联起来后,便可以像使用cout那样使用它,所有可用于cout的操作和方法(如<<、endl和setf())都可用于ofstream对象(如前述示例中的outFile和fout)

总之,使用文件输出的主要步骤如下:

1.包含头文件fstream

2.创建一个ofstream

3.将该ofstream对象同一个文件关联起来

4.就像使用cout那样使用该ofstream对象

如下演示:

// outfile.cpp -- writing to a file
#include <iostream>
#include <fstream>        // for file I/O

int main()
{
	using namespace std;

	char automobile[50];
	int year;
	double a_price;
	double d_price;

	ofstream outFile;                  // create object for output
	outFile.open("carinfo.txt");            // associate with a file

	cout << "Enter the make and model of automobile:";
	cin.getline(automobile, 50);
	cout << "Enter the original asking price:";
	cin >> a_price;
	d_price = 0.913 * a_price;
// display information on screen with cout

	cout << fixed;
	cout.precision(2);
	cout.setf(ios_base::showpoint);
	cout << "Make and model:" << automobile << endl;
	cout << "Year:" << year << endl;
	cout << "Was asking $" << a_price << endl;
	cout << "Now asking $" << d_price << endl;

// now do exact things using outFile instead of cout

	outFile << fixed;
	outFile.precision(2);
	outFile.setf(ios_base::showpoint);
	outFile << "Make and model:" << automobile << endl;
	outFile << "Year: " << year << endl;
	outFile << "Was asking $" << a_price << endl;
	outFile << "Now asking $" << d_price << endl;

	outFile.close();        // done with file
	return 0;
}
6.8.3 

读取文本文件

基本差不多,outFile 改成了inFile;

ifstream inFile;
ifstream fin;
inFile.open("bowling.txt");

注意,方法close()不需要使用文件名作为参数,这是因为outFile已 。经同特定的文件关联起来,如果您忘记关闭文件,程序正常终止将自动关闭它。

警告:打开已有的文件,以接受输出时,默认将它其长度截短为零,因此原来的内容将丢失。

总结:

使用引导程序选择不同操作的语句后,程序和编码将更有趣(这是否也能引起程序员们的兴趣?)C++提供了if语句、if else语句和switch语句来管理选择,if语句使程序有条件的执行语句或语句块。也就是说,如果满足特定的条件,程序将执行特定语句或语句块,is else语句程序选择执行两个语句或语句块之一,可以在这条语句后加上if else。以提供一系列的选项,switch语句引导程序执行一系列选项之一。

C++还提供了帮助决策的运算符。第五章讨论了关系表达式,这种表达式对两个值进行比较,is 和if else语句通常使用关系表达式作为测试条件,通过使用逻辑运算符(&&、||、!),可以组合或修改关系表达式,创建更细致的测试,条件运算符(?:)提供了一种选择两个值之一的简洁方式。

cctype字符函数库提供了一组方便的、功能强大的工具,可用于分析字符输入。

对于文件i/o来说,循环和选择语句使很有用的工具,文件的i/o与控制台i/o极其相似,声明ifstream和ofstream对象,并将它们同文件关联起来后,边可以像使用cin和cout那样使用这些对象.

使用循环和决策语句,便可以编写有趣的、智能的、功能强大的程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值