1.1 程序设计概念
【例1.1】用记事本编写一个程序,让计算机告诉大家我爱编程,即“I
love programing.”
程序如下:
1 // exam1.1
2 #include <iostream>
3 using namespace std;
4 int main()
5 {
6 cout << "I love programming." << endl;
7 return 0;
8 }
编写完这个程序后,大家也许还有疑问,程序为什么要这样写?编程到底要遵循什么样的规则?这个程序编写后怎么让计算机去执行呢?为了回答这些问题,我们必须先弄清一些概念。
1.1.1编程概念
1.程序和计算机语言
程序就是为实现特定目标或解决特定问题而用计算机语言编写的一系列指令序列。计算机 语言是人与计算机之间通信的语言。计算机语言有很多种,比如BASIC语言、PASCAL语言、 C语言、C++语言、Java语言等,每种程序语言都有自身所定义的规则,即使是同一个语言也有不同的版本,内部规则也会有少许不同、比如C++语言就有Visual C++、Dev-C++等。编程可以简单理解为程序员为解决特定问题,按照自己的思路,在遵循特定的计算机语言规则下编写程序的过程。因此,要学好编程,首先选择一种计算机语言,然后按照该程序语言规则编写程序。
2.编辑和编译
在某种计算机语言环境下编写程序的过程,叫程序的编辑。
程序编辑好后,计算机是不是就可以立即运行呢?其实不然。这个程序在没有被计算机识别之前,仅仅只是一些符号所组成的文本。就像我们读的书籍一样,如果不经过大脑去领会书籍内容所包含的含义,文字永远只能是文字,课本也只能是课本,但经过我们的大脑学习和领会了书籍文字中所包含的内涵和思想,那么看起来死板的文字就成为大脑所学到的知识。程序也一样,也需要计算机去学习和领会程序所包含的含义,这个学习和领悟的过程当然不完全类似人脑对知识的学习,而仅仅是按照计算机语言所对应的规则,对所编写的程序进行解析的过程,这个过程叫翻译。翻译分为两种方式,一种叫解释,是计算机对程序的指令翻译一句执行一句的行为,BASIC语言和Java语言都属于解释型语言;另一种叫编译,是计算机对程序的全部指令一次性全部翻译后,再让计算机执行的行为,PASCAL语言和C++语言都属于编译型语言。
高级语言程序要通过编译器才能运行得到结果,不同的计算机语言使用的编译器不同,如不能用C++编译器编辑运行BASIC语言编写的程序,同时,编译后的程序,在不同操作系统环境下进行的解析也会略有区别。
3.集成开发环境
知道了编辑和编译后,自然就需要一个用来编辑程序的软件和一个对程序进行编译的软件。编辑的软件有很多,所有的文本编辑器都可以,比如记事本。编译的软件只能是特指,比如C语言用的是GCC编译器,C++语言用的是G++编译器等。
一个程序编辑后,需要经过编译,方可执行。可万一编写程序时出错了,或者程序思路有问题,那么就要反复对程序进行编辑和编译,显得非常麻烦。为了方便程序的编辑和编译,软件公司开发了程序语言的集成环境,也就是将编辑和编译调试集成在一块,形成了集成开发环境( lntegrated Development Environment,IDE )。IDE对人们学习编程提供了极大的方便。
为了学习方便、本章将在附录入中简单介绍DEV C++的IDE使用方法。当然大家选择C++语言的其他IDE也可,使用方法也与Dcv- C++的1DE类似。
1.1.2程序结构
为了弄清C++的编程规则,首先我们看C++程序的基本结构,如图1.1所示。
1 #include<iostream>//头文件
2 using namespace std;//使用命名空间
3 int main(){//主函数
4 cout << "I love programing." << endl;
5 return 0;
6 }
由图1.1可以看出,C++程序由头文件、命名空间和主函数组成。
1.头文件
头文件是C++程序对其他程序的引用。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明。include的英文含义是“包括”。格式为:#include <引用文件名>或#include“引用文件名”。
2.命名空间
指明程序采用的名字空间。采用名字空间是为了在C++新标准中,解决多人同时编写大型 程序时名字产生冲突问题。比如A、B两个班都有叫张三的人,你要使用A班的张三,必然要先指明是A班这个名字空间(namespace),然后你对张三的所有命令才能达到你的预想.不会叫错人。
“using namespace std”表示这个程序采用的全部都是std(标准)名字空间,std是英文单 词standard(标准)缩写。若不加这句,则该程序中cout和 endl都需指明其名字空间的出 处。 cout语句必须写成
1 std::cout<<"I love programming."<<std::endl;
3.主函数
日常生活中,我们要完成一件具有复杂功能的事,总是习惯把“大功能”分解为多个“小功能”来 实现。在C++程序的世界里,“功能”可称为“函数”,因此“函数”其实就是一段实现了某种功能的代码,并且可以供其他代码调用。
一个程序,无论复杂或简单,总体上都是一个“函数”,这个函数称为“main函数”,也就是“主 函数”。比如有个“做菜”程序,那么“做菜”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜、切菜、炒菜”等子函数。main函数在程序中大多数是必须存在的,程序运行时都是找main函数来执行。
练习
(1)阅读附录A中的 Dev-C++集成开发环境,尝试运行图1.1的程序。
(2)熟悉C++程序的基本结构,尝试改变程序,输出你想说的句子。