《C++ primer》--第1,2章小结】的更多相关文章

1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i; printf("ch[%d] = %c\n", i-97, ch[i-97]); } printf("That is all! thanks~\n"); return 0; } 这是之前写的,有点乱,改了些如下: #include int main(void) {…
Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; printf("Convert mins to hours and minutes\n"); printf("Please enter the mins: \n"); scanf("%d", &mins); while (mins >…
Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[20]; printf("My Handsome Master, please enter your name: \n"); scanf("%s %s", &name, &family); //名字和姓氏一起读的话,需要先输入名字再输入姓氏,中间要有空白字…
在Bash中直接输入 vimtutor 打开新世界!通常阅读完需要25-30分钟不等,像玩游戏一样学会vim,然后爱不释手 里面设置了很多例子通过实践操作来学,这里仅把vimtutor上的每一章小结记下来. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                第一讲小结       1. 光标在屏幕文本中的移动既可以用箭头键,也可…
1. clear 方法clear删除所有的字典项,就地执行,什么都不返回(或者说返回None) d = {} d['name'] = 'Gumby' d['age'] = 42 print(d) return_value = d.clear() print(d) print(return_value) 结果: {'name': 'Gumby', 'age': 42} {} None 2. copy 方法copy返回一个新字典,其包含的键-值对与原来的字典相同(该方法属于浅复制,因为值本身是原件,…
字符串的方法非常之多,重点学习一些最有用的,完整的字符串方法参见<Python基础教程(第三版)>附录B. 模块string,虽然风头已小,但其包含了一些字符串方法中没有的常量和函数,故将模块string中几个非常有用的常量列出: string.digits: 包含数字0-9的字符串: string.ascii_letters: 包含所有ASCII字母(大写和小写)的字符串: string.ascii_lowercase: 包含所有小写ASCII字母的字符串: string.printable…
元组,不可修改的序列(与列表的唯一差别) 1. 元组用圆括号括起,用逗号分隔 2. 如果只有一个值,也必须在后面加上逗号 print((42)) print((42,)) 结果: 42 (42,) print(3*(40+2)) print(3*(40+2,)) 结果: 126 (42, 42, 42) 3. tuple函数,将一个序列作为参数,并将其转换为元组 x = tuple([1,2,3]) y = tuple('abcdfgh') print(x,'\n',y) 结果: (1, 2,…
第一章小结 为了强化教程的重点,会在合适的时候进行总结与快速复习. 第二章 简介 在第一章我们做了知识库的准备,从而让我们更高效地收集示例. 在第二章,我们就用准备好的导出工具试着收集几个示例,这些示例中有的是我们后续库的基础工具,也有的是在项目中非常实用的小工具,还有一些示例是实践了在框架搭建方向上非常重要的 C# 语法知识. 第二章大纲如下. 第八个示例(一) 在之前,我们完成了一个导出的功能.但是在完成这个功能的过程中,我们也遇到了一些问题.我们回忆一下,在<MenuItem 复用>的这…
在笔者刚做项目的时候,遇到了一个需求.第一个项目是一个跑酷游戏,而跑酷游戏是需要一条一条跑道拼接成的.每个跑道的长度是固定的,而怪物的出现位置也是在跑道上固定好的.那么怪物出现的概率决定一部分关卡的难度. 以上有点绕,其实就是,到某一个时刻,怪物是否要出现.而是否要出现是根据概率来决定的.如果一个怪物出现的概率是 100%,那么每次到达跑道固定的位置时候都要生成怪物.如果是 80% 那么就有百分之二十的几率不生成怪物. 那么如何去写这个逻辑呢? 我们先分析一下,我们要输入的是一个概率,而得出的结…
本节书摘来自异步社区<树莓派学习指南(基于Linux)>一书中的第二章的本章小结,作者[英]Peter Membrey ,[澳]David Hows ,译者 张志博,孙峻文,更多章节内容可以访问云栖社区"异步社区"公众号查看. 本章小结 好了,我们已经走马观花地了解了整个桌面环境.或许有些简单,但我们已经为进一步的探索打下了基础.请记住树莓派存在的意义就在于帮助人们探索各种和计算机有关的有趣课题,别害怕失败,开始折腾吧! 本章中我们浏览了开始菜单中预装的各种应用,接触了一些…
来源:http://blog.csdn.net/wangqiulin123456/article/details/8483853 1.变量初始化:      定义变量时,应该给变量赋初始值,除非确定将变量用于其他意图之前会覆盖这个初值.如果不能保证读取变量之前重置变量,就应该初始化变量.变量的初始化如下: int val1 = 0; //初始化 int val2;       //未初始化 2.编译器的部分功能: 查错 语法错误 类型错误 声明错误 3.从键盘输入文件结束符      OS使用不…
1. /* 整数上溢 */ #include <stdio.h> int main(void) { ; unsigned ; /* 无符号整数j像一个汽车里程指示表(形容的太好了,可参考<计算机科学导论>第3章 数据存储,有图), 当达到最大值时,它将溢出到起始点.整数i也是同样.它们的主要区别是unsigned int变量j的起始点是0(正像里程 指示表那样),而int变量i的起始点则是-2147483648.——参考<C Primer Plus> */ printf…
*****代码在Ubuntu g++ 5.31 / clang++ 3.8(C++11)下编写调试***** 每个C++程序必须有一个main( )函数,main( )函数的返回值也必须是int类型,操作系统通过调用main( )函数来运行C++程序. 1.函数格式 函数:C++的函数是一个能够完成一个功能的模块或者说是一段命名了的代码块. 完整函数的组成: ①返回类型:不一定有返回值,故不一定有返回类型 ②函数名:根据名字标识完成特定功能的模块,必须存在 //lambda匿名函数除外 ③形参列…
C++ Primer 第三章 标准库类型 3.1using声明 例: using namespace atd; using std::cin; 3.2string类型 初始化方式 string s1 默认构造函数,s1为空串 string s2(s1) 将s2初始化为s1的一个副本 string s3(“value”) 将s3初始化为一个字符串的副本 string s4(n, 'c') 将s4初始化为字符'c'的n个副本 getline读取整行文本 getline接受两个参数:一个是输入流对象和…
这是我对c++primer第二章的一个整理总结,算是比较适用于我自己吧,一小部分感觉不用提及的就省略了,只提了一下平时不注意,或者不好记住的内容. 排版太费劲了,直接放了图片格式.从自己的oneNote直接粘过来的. 这个排版还能再改改,等下午吧. 总结不易,转载注明出处,谢谢. http://www.cnblogs.com/linhaowei0389/…
本笔记写于2020年1月27日. 本系列文章参考的是<C Primer Plus>(第六版),其中里面会有笔者自己的相关补充. 以下示例均运行于macOS Catalina 10.15.2上,编译器为clang 11.0.0 PS:如果笔记中有任何的错误,请在下方评论中留言,我会及时回复并修改,谢谢 简单的C示例 首先来看一个非常简单的C程序示例 #include <stdio.h> int main(void) { int num; num = 1; printf("I…
7.5 状态空间平均 现有文献中已经出现了很多变换器交流建模的方法,其中包括电流注入法,电路平均和状态空间平均法.尽管某种特定方法的支持者可能更愿意使用该方法去建模,但所有方法的最终结果都是等效的.并且所有人都具有这样的共识:平均和小信号的线性化是对PWM变换器建模的关键步骤. 本节将介绍文献中提到的状态空间平均法(S.´Cuk, Modeling, Analysis, and Design of Switching Converters, Ph.D. thesis, California In…
第四章 复合类型 1. 数组概述 1.1 数组的定义 数组(array)是一种数据格式,能够存储多个同类型的值.每个值都存储在一个独立的数组元素中,计算机在内存中依次存储数组的各个元素. 数组声明的三个特点: 存储在每个元素中的值的类型 数组名 数组中的元素数 C++中可以通过修改简单变量的声明,添加中括号(其中包含元素数目)来完成数组声明. 例如: short days[24]; // 一天有24个小时 1.2 数组的声明 声明数组的的一般语法格式为: // 数组类型 数组名字[数组的大小]…
第三章主要介绍了C++中标准库类型.主要讲到string和vector类型.在string类型中,能够很方便的操作字符串,应该要注意的地方就是它的字符串中元素的位置的类型是:size_type类型的数据,其中主要涉及到如何访问每一个字符串的字符:(下标法)for(string::size_type ix=0:ix!=s.size():++ix){}.(迭代器法)for(string::iterator iter=s.begin();iter!=s.end();++iter){}. 在vector…
C++ Primer书上这个例子讲的很不错,写写帮助自己理解标准库和智能指针. .h 文件内容 #include <fstream> #include <iostream> #include <vector> #include <string> #include <map> #include <set> #include <sstream> #include <memory> class QueryResult…
unique_ptr 一个unique_ptr拥有它所管理的对象,与shared_ptr不同,unique_ptr指向的对象只能有一个用户.当unique_ptr被销毁后,它所指向的对象也被销毁. 定义一个unique_ptr时,需要将其绑定到一个new返回的指针上,类似shared_ptr,初始化unique_ptr必须采用直接初始化形式: unique_ptr<double> p1; // p1指向一个double类型变量 unique_ptr<int> p2(new int(…
面向对象程序设计的核心思想是:数据抽象.继承和动态绑定. 数据抽象:将类的接口与实现分离: 继承:定义相似类型并对相似关系建模: 动态绑定:一定程度上上忽略相似类型间的区别,用同一方式使用它们. 1.继承 通过继承联系在一起的类构成层次关系.层次关系的最底层或者说根部叫做基类,直接或者间接从基类继承而来得到的类叫做派生类. 基类负责定义该层次上共有的特性,派生类在基类的基础上根据自身需求进行扩展. 在面向对象程序设计的继承中,基类将需要进行扩展的函数与原封不动直接继承的函数进行区分对待.需要进行…
练习12.1:在此代码的结尾,b1 和 b2 各包含多少个元素? StrBlob b1; { StrBlob b2 = {"a", "an", "the"}; b1 = b2; b2.push_back("about"); } b2被销毁,b1包含4个元素. 练习12.2:编写你自己的StrBlob 类,包含const 版本的 front 和 back. const string& StrBlob::front() c…
练习9.1:对于下面的程序任务,vector.deque和list哪种容器最为适合?解释你的选择的理由.如果没有哪一种容器优于其他容器,也请解释理由.(a) 读取固定数量的单词,将它们按字典序插入到容器中.我们将在下一章中看到,关联容器更适合这个问题.(b) 读取未知数量的单词,总是将单词插入到末尾.删除操作在头部进行.(c) 从一个文件读取未知数量的整数.将这些数排序,然后将它们打印到标准输出.(a)应该使用array,因为单词的数量是固定的,也就是说元素的个数是固定的,因此符合array的特…
第一章主要是概况.新技术有一个特点是,每家都有不同的说法.这里我只说说我比较认同的部分. SDN的核心概念大概有两个:转发面与控制面分离.开发可编程化.书里还说逻辑上集中控制,其实这个就可以从转发与控制分离推出:至于说到网络虚拟化,我看这只是其中一个结果吧. ONF的SDN架构分为三层:应用层.控制层和基础设施层.与其他架构不同的是,它的南向接口规定是OpenFlow,不过我想很难统一化.北向接口因为与业务的关联比较大,因此也没什么标准可言.OpenDayLight的架构非常庞大,基本上包括了O…
正如第一章所说:C++的函数是一个能够完成一个功能的模块或者说是一段命名了的代码块. 如下图所示,函数可以重载,是一段实现某些功能命名了的代码. 一个完整的函数的构成有四部分: 1.返回类型 2.函数名 3.形参 4.函数体 对于返回类型来说,return语句返回的类型必须和返回类型一致,或者可以转换. 对于函数名来说,允许多个函数使用相同的名字,当参数不同时,形成重载.对函数名使用调用运算符,则执行函数. 对于形参来说,可以是传值的,也可以是传引用的. 对于函数体来说,必须是在一对花括号包围的…
*****代码在Debian g++ 5.40 / clang++ 3.8(C++11)下编写调试***** 本章主要是关于字符串.数组的内容,以及一些简单的容器知识. 1.using的声明 using关键字有2种用法: using std::cin; //这种叫做using声明,注意分号 using namespace std;     //这种叫做using指示,注意分号 两者的区别是一个using声明一次只引入一个std的成员,而using指示则将整个命名空间的所有成员都引入. 头文件不要…
*****代码在Debian g++ 5.3.1 / clang++ 3.8(C++11)下编写调试***** 由于部分编译器对标准遵循的不同以及自身额外的扩展,本章书中的少数知识点与实际实现存在偏差情况,在实际调试中存在差异时,以书本为准. 1.基本数据类型 计算机世界中的类型有很多,但是基本类型就那么几种,有基本数据类型,媒体类型,设备类型等,目前只学习数据类型.. 基本数据类型包括算术类型和空类型,算术又分为整数和浮点数(即小数).字符和布尔类型从属于整数,bool类型是C++内置类型,但…
文章17章 进.输出和文件 1.当到达输入句子.他将刷新输出缓冲区满输出电流 2.streambuf分类 它提供了用于各种操作的一个缓冲 ios_base类表示流的一般特征 ios基础的类ios_base.它包括一个点streambuf对象的指针 ostream类从ios派生.提供可输出方法 istream类从ios派生,提供可输入方法 iostream类基于ostream和istream,继承了输入和输出方法 3.包括iostream则自己主动创建了8个流对象 cin 标准输入 wcin 宽字…
本系列将总结正在阅读的C++primer这本书中值得注意又容易忘记的知识点. 1. 当return语句包括一个值时,次返回值的类型必须与函数返回类型相同. 2. 操纵符 endl.写入该符号的效果是: ①结束当前行(回车). ②将与设备关联的缓冲区中的内容刷到设备中. 3. 注释界定符(/**/)不能嵌套. 4. istream对象遇到文件结束符时候状态变为无效(0,false).windows的文件结束符为Crtl +z:linux的为Crtl+D. 5. 包含对于不属于标准库的头文件,用双引…