摘要
目标性强:针对编程初学者,帮助初学者跨越编程的道门槛。
问题典型,回答生动:采用一问一答的编写形式,解决编程时容易遇到的典型问题。
章节独立:可以任意选择感兴趣的章节进行阅读。
程序员修炼之道 程序设计入门30讲 作者:吕云翔,傅义
程序员修炼之道 程序设计入门30讲 出版社:清华大学出版社
程序员修炼之道 程序设计入门30讲 内容简介
本书收录了与程序设计基础知识相关的30个问题。它们是部分初次接触编程的读者共有的问题。这些问题的答案并不复杂,但是消化吸收它们却不是一个简单的过程。这需要读者培养计算思维,学习从程序的视角看问题。当你可以回答本书所有的问题时,相信你已经越过了程序设计的道门槛。
本书分为6部分,分别是:入门学堂、内存模型、初窥算法、面向对象、认识程序、编程之道。在入门学堂这部分中,主要介绍程序设计基础的知识,例如如何编写个Java程序、个C++程序,学习调试程序等。在内存模型这部分中,我们将学习指针、引用、栈和堆、参数传递等内存相关的知识。初窥算法部分围绕基础的数据结构和算法展开,如链表、递归算法、搜索算法等。在面向对象这部分中,我们将围绕面向对象程序设计的三大特性展开学习。认识程序部分则介绍更多程序设计方面的知识,如异常处理机制、输入输出流、多线程编程等。编程之道部分讲述提升代码质量的方法,编程不仅是一项工程性的工作,更是一项艺术工作,这一部分就围绕程序设计的艺术性来展开。
本书面向所有计算机相关专业的学生,也面向所有对程序设计感兴趣的入门学习者,只要对本书中的任何问题感到疑惑,并且想知道背后答案的读者,都可以阅读本书。
程序员修炼之道 程序设计入门30讲 目录
前言
一、入门学堂
1.#include,using namespace std,int main分别是什么意思?我的第一个C程序
2.import,public static void main,String[] args分别是什么意思?我的第一个Java程序
3.什么是数据类型?
4.如何阅读项目源码?
5.如何调试程序?
二、内存模型
6.变量和对象存储在哪里?理解栈和堆
7.什么是stackoverflow异常?
8.指针究竟是什么?
9.Java中的引用与C中的指针有什么区别?
10.为什么C++中new之后要delete,Java中却不需要?
11.明明是值传递,可对象为什么发生了变化?
三、初窥算法
12.如何编写链表?
13.从斐波那契到汉诺塔,如何编写递归算法?
14.从深度优先到广度优先,如何编写搜索算法?
15.什么是位运算?位运算究竟有什么用?
四、面向对象
16.为什么要编写类?这么做是不是使问题更复杂了?
17.组合还是继承?如何选择?
18.为什么静态方法不能调用非静态成员?
19.Java为什么不支持多继承?
20.为什么要定义接口?接口有什么用?
五、认识程序
21.Java中的异常处理机制有什么优点?
22.throws还是try…catch?异常处理原则
23.什么是输入流和输出流?装饰器模式的应用
24.为什么需要多线程编程?
25.修改同时发生该听谁的?锁
26.编译、链接、运行,程序是怎样跑起来的?
27.为什么我写的都是黑框程序?图形界面是怎样写出来的?
28.什么是回调函数?
六、编程之道
29.如何正确地编写注释?
30.应该培养哪些良好的编程习惯?
参考文献
程序员修炼之道 程序设计入门30讲 精彩文摘
1.#include, using namespace std, int main分别是什么意思?我的第一个C程序
2.import, public static void main, String[] args分别是什么意思?我的第一个Java程序
3.什么是数据类型?
4.如何阅读项目源码?
5.如何调试程序?
1.#include, using namespace std, int main分别是什么意思?我的第一个C程序
本节的目的就是让读者看一看C++程序长什么样,更重要的,我们希望读者能把原来初学时不明白的地方都弄明白。通过本节,读者会对C++有一个大体的认识。本节的知识较为基础,如果对于示例代码1.1没有任何疑问,完全可以跳过本节。如果对Java语言更感兴趣,也可以直接进入下一节。
Hello world!
相信每个程序员接触的第一个程序都是“Hello world”,我们要认识的第一个C++程序也不例外。
示例代码1.1
#include <iostream>
#define HELLO_WORLD "Hello world!"
using namespace std;
int main()
{
cout<<HELLO_WORLD<<endl;
return 0;
}
文件包含
示例代码1.1的第一行#include <iostream>是文件包含指令,该指令的作用是在编译预处理时,将指定源文件的内容复制到当前源文件中,如图1.1所示。以示例代码1.1为例,在该段代码被编译之前,iostream文件内容会被复制到当前文件的起始位置,替代原先的#include <iostream>。为什么要在文件的第一行写这样一句指令呢?我们希望在屏幕上打印“Hello world”,就需要用到标准输出cout,这是一个负责程序对外输出的对象,而该对象是在iostream文件中定义的。简单地说,iostream文件为我们提供了输入输出功能。
读者你也许注意到了,在#include <iostream>后面并没有添加分号,所以这一行并不是一条C语句,而是一个预处理指令。预处理指令是编译器在将程序编译为机器语言之前首先会对程序进行的预处理。常见的预处理指令包括文件包含、宏定义和条件编译,接下来我们进一步了解宏定义的概念。
本文来自罗金艺还行吧投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。