栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ Primer Plus 学习笔记(三)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ Primer Plus 学习笔记(三)

目录

第六章. 分支语句和逻辑运算符

1. if 语句

2. 逻辑表达式

3. 字符函数库cctype

4. ?:运算符

5. switch 语句

6. break 和 continue 语句

7. 读取数字的循环

8. 简单文件输入/输出


第六章. 分支语句和逻辑运算符

1. if 语句

跟 C 语言的一样...

2. 逻辑表达式

C++ 有个顺序点的概念,像逗号运算符、逻辑运算符都是从左到右的顺序,四则运算的时候,像3*4+5*6的时候,可能会先算5*6.。17 < age < 35这种情况,先比较 17 < age,它的值要么是 TRUE 要么是 FALSE,即0或者1,因此一定小于35。

逻辑“与”(&&)和“或”(||)的优先级小于关系运算符,而逻辑“非”(!)的优先级高于关系运算符和算术运算符,因此在使用“非”(!)的时候,注意括号的使用。

逻辑“与”(&&)的优先级高于“或”(||),一起使用的时候同样注意括号。

运算符另一种表示方式
%%and
||or
not

3. 字符函数库cctype

标准库的一些函数......

4. ?:运算符

通用格式:

expression1 ? expression2 : expression3

expression1 为真,整个表达式的值文expression2,否则为expression3。

const char x[2][20] = {"Jason", "at your servicen"};
const char * y = "Quillstone ";
for (int i = 0; i < 3; i++}
{
    cout << ((i < 2) ? !i ? x[i] : y : x[1]);
}
// 先计算 !i ? x[i] : y

5. switch 语句

swtich的参数必须是整数值的表达式(包括 char),case的标签也是一样,且是常量。如果没有 default 且 switch 的参数没有匹配的 case ,则跳过 switch 语句。

根据p184的例子,我的理解是,当 switch 的输入是 int 型时,可以转换成对应的枚举常量。

选项超过两个,相较于 if else 语句,switch 执行速度效率更高。

6. break 和 continue 语句

break 跳过循环或者 switch 语句剩下的部分, continue 语句用于循环中,跳过剩下的语句,开始新一轮的循环。

7. 读取数字的循环

cin.clear()当 cin 为 false 时,重置输入,不然输入会停滞。

8. 简单文件输入/输出

cin 进行输入时,将输入看做字符,根据输入到的变量类型将字符转换成对应的量。cout 与 cin 正好反过来,将变量的值转换成字符输出出来。

文件输入输出也需要特定的头文件 ,使用 std :: 或 using 使用 fstream 中的元素,与 cin、cout 类似的性质。不过 fstream 的 ifstream 和 ofstream 的对象需要声明出来。

ifstream inFile;
ofstream outFile;

ofstream 的对象 调用 open 函数时,打开已有的文件并默认删除改文件的内容,文件处理完成后,调用 close 函数关闭文件。

cout << fixed;  // 用一般的形式表示浮点数,不是科学计数法

如果打开文件是否失败,可以用下面方法测试:

inFile.open("bowl.txt");
if (!inFile.is_open()){  // is_open判断函数是否正确打开
    exit(EXIT_FAILURE);
}

EXIT_FAILURE 和 exit() 定义在头文件 cstdlib 中,该函数终止程序。输入或输出的文件要包含路径,默认在程序的文件夹内。

good 方法检查 ifstream 对象是否正常,eof 方法检查是否读到文件尾,bad 方法检查输入与想要的类型是否匹配,如果返回 true ,输入会停止,需要 clear 来清除。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/513048.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号