免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 7009 | 回复: 35
打印 上一主题 下一主题

[C++] 其实你应该还这样学c++ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-08 14:51 |只看该作者 |倒序浏览
本帖最后由 lipiao123 于 2012-11-08 14:56 编辑

其实你应该这样学C .rar (448.85 KB, 下载次数: 247)


内容简介  
    各位程序员朋友,有一句话我们想真诚送给各位:学习永无止境。我们要时刻给自己注入新的知识、新的活力。只有这样才能永葆我们的竞争力,而不被高速发展的社会所淘汰。
  《其实你应该这样学C++》内容丰富,深度和广度兼顾。既有关于C++编程语言知识的学习,又有求职经验的传授。主要作为初学者的轻松入门指南,又可以帮助中高级读者进一步提高编程的水平。


论坛徽章:
0
2 [报告]
发表于 2012-11-08 14:59 |只看该作者
目录
第1部分  劝学篇
第1讲  来自C++的一封情书
第2部分  求学篇
第2讲  工欲善其事,必先利其器
2.1  C++的发展概述
2.2  Microsoft Visual Studio
2.2.1  简介
2.2.2  成长档案
2.3  系统的配置和要求
2.4  安装方法
2.5  VS 2005界面的介绍
2.6  开发环境的设置
2.7  小结
第3讲  开心一刻:第一个C++程序
3.1  第一个C++程序
3.2  程序代码解析
3.2.1  #include指令
3.2.2  命名空间
3.2.3  main()函数
3.2.4  body——函数体
3.2.5  函数返回值
3.2.6  输入输出流
3.2.7  程序注释
3.3  具体的C++程序的创建和运行
3.4  C++特点分析
3.5  小结
第4讲  内功入门:数据类型
4.1  基本组成——“拼音”
4.2  标识符
4.3  关键字
4.4  “变色龙”——变量
4.4.1  变量的定义
4.4.2  变量名
4.4.3  变量的初始化和赋值
4.4.4  融会贯通
4.5  “专一的我”——常量
4.5.1  整型常量
4.5.2  浮点型常量
4.5.3  字符型常量
4.5.4  字符串常量
4.5.5  逻辑型常量
4.5.6  常量的定义
4.6  基本数据类型
4.7  小结
第5讲  沟通纽带:操作符与表达式
5.1  算术操作符
5.1.1  “-”——负数操作符
5.1.2  “+”——正数操作符
5.1.3  常规运算符
5.2  赋值操作符
5.3  条件操作符
5.4  关系操作符
5.5  逻辑操作符
5.5.1  !——逻辑非
5.5.2  &&——逻辑与
5.5.1  ||——逻辑或
5.6  自增自减操作符
5.6.1  前自增自减操作
5.6.2  后自增自减操作
5.7  逗号操作符
5.8  复合表达式的求解
5.9  融会贯通
5.10  小结
第6讲  牙牙学语:简单语句
6.1  表达式语句
6.2  空语句
6.3  小结
第7讲  十字街头:选择语句
7.1  if语句
7.2  Switch语句
7.3  融会贯通
7.4  小结
第8讲  转呀转:循环语句
8.1  While语句
8.2  Do while语句
8.3  For语句
8.4  嵌套循环
8.5  小结
第9讲  歇息啦:跳转语句
9.1  Break语句:完全休息
9.2  Continue语句:歇一圈再跑
9.3  Goto语句:我要去那
9.4  小结
第10讲  让你晕:数组和指针
10.1  一维数组
10.1.1  一维数组的定义
10.1.2  一维数组的初始化
10.1.3  一维数组的使用
10.2  二维数组
10.2.1  二维数组的定义
10.2.2  二维数组的初始化
10.2.3  二维数组的使用
10.3  字符数组
10.3.1  字符数组的定义
10.3.2  字符数组的初始化
10.3.3  字符串处理的函数
10.4  指针
10.4.1  指针的定义
10.4.2  指针的声明
10.4.3  指针的操作
10.5指针与数组
10.5.1指针与一维数组
10.5.2指针与多维数组
10.5.3指针与字符数组
10.6指针与函数
10.7关于指针的综合讲座
10.7.1再谈指针
10.7.2指针的算术运算
10.7.3运算符&和*
10.7.4指针表达式
10.7.5数组和指针的关系
10.7.6指针和结构类型的关系
10.7.7指针和函数的关系
10.7.8指针类型转换
10.7.9指针的安全问题
10.8  经典数据排序法介绍
10. 8.1冒泡排序法
10. 8.2选择排序法
10. 8.3插入排序法
10. 8.4希尔排序法
10.9  小结
第11讲  独创招式:类和对象
11.1  类的出身:定义和声明
11.2  类的杀伤半径:作用域
11.3  类的数据成员
11.4  类的成员函数
11.5  类与结构的区别
11.6  对象
11.6.1  对象的创建
11.6.2  对象与类的关系
11.7  构造函数
11.7.1构造函数的定义及特点
11.7.2默认构造函数
11.8析构函数
11.8.1默认析构函数
11.8.2自定义析构函数
11.9友元
11.9.1  友元类
11.9.2  友元函数
11.10  类的继承与派生
11.10.1  继承和派生的基本概念
11.10.2  类的访问控制属性
11.10.3  基类与继承对象的初始化
11.10.4  类的多重继承
11.11  融会贯通
11.12  小结
第12讲  函数
12.1  函数的定义
12.2  函数的声明
12.3  函数的特点
12.4  函数的传值方式
函数的参数
12.5  函数的返回值
12.6  变量的分类
12.6.1  局部变量
12.6.2  全局变量
12.6.3  静态变量
12.6.4  外部变量
12.7  函数的调用
12.7.1  用指针调用函数
12.7.2  使用数组调用函数
12.8  内联函数
12.9  函数重载
12.9.1  函数重载的定义
12.9.2  函数重载与重复声明
12.10  函数的嵌套和递归
12.11  main函数
12.12  融会贯通
12.13  小结
第13讲  保险公司:异常处理
13.1  异常的分类
13.1.1  语法错误
13.1.2  运行错误
13.2  典型异常回眸
13.3  异常的处理
13.3.1  try语句块——发现问题
13.3.2  catch语句块——分析解决问题
13.3.3  throw语句块——得出结论
13.4  小结
第14讲  模板
14.1  函数模板
14.1.1  模板的定义
14.1.2  模板的使用
14.1.3  函数模板的特殊化
14.2  类模板
14.2.1  类模板的定义
14.2.2  类模板的使用
14.2.3  类模板的特殊化
14.3  小结
第15讲  容器
15.1  容器的定义
15.2  容器的分类
15.3  顺序容器
15.3.1  顺序容器的定义
15.3.2  顺序容器元素的初始化
15.3.3  顺序容器元素类型的规定
15.3.4  迭代器范围
15.3.5  顺序容器的基本操作
15.3.6  顺序容器的比较
15.4  关联容器
15.4.1  关联容器的定义
15.4.2  map类型
15.4.3  set类型
15.4.4  multimap类型和multiset类型
15.5  小结
第16讲  结构与联合
16.1  结构体
16.1.1  结构体类型的定义
16.1.2  结构体类型的变量定义与初始化
16.1.3  结构体内部成员的访问
16.1.4  结构体的内部结构
16.1.5  结构体与数组
16.1.6  结构体与函数
16.1.7  结构体与指针
16.1.8  结构体与引用
16.1.9  位域
16.2  联合体
16.2.1  联合体类型的定义
16.2.2  联合体类型变量的定义与初始化
16.2.3  联合体内部成员的访问
16.3  小结
第17讲  文件
17.1  文件的定义
17.2  文件的分类
17.2.1  依据数据存储格式
17.2.2依据文件存取方式
17.3  文件流
17.3.1  文件流对象
17.3.2  文件的打开与关闭
17.3.3  文件流成员函数
17.4  ofstream类
17.5  ifstream类
17.6  文件随机访问
17.7  天人合一——融会贯通
17.8  小结
第18讲  虚函数与多态
18.1  虚函数
18.2  虚属性继承
18.3  纯虚函数和抽象类
18.4  早期绑定和动态绑定
18.5  小结
第19讲  C++预处理器
19.1  编译预处理指令
19.2  包含文件
19.3  #define指令
19.4  #undef指令
19.5  条件指令
19.5.1  #if指令
19.5.2  #endif指令
19.5.3  #if defined指令
19.5.4  #else指令
19.5.5  #elif指令
19.5.6  #error指令
19.6  小结
第20讲  运算符重载
20.1  运算符重载的基本概念
20.2  单目运算符重载
20.3  双目运算符重载
20.4  小结
第21讲  算法与流程图
21.1  算法
21.1.1  算法的概念
21.1.2  算法的特点
21.1.3  算法的实现
21.2  流程图
21.2.1  流程图的概念
21.2.2  流程图的组成
21.2.3  流程图的绘制
21.3  算法的表示方式
21.3.1  自然语言表示
21.3.2  流程图表示
21.3.3  伪代码表示
21.3.4  N—S图表示
21.3.5  PAD图表示
21.4  小结
第22讲  我的地盘——命名空间
22.1  命名空间的概念
22.2  命名空间的定义
22.3  命名空间的使用实例
22.4  命名空间的名称
22.5  using声明和using指令
22.6  命名空间和类的关系
22.7  小结
第23讲  常见试题精选
23.1  各种类型数字的判断
23.2数学趣味题和解方程
23.3类的使用
23.4文件的操作
第3部分  谋略篇
第24讲  如何渡过你的大学
24.1  大一,调整自我,做好人生规划
24.2  大二,打好坚实的基础
24.3  大三,理论与实践相结合
24.4  大四,思考人生
第25讲  求职过程
25.1  正确的求职心态
25.2  正确对待工作压力
25.3  应聘求职
25.3.1  简历的投递
25.3.2  简历投递需要注意的问题
25.3.3  招聘的流程
25.4  简历
25.4.1  简历的分类
25.4.2  简历的制作
25.5  求职信
25.5.1  求职信的书写
25.5.2  求职信范例
25.6  面试
25.6.1面试的特点
25.6.2面试的技巧
25.6.3自我介绍的准备
25.6.4面试材料的准备
25.6.5着装的准备
25.6.6面试类型分类
25.6.7常见面试形式
25.6.8面试十二忌
25.6.9面试谈薪的技巧
25.6.10如何把握面试的结束时间
25.7  勇于和一些招聘说“不”
25.8  签约

论坛徽章:
0
3 [报告]
发表于 2012-11-08 14:59 |只看该作者
第3讲  开心一刻:第一个C++程序
你知道吗?昨天晚上我做了一个梦,梦到你在对我唱歌:
你可知,
我是多么的想了解你——C++;
可是不知道,
如何才能了解你;
我焦虑,
我彷徨;
请你告诉我,告诉我;

论坛徽章:
0
4 [报告]
发表于 2012-11-08 15:00 |只看该作者
.1  第一个C++程序
所以呢,为了满足你那小小的好奇心,对我有一个初步的了解,我就先从整体上做一个自我介绍。
其实呢,不管你学习什么编程语言,编程的起初阶段都是写一些最简单的程序,通过不断的积累,不断的尝试,难度逐步加深。那么,我们就来看我们的第一程序——we are together!
程序的代码如下:
#include<iostream>                      //输入输出流头文件
using namespace std;                    //使用命名空间
void main()                              //主函数
{
    cout<<”we are together!”<<endl;       //输出数据
}
这个程序的输出结果如图3-1所示。

论坛徽章:
0
5 [报告]
发表于 2012-11-08 15:02 |只看该作者

         图3-1  运行结果
几乎所有想了解我们家族的人,都是从这样一个最简单的程序学起的,不管是经典的“hello world”(在很多C++语言类的书籍里面都有这样一个程序),还是“we are together”,它们最本质的东西都是相通的。也许你看了上面的这些,一头雾水,觉得很茫然,不知道这都在说些什么,不过注意千万不要上火啊。刚刚开始,不明白没有关系,这也很正常。不过,如果听了我下面的讲解你还不明白,那就是你的不对啦!

论坛徽章:
0
6 [报告]
发表于 2012-11-08 15:02 |只看该作者
3.2  程序代码解析
相信你现在的感觉不是很好吧,感觉这都是些什么“甲骨文”啊,怀疑是不是外星人的暗语呢,哈哈,你如果这样想就对了,说明你是一个正常的人,因为没有人刚刚开始就能理解这些的,下面的就让我替你来揭开这神秘的面纱,探索其中的奥妙吧!
打起十二分精神,我们准备出发啦!
GO!

论坛徽章:
0
7 [报告]
发表于 2012-11-08 15:03 |只看该作者
3.2.1  #include指令
在我们C++家族里面,几乎只要是一个程序,不管大小都离不开#include指令。所以,它的重要性就不言而喻了。那么到底什么是#include指令?下面就听我来给你详细的解释。带有“#”开头的语句,一般是指宏定义或者预编译指令。
例如:#define PI=3.1415;
这就是一个宏定义语句。在这条语句当中,我们通常把,“PI”称为“宏模板”,把“3.1415”称为“宏扩展”。你也许会疑惑这个有什么作用呢?听我给你举一个例子你就明白,这个东西是多么的好了。
假如,现在学期结束了,你们班要进行综合测评,评出你们班的奖学金获得者。当在计算你们班每个人的综合测评的时候,起初你们把“智育”的比例设置为了0.6,而现在呢,由于你们教务处的领带换了,新官上任三把火嘛,他第一把火就是要改革这个计算的模式,现在要求将这个比例修改为0.65。这个时候你会怎么办,一个一个地进行修改,是不是觉得很麻烦,而且也没有必要啊?这个时候呢,宏定义就充分展示出了它的优势所在,你只要将“智育”这个因子首先进行一个宏定义,然后,修改它的一个“宏扩展”就可以了。
具体的代码我们可以这样来写:
#define zhiyu=0.6;
修改为:
#define zhiyu=0.65;
这样的话,我们同样实现了修改的功能,而不需要找出每一个需要进行修改的地方进行逐个的修改。这样既节约了时间,避免了很多麻烦,同时又保证了正确率。
那么,我们再回到我们的程序当中来。
#include<iostream>
这个就是预编译指令啦!
它包含了一个头文件,这个头文件的作用就是对输入输出进行函数的声明。特别需要注意的是,在C++里面,所有的函数必须先声明后使用,就好比你们宿舍需要开通网络的话,你必须先到你们学校的网络中心去报名,以后才能使用。它们的道理是一样的,记住了吗?
在后面上午章节,我们还会详细的对C++内部的预处理器进行讲解,欲知后事如何,请持续关注哦!

论坛徽章:
0
8 [报告]
发表于 2012-11-08 15:04 |只看该作者
3.2.2  命名空间
通常使用using指令来使用命名空间成员。它的一般语法格式如下:
using namespace::name;
使用using声明的好处在于,一旦我们使用了它,就可以直接的引用名字,而不需要再引用该名字的命名空间,同时它也避免了相同的名字引起的冲突。
我们可以看看下面这两个例子,进行对比一下。
第一:使用using声明。
#include<iostram>
using std::cin;              //使用using声明
using std::cout;             //使用using声明
void main()
{
  int v1;
  cin>>v1;                 //输入数据
  cout<<v1<<endl;          //输出数据
}
第二:没有使用using声明。
#include<iostram>
void main()
{
  int v1;
  std::cin>>v1;             //输入数据
  std::cout<<v1<<endl;      //输出数据
}
通过两种方法的对比,我们可以知道,第一种使用using指令更加的简洁方便。难道你不觉得吗?

论坛徽章:
0
9 [报告]
发表于 2012-11-08 15:04 |只看该作者
3.2.3  main()函数
其实这个函数就是传说中的——主函数。我们有时候也称它为入口函数。在一个C++程序里面可以有很多个函数,但是只有一个主函数。
如果这样说你还不明白的话,没有关系,我给你举个例子,相信聪明的你看完就明白了。就好比在传统社会里面,一个家庭里面可以有好几个人,但是呢,只有一个是当家作主的,这个当家作主的呢,就相当于C++程序里面的主函数了,而家庭里面的普通成员,就好比是C++程序里面的其他的函数了。现在你应该明白了吧。
一定要注意的是:一个C++程序有且仅有一个主函数main()。

论坛徽章:
0
10 [报告]
发表于 2012-11-08 15:05 |只看该作者
3.2.4  body——函数体
函数体是被一对大括号“{”和“}”括起来的部分。其中函数体由很多的语句和函数组成,不过也可以是空语句。一般用“{”来表示函数的开始,用“}”来表示函数的结束。
特别需要提醒的是:大括号要成对的出现。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP