《C++ Primer》读书笔记-第一章 入门
2016-11-13 20:40
183 查看
作者:马志峰
链接:https://zhuanlan.zhihu.com/p/23233125
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原书有更加详细、精彩的释义,请大家购买正版书籍进行学习。
本文仅作学习交流使用,禁止任何形式的转载
这一章主要是带我们感受一下C++,属于预热的章节,相对简单。主要有以下4个主题:
函数
标准输入输出
流程控制语句
类
一个C++程序由一个或多个函数组成。上面的几行代码刚好就完成了一个函数的定义。更一般的,一个函数的定义包含四个部分
返回类型(int)
函数名(main)
形参列表(())
函数体({return 0;})
main函数的返回类型必须为int,int是一种数据类型,用来表示整数。每个C++程序必须包含一个main函数,作为操作系统调用C++程序的入口。
因此上面的几行代码就是一个C++程序了。
具体来说就是iostream库,包括istream和ostream,分别表示输入流和输出流
它定义了4个IO对象
cin(标准输入)
cout(标准输出)
cerr(标准错误)
clog(标准日志)
我们常用的是cin和cout。
运行后,控制台显示:
Enter two number:
用户输入:
3 7
回车后显示:
The sum of 3 and 7 is:10
代码分析:
#include<iostream> 告诉编译器我们想要使用iostream库,尖括号中的名字指出了一个头文件(这里是iostream),每个使用标准库设施的程序都必须包含相关的头文件
函数体的第一行使用了输出运算符(<<),<<运算符接受两个运算对象,左侧是一个ostream对象,右侧是需要打印的值。执行结束后返回左侧的运算对象,即ostream。因此,std::cout << "Enter two numbers:" << std::endl;实际是分两次执行的,先执行std::cout << "Enter two numbers:", 返回左侧的ostream对象,即std::cout,然后执行std::cout << endl;
std::endl是一个操纵符,作用有两个:换行和将缓冲区中的内容刷新到屏幕。除了cerr外,cin、cout和clog都是将信息输出到缓冲区中,因此需要使用endl操纵符将缓冲区的内容输出到屏幕
与<<类似,输入运算符(>>)左侧是一个istream对象,右侧是用于接受用户输入的对象,返回值是左侧的istream对象
在使用cin和cout时都使用了std::作限制,std是一个命名空间(namespace),::是作用域运算符,std::cin表示使用std命名空间中的cin
单行注释:以双斜线(//)开始,以换行符结束
多行注释:以/*开始,以*/结束,内部的行习惯以*开头,从而指出它是多行注释的一部分
for语句:也用来反复执行一段代码,但形式上略有不同
if...else...语句:用来支持条件执行
执行过程
检查condition
执行statement
重复执行1和2,直到condition为假
while语句在循环条件中检查变量的值,在循环体中修改变量的值
而
for语句则把检测变量和修改变量的过程都放在了循环头中
执行过程
init-statement
检查condition
执行循环体中的statement
执行循环头中的expression
重复执行2-4,直到condition为假
上面的例子也可以用for语句完成
执行过程
当condition为真时执行statement,否则不执行
在上面的for循环中添加一个if语句
虽然for循环仍会遍历1到10之间的所有数字,但只会对小于等于5的那部分执行求和。
while循环使用std::cin >> value作为条件,我们知道std::cin >> value的返回值为std::cin,使用一个istream对象作为条件时,其效果是检测流的状态,当遇到文件结束符或无效输入时,istream对象的状态变为无效,条件为假;否则为真。
作者说:
学习一门新的程序设计语言的最好方法就是练习编写程序
类型是程序设计最基本的概念之一
程序所处理的数据都保存在变量中,而每个变量都有自己的类型
链接:https://zhuanlan.zhihu.com/p/23233125
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
声明:
文中内容收集整理自《C++ Primer 中文版 (第5版)》,版权归原书所有。原书有更加详细、精彩的释义,请大家购买正版书籍进行学习。
本文仅作学习交流使用,禁止任何形式的转载
这一章主要是带我们感受一下C++,属于预热的章节,相对简单。主要有以下4个主题:
函数
标准输入输出
流程控制语句
类
最简单的C++程序
int main() { return 0; }
一个C++程序由一个或多个函数组成。上面的几行代码刚好就完成了一个函数的定义。更一般的,一个函数的定义包含四个部分
返回类型(int)
函数名(main)
形参列表(())
函数体({return 0;})
main函数的返回类型必须为int,int是一种数据类型,用来表示整数。每个C++程序必须包含一个main函数,作为操作系统调用C++程序的入口。
因此上面的几行代码就是一个C++程序了。
C++中的输入输出
C++通过标准库(Standard Library)来提供输入输出(IO)机制具体来说就是iostream库,包括istream和ostream,分别表示输入流和输出流
它定义了4个IO对象
cin(标准输入)
cout(标准输出)
cerr(标准错误)
clog(标准日志)
我们常用的是cin和cout。
cin、cout使用实例
使用IO库与用户交互,实现两个数相加#include<iostream> int main() { std::cout << "Enter two numbers:" << std::endl; int v1 = 0, v2 = 0; std::cin >> v1 >> v2; std::cout << "The sum of " << v1 << " and " << v2 << " is:" << v1 + v2 << std::endl; return 0; }
运行后,控制台显示:
Enter two number:
用户输入:
3 7
回车后显示:
The sum of 3 and 7 is:10
代码分析:
#include<iostream> 告诉编译器我们想要使用iostream库,尖括号中的名字指出了一个头文件(这里是iostream),每个使用标准库设施的程序都必须包含相关的头文件
函数体的第一行使用了输出运算符(<<),<<运算符接受两个运算对象,左侧是一个ostream对象,右侧是需要打印的值。执行结束后返回左侧的运算对象,即ostream。因此,std::cout << "Enter two numbers:" << std::endl;实际是分两次执行的,先执行std::cout << "Enter two numbers:", 返回左侧的ostream对象,即std::cout,然后执行std::cout << endl;
std::endl是一个操纵符,作用有两个:换行和将缓冲区中的内容刷新到屏幕。除了cerr外,cin、cout和clog都是将信息输出到缓冲区中,因此需要使用endl操纵符将缓冲区的内容输出到屏幕
与<<类似,输入运算符(>>)左侧是一个istream对象,右侧是用于接受用户输入的对象,返回值是左侧的istream对象
在使用cin和cout时都使用了std::作限制,std是一个命名空间(namespace),::是作用域运算符,std::cin表示使用std命名空间中的cin
注释
注释用于给代码添加说明文字,编译器会忽略注释,因此注释是给人看的。单行注释:以双斜线(//)开始,以换行符结束
多行注释:以/*开始,以*/结束,内部的行习惯以*开头,从而指出它是多行注释的一部分
#include<iostream> /* * 简单主函数 * 读取两个数,求它们的和 */ int main() { //省略 return 0; }
控制流(流程控制语句)
while语句:反复执行一段代码,直到给定条件为假为止for语句:也用来反复执行一段代码,但形式上略有不同
if...else...语句:用来支持条件执行
while语句
while语句的形式为while(condition) statement
执行过程
检查condition
执行statement
重复执行1和2,直到condition为假
实例:计算1到10之间所有数字的和
#include<iostream> int main() { int sum = 0, val = 1; //只要val的值小于或等于10,while循环就会持续执行 while(val <= 10) { sum += val; ++val; } std::cout << "sum of 1 to 10 inclusive is " << sum << std::endl; return 0; }
while语句在循环条件中检查变量的值,在循环体中修改变量的值
而
for语句则把检测变量和修改变量的过程都放在了循环头中
for语句
for语句的形式为for(init-statement;condition;expression) statement
执行过程
init-statement
检查condition
执行循环体中的statement
执行循环头中的expression
重复执行2-4,直到condition为假
上面的例子也可以用for语句完成
#include<iostream> int main() { int sum = 0; for(int val = 1; val <= 10; ++val) { sum += val; } std::cout << "sum of 1 to 10 inclusive is " << sum << std::endl; return 0; }
if语句
if语句用来支持条件执行,形式为if(condition) statement
执行过程
当condition为真时执行statement,否则不执行
在上面的for循环中添加一个if语句
#include<iostream> int main() { int sum = 0; for(int val = 1; val <= 10; ++val) { //添加if语句 if( val <= 5) { sum += val; } } std::cout << "sum of 1 to 10 inclusive is " << sum << std::endl; return 0; }
虽然for循环仍会遍历1到10之间的所有数字,但只会对小于等于5的那部分执行求和。
应用实例
实例1,读取数量不定的输入
不断读取用户输入直到没有新的输入为止,输出所有数据的和include<iostream> int main() { int sum = 0, value = 0; while(std::cin >> value) { sum += value; } std::cout << "sum is " << sum << std::endl; return 0; }
while循环使用std::cin >> value作为条件,我们知道std::cin >> value的返回值为std::cin,使用一个istream对象作为条件时,其效果是检测流的状态,当遇到文件结束符或无效输入时,istream对象的状态变为无效,条件为假;否则为真。
实例2,统计值连续出现的次数
读取数量不定的输入,统计输入中每个值连续出现的次数#include<iostream> int main() { //currval是我们正在统计的数;我们将读入的新值存入val int currval = 0, val = 0; //读取第一个数,并确保确实有数据可以处理 if(std::cin >> currval) { int cnt = 1;//记录当前数值出现的次数 while(std::cin >> val) //读取用户输入 4000 { if( val == currval) //如果值相同,则计数加1 { ++cnt; } else //否则当前统计结束,打印结果 { std::cout << currval << " occurs " << cnt << " times" << std::endl; currval = val; //记住新值 cnt = 1; //重置计数 } } //打印最后一个数值的个数 std::cout << currval << " occurs " << cnt << " times" << std::endl; } return 0; }
作者说:
学习一门新的程序设计语言的最好方法就是练习编写程序
类型是程序设计最基本的概念之一
程序所处理的数据都保存在变量中,而每个变量都有自己的类型
相关文章推荐
- 【C++ primer】第一章 快速入门 读书笔记
- C++ primer 读书笔记--第一章 快速入门
- C++ Primer 第一章 快速入门笔记
- C++ Primer复习和学习笔记 第一章 快速入门
- c++ primer 5th 第一章读书笔记
- C++ Primer 【第四版】第一章 快速入门
- 《深入理解bootstrap》读书笔记:第一章 入门准备
- ThinkInJava4读书笔记之第一章对象入门
- C++ Primer 第一章 快速入门
- 《C++ Primer》读书笔记第一章
- 《c++ primer》第一章--快速入门
- C++ Primer 第一章 快速入门
- 总结:《C++ primer》中文版——第一章 快速入门
- C++ Primer 第一章 快速入门
- C++ Primer 读书笔记 - 第一章
- [C++ Primer]第一章 快速入门
- C++ Primer 读书笔记一 快速入门
- 《C++ Primer》学习笔记1-第一章快速入门
- (读后感)C++ Primer(第四版) 第一章 快速入门
- C++ Primer快速学习 第一章 入门