C++ Primer Plus 第五章之知识梳理
2020-02-02 17:17
691 查看
1.逗号运算符花絮
cata = 17,240; 被解释为 (cata = 17),240; cata = (17,240); 被解释为cata = 240;
2.for循环体里的字符串
#include<iostream> #include<cstring> //提供了strcmp()函数原型 using namespace std; int main(){ char word[5]="?ate"; for(char ch = 'a';strcmp(word,"mate");ch++) { cout<<word<<endl; word[0]=ch; } return 0; }
- strcmp()函数在cstring头文件中,相同返回false,不同返回true,所以可以不用strcmp(word,“mate”)!=0
- 字符实际上是整型,可以用递增或递减运算,如ch++
3.while循环
- 当不是指定次数循环时,如word != “mate”;最好用while循环,而不是for循环
- 用string类重载运算符!=当至少有个操作数为string对象,另一个操作数可以是string对象,也可以是c-风格字符串。word != “mate”;
4.循环体中的cin输入
- cin将忽略空格和换行符。因此输入中的空格没有被回显,也没有被包括在计数内。
- 发送给cin的输入被缓冲。这意味着只有用户按下回车键后,他输入的内容才会被发送给程序。
#include<iostream> #include <stdio.h> using namespace std; int main(){ int ch; int count =0; while((ch = cin.get())!= EOF){ cout.put(char(ch)); ++count; } cout<<endl<<count<<"\n"; return 0; }
刚开始报错error: ‘EOF’ was not declared in this scope,要文件的最开始加上#include <stdio.h>,因为EOF、stderr等都是在这个文件中定义的
5.二维数组
char * cities[Cities] = { "asdfad", "adfad", "fdfdf" };
从存储空间来说,指针数组更为经济
char cities[Cities][20] = { "asdfad", "adfad", "fdfdf" };
如果要修改其中的任何一个字符串,则二维数组是更好的选择
string cities[Cities] = { "asdfad", "adfad", "fdfdf" };
希望字符串是可修改的情况下,string类自动调整大小的特性将使这种办法比使用二维数组更为方便。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- C++ primer plus预备知识笔记
- 2012/1/13 《C++ Primer Plus》第五章:循环和表达式 学习笔记
- C++ Primer Plus (第6版)编程练习 代码-----第五章
- [C++ Primer Plus] 类基础知识--类继承
- 4000 [C++ Primer Plus] 类基础知识
- C++ Primer Plus(第六版)—— 第五章 循环和关系表达式 笔记和答案
- C++ Primer Plus第五章课后编程答案
- C++ primer plus 学习笔记 (第五章 循环和关系表达式)
- C++ Primer Plus 学习笔记 第五章 编程练习
- 【读书笔记:C++ primer plus 第六版 中文版】第1章 预备知识
- C++ Primer Plus第五版 第五章 编程练习答案
- c++ primer plus 第五章笔记
- c++ primer plus第五章编程答案
- 《C++ Primer Plus》学习笔记 第1章 预备知识
- C++primer plus第五章--循环和关系表达式
- 《C++ Primer Plus(第六版)》(7)(第五章 循环和关系表达式 答案)
- C++ primer plus学习:第一章 预备知识
- C++ primer plus 1 : 预备知识
- C++ primer plus 第五章笔记
- C++ Primer Plus 学习笔记 第五章 01 for循环 递增运算符和递减运算符 复合语句,逗号运算符 C风格字符串比较、string类字符串比较