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余佳源 第五章 系统调用 操作系统中,内核提供了用户进程与内核进行交互的一组接口.这些接口让应用程序受限 ...
随机推荐
- keil MDK编译器警告和错误详解(不定期更新)
工作后从单片机转成ARM,刚开始用ADS1.2编译器,用了一段时间,因为我接手的项目的老程序正是用ADS编译的,部门也大都在用.在学单片机的时候用的是keil c51编译器,ads和这个编译器在易用性 ...
- mysql-bin.000001文件的来源及处理方法
用ports安装了mysql以后,过一段时间发现/var空间不足了,查一下,会发现是mysql-bin.000001.mysql-bin.000002等文件占用了空间,那么这些文件是干吗的?这是数据库 ...
- RBF network
1.radial basis function RBF表示某种距离,$\mu_m$为中心点,相当于将点$x$到中心点的某种距离作为特征转换 Output方法可以根据需求任意选取(比如使用SVM,log ...
- e = e || window.event用法细节讨论
e = e || window.event是我们在做事件处理时候区分IE和其他浏览器事件对象时常用的写法.但是这行兼容性代码有没有必要出现在所有的事件句柄中呢?标准事件调用方式需要这行代码吗?下边我们 ...
- wx.Dialog
wx.Dialog A dialog box is a window with a title bar and sometimes a system menu, which can be moved ...
- jquery实现隐藏显示层动画效果、仿新浪字符动态输入、tab效果
已经有两年多没登陆csdn账号了,中间做了些旁的事,可是现在却还是回归程序,但改做前端了,虽然很多东西都已忘得差不多了,但还是应该摆正心态,慢慢来,在前端漫游,做一只快乐双鱼. 路是一步一步走出来的, ...
- java中文乱码解决之道(三)—–编码详情:伟大的创想—Unicode编码
原文出处:http://cmsblogs.com/?p=1458 随着计算机的发展.普及,世界各国为了适应本国的语言和字符都会自己设计一套自己的编码风格,正是由于这种乱,导致存在很多种编码方式,以至于 ...
- O2O领域添新军,正品网加快布局的战略考量
前不久.正品网採购虚拟运营商30万170号码的招标公告引发了业界的广泛关注.一方面,虚拟运营商正处于"徘徊不定"的十字路口.据业内知情人士透露,眼下12家虚拟运营商企业共放号在20 ...
- 详解CSS网页布局中默认字体样式
浏览器默认的样式往往在不同的浏览器.不同的语言版本甚至不同的系统版本都有不同的设置,这就导致如 果直接利用默认样式的页面在各个浏览器下显示非常不一致,于是就有了类似YUI的reset之类用来尽量重写浏 ...
- ChartControl第一课简短的控件初步设计
WinForms Controls >Controls > Chart Control > Getting Started This document gives you a qui ...