C++ Primer 读书笔记 第1章
1.1 编写简单的C++程序
每个C++程序都必须包含一个main函数,因为main函数是系统执行入口,且main函数是唯一被系统显示调用的函数。
定义函数必须指定4个元素:返回类型、函数名、形参表、函数体。
main函数的形参个数是有限的。
返回值类型必须和函数的返回类型相同,或者可以转换为函数的返回类型。
1.2 偷窥输入输出
iostream库的基础是istream(输入流)和ostream(输出流)的类型。
流:指从某种IO设备上读入或写出的字符序列。
1.2.1 标准输入与输出对象
标准库定义了4个IO对象
l cin:标准输入,处理输入;
l cout:标准输出,处理输出;
l cerr:标准错误,输出警告和错误信息给程序使用者;
l clog:用于产生程序执行的一般信息;
1.2.2 一个使用IO库的程序
应用实例:
#include<iostream>
using namespace std;
int main()
{
std::cout<< "请输入?"<<std::endl;
int v1,v2;
std::cin>>v1>>v2>>std::endl;
std::cout<<"用户输入了:"<<v1<<"and"<<v2<<std::endl;
}
这里std::表示是在std这个命名空间下
std::endl是个特殊值,称为操纵符(manipulator):具有输出换行效果,并刷新与设备相关的缓冲区(buffer)。通过刷新缓冲区,输入输出会立刻生效,输出的内容会立刻被呈现在屏幕或文件上。
由于这些功能属于标准库而不是内置类型,故使用前必须导入对应的库#include<iostream>
使用标准库中的名字
Std::cout和std::endl的前缀std::表明cout和endl是定义在命名空间(namespace)std中的。
优点:使用命名空间,程序员可避免由于无意中是用来与库中所定义名字相同的名字而引致冲突。
1.3 注释
类或者代码块的说明以/*开头,以*/结束,可跨行;单行注释用//。
通常最好将一个注释块放在所解释代码的上方。
注释不可以嵌套。
1.4 控制结构
1.4.1 while语句
1.4.2 for语句
1.4.3 if语句
1.4.4 读入未知数目的输入
可以通过while和std::cint的结合读取多个内容,代码如下:
#include <stdlib.h>
#include<iostream>
using namespace std;
int main()
{
int sum = 0, value;
while (std::cin>>value)//输入非整形字符时退出循环
{
sum += value;
}
std::cout<<"Sum is:"<<sum<<std::endl;
system("pause");//用来使显示屏停顿,需用库<stdlib.h>
return 0;
}
while (std::cin>>value)为判断条件,先执行输入操作std::cin>> value。它从标准输入读取下一个数并且将读入的值保存在value中。输入操作符返回其左操作数。While条件测试输入操作符的返回结果,即测试std::cin。
当用istream对象作为条件,结果是测试流的状态。若流是有效,则测试成功。遇到文件结束符(EOF)或无效输入(如非整数的值)时,则istream对象无效,此时条件失败,跳出循环。
1.5 类的简介
C++中类型分为内置类型和类类型,类属于类类型。
1.6 C++程序
C++ Primer 读书笔记 第1章的更多相关文章
- C++ Primer 读书笔记 第2章 变量和基本类型
C++ Primer 第二章 变量和基本类型 2.1 基本内置类型 C++定义了一组表示整数.浮点数.单个字符和布尔值的算术类型(arithmetic type),此外还定义了Void类型. 算术类型 ...
- 《Linux内核设计与实现》第八周读书笔记——第四章 进程调度
<Linux内核设计与实现>第八周读书笔记——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配 ...
- 《Linux内核设计与分析》第六周读书笔记——第三章
<Linux内核设计与实现>第六周读书笔记——第三章 20135301张忻估算学习时间:共2.5小时读书:2.0代码:0作业:0博客:0.5实际学习时间:共3.0小时读书:2.0代码:0作 ...
- 《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度
20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...
- 《Linux内核分析》读书笔记(四章)
<Linux内核分析>读书笔记(四章) 标签(空格分隔): 20135328陈都 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行 ...
- 《LINUX内核设计与实现》第三周读书笔记——第一二章
<Linux内核设计与实现>读书笔记--第一二章 20135301张忻 估算学习时间:共2小时 读书:1.5 代码:0 作业:0 博客:0.5 实际学习时间:共2.5小时 读书:2.0 代 ...
- 《Linux内核设计与实现》第四周读书笔记——第五章
<Linux内核设计与实现>第四周读书笔记--第五章 20135301张忻 估算学习时间:共1.5小时 读书:1.0 代码:0 作业:0 博客:0.5 实际学习时间:共2.0小时 读书:1 ...
- 《Linux内核设计与实现》第五周读书笔记——第十一章
<Linux内核设计与实现>第五周读书笔记——第十一章 20135301张忻 估算学习时间:共2.5小时 读书:2.0 代码:0 作业:0 博客:0.5 实际学习时间:共3.0小时 读书: ...
- 《Linux内核设计与实现》读书笔记——第五章
<Linux内核设计与实现>读书笔记--第五章 标签(空格分隔): 20135321余佳源 第五章 系统调用 操作系统中,内核提供了用户进程与内核进行交互的一组接口.这些接口让应用程序受限 ...
随机推荐
- 论山寨手机与Android联姻 【7】 MTK手机软件系统
MTK feature phone的基本功能是通话和短信,要了解MTK手机软件系统,首先需要简要回顾几个移动网络通讯的基本概念. Figure 38. GSM-GPRS Architecture Co ...
- PS快捷键大全
一.工具箱(多种工具共用一个快捷键的可同时按[Shift]加此快捷键选取) 矩形.椭圆选框工具 [M] 移动工具 [V] 套索.多边形套索.磁性套索 [L] 魔棒工具 [W] 裁剪工具 [C ...
- Boost正则表达式库regex常用search和match示例 - 编程语言 - 开发者第2241727个问答
Boost正则表达式库regex常用search和match示例 - 编程语言 - 开发者第2241727个问答 Boost正则表达式库regex常用search和match示例 发表回复 Boo ...
- 在JavaScript的数组中进行数组元素查找和替换(JS的indexOf等)
<html> <head> <title> Extend JavaScript Array Method </title> <script lan ...
- Colorbox cannot load the image added by js
As we know, Colorbox is a wonderful js plugin. I came up against a head-banged problem in v1.5.6. Wh ...
- mysql insert和前台显示乱码
近期在搞服务端.遇到问题例如以下, 在mysql中插入中文乱码.或mysql中中文正常显示,但jsp在前台显示mysql中的中文时乱码. 解决方法,进入mysql控制台,运行 SET characte ...
- 兼容所有浏览器的CSS3圆角
兼容所有浏览器的CSS3圆角 解决CSS3圆角兼容所有浏览器的方法.本文提到了一种很不错的实现跨浏览器圆角的解决方案,但是说的不够全面,前端观察最近将整理更多更全面的资源给大家,敬请期待. ...
- bootstrap注意事项(二)
1.内联子标题 在标题内还可以包含 <small> 标签或赋予 .small 类的元素,可以用来标记副标题. <!DOCTYPE html> <html> < ...
- 监控concurrent 正在执行的sql
SELECT a.sid, a.serial#, b.sql_text FROM v$session a, v$sqltext b WHERE a.sql_address = b.address ...
- OC中最难的一部分内容:内存管理
OC中最难的一部分内容:内存管理为什么说他难呢?因为内存如果需要我们程序员去管理的话,那个难度肯定是很大的,如果是Java,垃圾回收器会把这份工作给做了,我们不需要关心,但是就是因为如此,Androi ...