第六章总结
来源:互联网 发布:mac上的ps软件多少钱 编辑:程序博客网 时间:2024/06/11 23:42
好久没有看C++ primer plus 了,原来我还看了一点,今天感觉没有意思,简单翻看一下,感觉收获颇多,简单总结一下,怕以后忘了。
总结一:
#include <iostream>int main (void) {char ch;std::cin >> ch;std::cout << ch+1 << std::endl;std::cout << ++ch << std::endl;return 0;}
std::cout << ch+1 与 std::cout << ++ch 输出是不一样的。
std::cout << ch+1 输出的是数字
std::cout << ++ch 输出的是字母
总结二:
||(OR) &&(AND) 运算方式
A || B
如果A的结果是TRUE,则不会判断B,如果A的结果为FALSE,才会判断B,如果B为FALSE,结果为FALSE。
A && B
如果A的结果是FALSE,判断结果为FALSE,B不会执行。如果A为TRUE,B才会执行。
总结一下: 对于|| 只要有一个为TRUE,他不会看以后的判断了,结果为TRUE,对于&&如果有一个为FALSE,他也不会看以后的判断了,结果为FALSE。
总结三:
||(OR) &&(AND) !(NOT)的优先级
! > && > ||
! 运算符的优先级高于所有的关系运算符和算术运算符
&& 运算符的优先级低于关系运算符但大于||运算符
|| 低于关系运算符
关系运算符 < 算术运算符
! (x > 5)和
! x > 5
是不一样的意思
总结四:
逻辑关系的另一种表示方式
&& and
|| or
! not
#include <iostream>using namespace std;int main (void) {cout << "hello" and cout << " world" << endl;cout << "c++ " orcout << "Primer" << endl;not 0 && cout << "Primer" << endl;return 0;}
三目运算符。
const char x[2][20] = {"Jason","at your service"};cosnt char * y = "Quillstone";for (int i = 0;i <3;i++) cout << ((i < 2) ? !i ? x[i] : y : x[1]);
请问输出什么呢?
这个我见过的够恶心的了,如果有谁比这个还恶心给我分享一下,这几天不想吃饭,想减肥。
结果为:Jason Quillstone at your service
总结六:
switch (char || int || enum)
switch语句中只能放这三种类型,其实只要里面是整数就可以运行吧。
总结七:
cin错误处理
#include <iostream>using namespace std;int main (void) {int array[10];for (int i = 0;i < 5;i++) {while (! (cin >> array[i])){cin.clear ();while (cin.get () != '\n') continue;cout << "please enter a number: "; }}for (int i = 0;i < 5;i++) {cout << array[i] && cout << (i == 4 ? '\n' : ' ');}return 0;}
如果你输入的不是数字,他会进行判断,cin>>array[i] 返回FALSE而且不会进入数组中,重新重载输入。之后清空缓冲区一直遇到'\n'重新输入。
这个操作让我想起了c语言中的 scanf ("%*[^\n]"); scanf ("%*c");。
总结八:
简单文件输入/输出流
对比: cout 和 文件输出
输出流
1.必须包含头文件iostream
2.头文件iostream定义了一个用处理输出的ostream类
3.头文件iostream声明了一个名为cout的ostream变量(对象)
4.必须指明命名空间std;
5.可以结合使用cout和运算符<<来显示各种类型的数据
文件输出
1.必须包含头文件fstream
2.头文件fstream定义了一个用于处理输出的ofstream类
3.需要声明一个或多个ofstream变量(对象), 并以自己喜欢的方式对其命名,条件是遵守命名规则。
4.必须指明命名空间。
5.需要将ofstream对象与文件关联起来。
6.使用完文件后,应使用方法close() 将其关闭
7.结合使用ofstream对象和运算符<<来输出各种类型的数据
#include <iostream>#include <fstream>using namespace std;int main (void) {ofstream outFile;outFile.open ("resource.txt");outFile << "hello world" << endl;outFile.close ();return 0;}
cin和文件输入对比
输入流
1.必须包含头文件iostream
2.头文件iostream定义了一个用处理输入的istream类。
3.头文件iostream声明了一个名为cin的istream变量(对象)
4.必须指令命名空间std;
5.可以结合使用cin 和运算符>>来读取各种类型的数据
6.可以使用cin和eof,fail方法来判断输入是否成功。
7.对象cin本身被用作测试条件时,如果最后一个读取粗啊哦做成功,他将被转换为TRUE,否则被转换为FALSE
输入文件
1.必须包含头文件fstream
2.头文件fstream定义了一个用于处理输入的ifstream类。
3.需要声明一个或多个ifstream变量(对象), 并以自己喜欢的额方式对其进行命名,条件是常用的命名规则。
4.必须指明命名空间std;
5.需要将ifstream对象与文件关联起来。
6.使用完文件后。应使用close()方法将其关闭
7.可结合使用ifstream对象和运算符>>来读取各种类型的数据
8.可以使用ifstream对象和get() 方法来读取一个字符,使用ifstream对象和getline() 来读取一行字符。
9.可以结合使用ifstream和eof() fail() 等方法来判断输入是否成功.
10.ifstream对象本身被用作测试条件时,如果最后一个读取操作成功,他将被转化为TRUE,否则被转换为FALSE
#include <iostream>#include <fstream>using namespace std;int main (void) {ifstream inFile;inFile.open ("resource.txt");char szLog[128];inFile.getline (szLog, 128);cout << szLog << endl;inFile.close ();return 0;}
成功返回TRUE,失败返回FALSE,is_open 是c++中比较新的内容如果编译器不支持就是用good(),但是good() 在检查可能存在问题,没有is_open () 那么广泛
2)判断是否遇到EOF(读到了文件尾) eof ()
遇到返回TRUE,没有则返回FALSE
3)如果在最后一次读取操作中违反了类型不匹配的情况 fail
遇到返回TRUE,没有则返回FALSE
4)可能发生如文件损坏或硬件故障 bad()
遇到返回TRUE,没有则返回FALSE
5)判断是否有任何错误 good()
有错误返回FALSE,没有错误返回TRUE
- 《第六章 复用类》 总结
- 第六章 过程总结
- 第六章数组总结
- 第六章总结
- 第六章总结
- 第六章知识点总结
- 第六章 进程 总结
- Java总结第六章
- 第六章 13_总结
- 第六章(笔记总结)
- 数据结构第六章知识总结
- 软件工程第六章知识点总结
- 第六章 常用类总结
- c++ primer 第六章总结
- 第六章:标签内常用方法总结
- 算法导论第六章 堆排序总结
- 算法导论 第六章优先队列总结
- 《信息检索导论》第六章总结
- iOS(iPhone,iPad))开发(Objective-C)开发库常用库索引
- 超详细uboot的移植(GEC210开发板)
- java中如何运行jar文件
- VMware中centos6的网络配置
- 栈的程序演示
- 第六章总结
- 如何禁用防火墙激活CleanMyMac 3
- ZOJ 2770 Burn the Linked Camp( 差分约束啊 )
- 数据库性能优化(MySQL)
- loadView和viewDidLoad的用法
- 内存管理: alloc, retain, release, autorelease, copy, assign
- Java并发编程:线程池的使用
- HDU 4788 Hard Disk Drive
- codeforces #312 558A A. Lala Land and Apple Trees(暴力)