解题与上机指导
第1章 C++的初步知识
1.根据你的了解,叙述C++的特点.C++对C有哪些发展?
1)特点:相对于C语言来讲,C语言是结构化和模块化的语言,基于过程;而C++是面向对象的语言,一切事物皆对象,它既可用于基于过程的结构化程序,又可用于面向对象的程序设计.另外对象有它的属性,面向对象的基本特点是封装,继承和多态.
2)发展:
在原来基于过程的机制基础上,对C语言的功能做了不少的扩充,增加了面向对象的机制.
2.一个c++程序是由哪几部分构成的?其中每一部分起什么作用?
构成及其作用:
1、预处理命令:每个程序都开头一堆#include,#define符号,#pragma编译开关
2、全局声明部分:类型声明和全局变量,用于全局声明类、结构、枚举的定义,也可以设置全局变量
3、函数:即程序执行的具体过程、顺序、逻辑定义(如下所示简单程序)
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!";
return 0;
}
3.从接到一个任务到得到最终结果,一般要经过几个步骤?
1)用C++编写程序(源程序cpp)
2)对源程序进行编译(目标程序.obj)
3)将目标文件连接(可执行二进制文件.exe)
4)运行程序
5)分析运行结果
4.请说明编辑,编译,连接的作用。在编译后得到的目标文件为什么不能直接运行?
(书上)
编译是以源程序文件为单位进行的,而一个完整的程序可能包含若干个程序文件,在分别对他们编译后,得到若干个目标文件(后缀一般为.obj),然后要将它们连接为一个整体.此外,还需要将编译系统提供的标准库相连接,才能生成一个可执行文件(后缀为.exe).不能直接运行文件(后缀为.exe).不能直接运行后缀为.obj的目标文件,只能运行后缀为.exe的可执行文件.
(网上)
1.编辑:编写代码的过程
2.编译:对源程序进行词法检查和语法检查。编译后可得到 .obj 目标文件
3.连接:使用系统提供的“连接程序linker”将目标文件以及系统的库文件或其他信息连接起来,最终形成一个可执行的二进制文件 .exe
5.分析下面程序运行的结果:
#include <iostream>
using namespace std;
int main()
{
cout << "This " << "is ";
cout << "a " << "C++ ";
cout << "program." << endl;
return 0;
}
//a+b=33