C++Primer笔记一
作为一名半路出家的JAVA程序员,又要开始学半路中放弃的C++了,因为真的很重要。
先来看一段代码,
#include <iostream>
using namespace std;
int main(){
int curVal,val;
while(cin>>curVal){
int count=1;
while(cin>>val){
if(curVal==val){
count++;
} else{
cout<<curVal<<" occurs "<<count<<" times"<<endl;
curVal = val;
count = 1;
}
} }
return 0;
}
针对代码分析是提高代码水平最有效的方法。第一句是预处理的include,在编译器编译之前预处理,把某些文件包含进来。C++语法规定,有效的语句后面应该加上分号,这里不用加,因为这是预处理,不属于编译器中得语句。一般程序都需要标准输入输出流,所以这里包含了iostream,如果考虑兼容C语言,考虑包含cstdio等文件。第二句是声明标准命名空间,using namespace std;这里的关键词就是std,standard,标准的。这里是一个有效的语句,前面包含了内容进来,但是我这里声明了,那么我在下面就不用再重复了,所以这里是语句,是需要执行的命令。然后是标准的main函数,没有带参数但带有返回值的构造函数。声明了两个变量,curVal和val。
小重点来了,cin>>val,cin是一个istream输入流对象,我们在console端输入的内容就是往这里面输入,需要交互,于是就存在val里面,很明显的一个箭头方向,从cin指向val,表明cin里面的值存到val里面去。同理可得cout<<curVal的分析。因为这个输入和输出的操作符是双目的,而且表达式的结果是左边,所以可以不断地“连接”。endl故名思议,endline,结束一行。
这个程序就是书上的示例程序,读入一段数,分析里面某些数字连续了多少次。
对代码的理解能力,含有对英语的理解。特别是简称与全称的联系能力。疯狂的程序员,当一个人说出简称的全程就是很牛逼,这话绝影说得,很厉害。
有几个目前新学得简称和约定俗成的一些符号,自己记一下。
ls:list cd:change directory(..为返回父目录,.为当前目录)
sudo:superuser do(前几天执行一个ruby下载操作需要写入目录的时候需要加的一个前缀,获取超级管理员权限)
$:取出一个变量的值,在vim中是行尾的意思 echo:是回声的意思,类似print,也就是在shell上面的打印,或者命令行中得打印。
另外记得一下,在alfred中,找一个程序,用find加上某个程序或者文件名称,挺不错的噢。
C++Primer笔记一的更多相关文章
- C++ Primer笔记
C++ Primer笔记 ch2 变量和基本类型 声明 extern int i; extern int i = 3.14;//定义 左值引用(绑定零一变量初始值,别名) 不能定义引用的引用:引用必须 ...
- C++ Primer 笔记(1)基础中的战斗机 输入输出 对输入不定数据处理
今天打算再重新好好的看一遍C++ Primer这本很经典的书籍,笔记开始: 1.每个C++程序都包含一个或者多个函数,其中必须有一个main,操作系统通过调用main入手运行程序: 2.函数包括:返回 ...
- C++ Primer 笔记 第一章
C++ Primer 学习笔记 第一章 快速入门 1.1 main函数 系统通过调用main函数来执行程序,并通过main函数的返回值确定程序是否成功执行完毕.通常返回0值表明程序成功执行完毕: ma ...
- C++primer笔记之顺序容器
最近又重新拾起C++primer,发现每一次看都会有不同的体验,但每一次看后因为不常用,忘记得很快,所以记笔记是很关键的一环,咋一看是浪费时间,实际上是节省了很多时间.下面就把这一节的内容做一个简单的 ...
- c++ primer 笔记 (一)
昨天开始看的<C++ Primer>,确实不错.希望这周抓紧看完,每天做下笔记,以便以后复习. main函数返回一个值给操作系统 操作系统通过main函数返回的值来确定程序是否成功执行 ...
- C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法
这次要看看C++ Primer,这本基本上就是必读书籍了.下面的内容就是一些之前没有学过的知识的笔记. 读取数量不定的输入数据 虽然很简单,但是还是记一下: #include <iostream ...
- C++Primer笔记(3)
标准库类型string表示可变长的字符序列,使用前先包含string头文件.(哈哈,终于可以逃脱C语言中的str函数系列了.)因为是标准库的一部分,所以string被定义在命名空间std中.所以你懂该 ...
- C++ Primer 笔记 第三章
C++ Primer 第三章 标准库类型 3.1using声明 例: using namespace atd; using std::cin; 3.2string类型 初始化方式 string s1 ...
- C++ Primer 笔记 第二章
C++ Primer 第二章 变量和基本类型 2.1基本内置类型 有算数类型和void类型:算数类型储存空间大小依及其而定. 算数类型表: 类型 含义 最小储存空间 bool 布尔型 - char 字 ...
- C++ Primer 笔记——数组
1.数组的大小是固定不变的,声明时必须指定大小(或者使用列表初始化),而且大小必须大于0,C++ Primer里面也建议,如果不确定元素的个数,请使用vector. ]; , , }; //数组长度固 ...
随机推荐
- LightOJ 1138 Trailing Zeroes (III) 打表
就是统计5,然后当时因为发现最多有8000w个5的倍数,然后8000w/100,是80w,打表,二分找 然后我看网上的都是直接二分找,真是厉害 #include <cstdio> #inc ...
- 【HTML】Intermediate5:Definition Lists
dl(defination list) dt(defination term) dd(defination description)
- oracle dblink使用
一.dblink介绍 dblink是一个单向的数据库连接,通过设置可以访问其他数据库中的数据跟使用本地数据库中数据一样的感觉,但注意是单向的dblink.例如:A建连B的dblink,A可以访问B的表 ...
- localtime和localtime_r
上程序: #include <cstdlib> #include <iostream> #include <time.h> #include <stdio.h ...
- Esper系列(二)时间窗口、长度窗口、cast、注解、自定义函数、静态方法
长度窗口实现原理图 说明: 上图长度窗口为5,事件W1至W5进入引擎后属于NewEvents队列,事件W6进入引擎后,W2至W6就属于NewEvents队列,而事件W1就属于OldEvents队列了. ...
- HW3.4
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- DevExpress控件XtraGrid的Master-Detail中DetailViewCaption显示问题
今天遇到XtraGrid身档抬头显示不对问题,查找了很多资料后未找到解决办法,后浏览至此文作者发现解决问题的方法就是:DataSet中的RelactionName跟DetailGridview的Lea ...
- IPAddress类
using System.Net; IPAddress ad1=IPAddress.Parse("192.168.1.1"); //ip为192.168.1.1的地址 IPAddr ...
- A Tour of Go Type conversions
The expression T(v) converts the value v to the type T. Some numeric conversions: var i int = 42 var ...
- (qsf文件 、 tcl文件 和 csv(txt)文件的区别) FPGA管脚分配文件保存、导入导出方法
FPGA管脚分配文件保存方法 使用别人的工程时,有时找不到他的管脚文件,但可以把他已经绑定好的管脚保存下来,输出到文件里. 方法一: 查看引脚绑定情况,quartus -> assignment ...