《易学C++(第2版)》——第1章 C++从这里开始1.1 软件与程序

第1章 C++从这里开始

易学C++(第2版)
本章主要讲述学习程序设计前需要了解的一些知识和学习程序设计的方法,并且对C++作了简要的介绍。通过阅读本章的内容,可以激发读者学习C++的兴趣。虽然本章没有介绍任何C++的编程技巧,但却充满了各种基础概念。学好本章,对日后的学习能够起到事半功倍的效果。

本章的知识点有:

软件和程序的概念
程序设计的概念
算法的概念
计算机语言的概念
C++的用途
C++与VC的关系
学习C++的方法和技巧

1.1 软件与程序

计算机改变着我们的世界,互联网改变着我们的生活。不断发展的多媒体技术(Multimedia)、虚拟现实技术(Virtual Reality)、网络技术(Network)给一批批70后、80后和90后打上了鲜明的烙印。20年前的大学生尚且只能通过收音机和电视机来打发学校里的时间;15年前的大学生有幸经历了刺蛇对狂徒的鏖战;而如今,大家都在拿着随身的小型计算机——手机刷着微博和朋友圈。随着计算机的普及,越来越多的人开始对计算机本身感兴趣。而其中最多的就是对“编程”感兴趣的技术爱好者。计算机之所以能够实现各种让人不可思议的功能,主要还是归功于软件工程师赋予了它智慧。如果你的计算机用了3年,你会发现芯片还是那个芯片,硬盘还是那个硬盘,但你的操作系统可能从Windows XP变成了Windows Vista,接着是Windows 7、Windows 8、Windows 10。

其实,我们平时对计算机进行的操作是在与计算机软件(Software)打交道。计算机之所以能够帮助人类工作,离不开软件的支持。打一个比方,计算机的各种硬件设备(Hardware)就像是人的身体,而软件就像是人的灵魂。少了软件这个灵魂,那么计算机只是一堆废铜烂铁。人们通过编写一款软件,来教会计算机做一些事情,像Windows、Word、QQ甚至游戏都是软件。

一个软件,往往是由若干个相关的程序(Program)、运行这些程序所需要的数据和相关文档(如帮助文档)等多个文件组成的。因此,要设计出一款软件,就必须从程序设计开始。那么,程序是什么呢?

那么,软件和我们所说的程序(Program)又有着什么样的关系呢?首先,要弄清什么是程序。

从初学者比较容易理解的角度说,程序是计算机执行一系列有序的动作的集合。通过一个程序,可以使计算机完成某一类有着共同特点的工作。如求解一个一元二次方程,或是找出一组数里面最大的一个数。所以,学会了程序设计,就是学会了用计算机解决各种问题。

小提示
 

传统的计算机学科将软件分为两大类:系统软件和应用软件。系统软件通常包括操作系统(Operating System)、数据库管理系统(Database Management System)和编译系统(Compile System),其中操作系统是计算机运行不可缺少的软件。系统软件为计算机最基本的管理、资源分配和任务调度功能提供支持。应用软件比较多,办公软件、通信软件和游戏都属于应用软件的范畴。除了系统软件和应用软件,现在还在它们之间发展起了一种叫中间件(Middleware)的软件。

时间: 2024-10-28 04:47:52

《易学C++(第2版)》——第1章 C++从这里开始1.1 软件与程序的相关文章

《CATIA V5 从入门到精通(第二版)》——第1章 CATIA V5R20概述 1.1 CATIA软件介绍及安装

第1章 CATIA V5R20概述 1.1 CATIA软件介绍及安装 CATIA V5 从入门到精通(第二版)1.1.1 CATIA 软件介绍CATIA是由法国Dassault飞机公司于1975年开始发展起来的一整套完整的3D CAD/CAM/CAE软件,在工业制造领域使用比较早而且广泛的是CATIA 工作站版(V4),尤其在欧洲各大汽车制造.设计公司几乎都在使用CATIA V4.由于V4版本不能运行于Windows 操作系统,这可能也是CATIA 在中国起步比较晚的一个原因,随着CATIA 的

《Java编程思想》(第二版)第5章:隐藏实现细节

编程 让变动的事物与不变的事物彼此隔离,使面向对象设计(OOD)的首要考虑.考虑一下程序库的版本更新吧. 组件程序库(components library)的概念以及谁有资格去用其中组件等问题Java是通过关键字package等等来控制的. import关键字的用法,package关键字的用法,default package:同一个目录中的所有文件,如果没有明确的package声明,都会被视为该目录的default package. 当你编译数量较少的.java文件后,能够得到数量较多的.cla

《Java编程思想》(第二版)第7章:多态(polymorphism)

编程 封装,继承与多态是OOP的三个核心本质. Method-call(函数调用)绑定方式:如果绑定动作发生于程序执行前(由编译器和连接器完成),成为"先期绑定(early binding)"绑定动作将在执行期才根据对象型别尔进行,称为后期绑定late binding,或者执行期绑定run-time binding,或者动态绑定dynamic binding.Java运用RTTI(run-time type identification)技术来支持动态绑定. 上一章提到的final关键

JAVA编程思想第四版—第三章—习题与答案

 (1) 写一个程序,打印出1 到100 间的整数. public class test{  public static void main(String[] args){      int i;      for(i=0;i<=100;i++){          //if(i==47) break;        //if(i==47) return;         System.out.println(i+" ");      }  }  }  (2) 修改练习(1),在

《Java编程思想》(第二版)第09章:持有你的对象

编程|对象 这是个十分简单的计划:一群固定数量且寿命已知的对象(objects).   你必须有能力在任何时刻,任何地点产生任意个数的对象.为此,Java提供了对象(或者应该说是对象的reference)的数种持有方式.有内置的array,还有utilities中的一套完整的容器类或者称为集群类(collection classes).   Array和其他容器的区别:效率和型别. 如果可以的话你应该尽可能使用array.当然有时候他功能有限,所以需要其他容器. Java array以及其他容器

《Java编程思想》(第二版)第08章:接口与内隐类

编程 我的笔记 Interfaces&inner classes为你的系统中的对象提供更为精巧的组织与控制方式. interface更胜于abstract class,因为我们能够藉以撰写出"可以upcasting为多个base class"的class,从而达到C++多重继承的目的. 你可以在关键字interface之前加上关键字public(但只有当这个interface被定义与同名文件中才行),否则就成为"friendly",仅可被使用于同一个pack

《Java编程思想》(第二版)第6章:重复运用classes

编程|重复 Java有着众人赞叹的功能,程序代码的重复运用便是其中之一.但是,如果想获得革命性的改变,你得远远超越"复制程序代码,然后改变之"的旧式程序代码的复用途径:组合(Composition)和继承(Inheritance) toString():每个非基本类别的对象都具备toString(),当编译器希望的到一个String,而你手上却只有那些对象的情况下,这个函数便会被唤起. 测试tips:"为每个class提供main(),不管class是不是public&quo

搜索引擎优化技术教程之完全版 第四章 SEO指导下的技术支持

     对搜索引擎最友好(Search Engine Friendly)的网页是静态网页,但大部分内容丰富或互动型网站都不可避免采用到相关技术语言来实现内容管理和交互功能.SEO 思想指导下的技术支持,主要是对特定代码的优化和对动态网页进行静态处理的措施.          Title 和 Meta 标签      以.html 或.htm 为扩展名的 HTML 文档称为静态网页.Meta 称为元标志,用于网页的<head >与</head>中.Meta 标签的用处很多,目前几乎

搜索引擎优化技术教程之完全版 第七章 网页级别(PageRank)

第七部分:网页级别(PageRank)      Google搜索引擎采用的核心软件称为 PageRank,这是由Google创始人开发出的一套用于网页评级的系统,是Google搜索排名算法中的一个组成部分,级别从1到10级,10级为满分,PR值越高说明该网页在搜索排名中的地位越重要,也就是说,在其他条件相同的情况下,PR值高的网站在Google搜索结果的排名中有优先权.网页级别由此成为Google所有网络搜索工具的基础.              网页级别概述 Google对网页级别的描述