C++程序设计
第一章 C++的初步知识
1. 理论习题
1.1 叙述C++的特点,C++对C有哪些发展?
- C++保留了C语言原有的所有优点,使C++兼容了C语言的面向过程特点;
- 在C语言的基础上进行扩充和完善,又成为了一种面向对象的程序设计语言;
- 发展:
a.在原来基于过程的机制基础上,对C语言的功能做了不少扩充
b.增加了面向对象的机制
1.2 一个C++程序由哪几部分构成?每一部分起到什么作用?
- 一个C++程序由一个或多个程序单位构成
- 在一个程序单位中,包括①预处理指令 ——加载头文件、预编译、定义宏;
②全局声明部分——对数据类型的声明、变量的定义;
③函数——实现操作的部分;
1.3 从接到一个任务到得到最终结果,一般要经过几个步骤?
- 编辑-编译-连接-运行程序-分析运行结果
1.4 编辑、编译、连接的作用?在编译后得到的目标文件为什么不能直接运行?
- 编辑——编写程序
- 编译——对源程序进行词法检查和语法检查
- 连接——将源程序产生的多个目标文件链接为一个整体。即通过系统提供的“连接程序(linker)”将一个程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,最终形成一个可执行的二进制文件
- 编译后的文件更正了错误,得到目标文件。但编译是对源文件分别进行的,每个源文件都产生一个目标文件,此时的目标文件并不能立即就被执行,因为各个源文件之间可能是有相互联系的所以需要通过linker,将目标程序与系统的库文件、系统提供的其他信息连接起来,形成后缀为.exe的二进制文件后,才可以直接运行。
2. 程序习题
2.1 上机
#include <iostream>
using namespace std;
int main()
{
cout << "This" << "is";
cout << "a" << "C++";
cout << "program." << endl;
return 0;
}
运行结果:This is a C++ program.
2.2 上机
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
a = 10;
b = 23;
c = a + b;
cout << "a + b =";
cout << "c";
cout << endl;
return 0;
}
运行结果:a + b = 33
2.3 上机
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
int f(int x, int y, int z);
cin >> a >> b >> c;
c = f(a, b, c);
cout << c << endl;
return 0;
}
int f(int x, int y, int z)
{
int m;
if (x < y) m = x;
else m = y;
if (z < m) m = z;
return(m);
}
运行结果:abc中的最小值
2.4 修改程序并运行
修改前
int main();
{
int a,b;
c = a + b;
cout >> "a + b =" >> a + b;
}
修改后
#include <iostream>
using namespace std;
int main()
{
int a,b;
c = a + b;
cout << "a + b =" ;
cout << "c" << endl;
return 0;
}
2.5 修改程序并运行
修改前
#include <iostream>
using namespace std;
int main()
{
int a, b;
c = add(a , b)
cout << "a + b =" << c << endl;
return 0;
}
int add( int x, int y);
{
z = x + y;
return(z);
}
修改后
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
int add( int x, int y);
cin >> a >> b;
c = add(a , b);
cout << "a + b =" << c << endl;
return 0;
}
int add( int x, int y)
{
int z;
z = x + y;
return(z);
}