程序设计基础 (C++)
初步知识
2
本章学习目标
通过本章学习,你能够
了解 C/C++语言的发展史及其特点
了解 C++程序的构成和书写形式
理解 C++程序的开发过程
使用 MS Visual C++ 6.0 运行程序
3
本章主要内容
关于 C/C++语言
最简单的 C++程序
C++程序的构成和书写形式
C++程序的编写和实现
关于 C++上机实践
4
第一代语言 —— 低级语言机器语言 (二进制 )
0001 0101 0110 1100
0001 0110 0110 1101
0101 0000 0101 0110
0011 0000 0110 1110
1101 0000 0000 0000
缺点:
1,人类不可读
2,编程效率低
3,依赖机器优点:
1,运行效率高
5
第二代语言 —— 低级语言汇编语言
LD R5,PRICE
LD R6,TAX
ADDI R0,R5 R6
ST R0,TOTAL
HLT
增加了可读性,但仍依赖机器、编程效率低
6
高级语言 (第 3,4,… 代语言 )
高层次的编程元素
机器无关 (可移植性 )
操作系统无关 (跨平台 )
需要利用
编译器 (compiler)
或
解释器 (interpreter)
7
高级语言与低级语言
8
高级语言人类服从于机器特性机器服从于人类特性
9
高级语言
可以使复杂软件的开发成为可能
既利于人类思维又便于转换成机器指令
可以回避寄存器、内存地址、机器周期等的直接使用
可以将精力集中在要解决的问题上
10
高级语言发展图编程语言的发展
11
关于 C
1972年由美国贝尔实验室的
D.M.Ritchie研制成功的。
为计算机专业人员设计的。大多数系统软件和许多应用软件都是用 C语言编写的。
功能丰富、表达能力强、使用灵活方便、
应用面广、目标程序效率高等。
面向过程,是结构化语言。
12
关于 C++
20世纪 80年代、由 AT&T Bell(贝尔 )实验室、
Bjarne Stroustrup博士、在 C语言的基础上开发成功的。
C++保留了 C语言原有的所有优点,增加了面向对象的机制。
与 C兼容。用 C语言写的程序基本上可以不加修改地用于 C++。是 C的超集。
C++既可用于面向过程的程序设计,又可用于面向对象的程序设计,是一种混合型的语言。
适合于开发较大规模软件。
13
最简单的 C++程序
#include <iostream> //包含头文件
using namespace std; //使用命名空间 std
int main( ) //程序入口
{
cout<<″Hello World.″; //输出
return 0;
}
注,''//"表示注释
14
运行结果在屏幕上输出以下一行信息,
Hello World,
15
编写和运行程序图示
16
编写和运行 C++程序
1,用 C++语言编写程序
C++的源程序是以,cpp作为后缀的
2,对源程序进行编译把源程序翻译成二进制形式的,目标程序 (.obj)”。
3,将目标文件连接将一个程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,形成一个可执行的二进制文件 (.exe),是可以直接执行的。
17
编写和运行 C++程序
4,运行程序运行最终形成的可执行的二进制文件
(.exe文件 ),得到运行结果。
5,分析运行结果如果运行结果不正确,应检查程序或算法是否有问题。
18
程序的三种错误
1,编译时的错误:
通常是语法错误
2,远行时的错误:
例如数值的越界、除数为零等。
3,逻辑 (算法 )错误:
运行结果不正确。例如用 (1/2)*x*h计算三角面积。
19
关于 C++上机实践
,C++程序设计题解与上机指导,
介绍了以下两种环境:
1,Visual C++ 6.0( 演示 )
2,GCC
20
关于 C++上机实践 (续 )
参见,上机指导,第 15章
Visual C++的上机操作
VC++对程序的管理
工作区 (Workspace,.dsw,管理多个项目 )
项目 (Project,一个程序,.dsp,管理多个文件 )
文件 (源文件,,cpp,头文件,,h,资源文件 )
21
关于 C++上机实践 (续 )
新建一个 C++程序的过程 (演示 )
打开一个已有程序的过程 (演示 )
编辑、编译、连接、运行 (演示 )
调试 (以后演示 )
例 1.3 求 a和 b两个数之和。
// 求两数之和 (本行是注释行 )
#include <iostream>
using namespace std;
int main( ) //主函数首部
{ //函数体开始
int a,b,sum; //定义变量
cin>>a>>b; //输入语句
sum=a+b; //赋值语句
cout<<″a+b=″<<sum<<endl; //输出语句
return 0;
} //函数结束例 1.3 给两个数 x和 y,求两数中的大者
#include <iostream>
using namespace std;
int max(int x,int y) //max函数
{
int z; //定义变量 z,类型为整型
if(x>y) //if语句,建立分支结构
z=x;
else
z=y;
return(z); //将 z的值返回给调用处
}
例 1.3 给两个数 x和 y,求两数中的大者 (续 )
int main( )
{
int a,b,m;
cin>>a>>b;
m=max(a,b); //调用 max函数
cout<<″max=″<<m<<endl;
return 0;
}
例 1.3 给两个数 x和 y,求两数中的大者 (续 )
两个函数,
主函数 main
被调函数 max
程序运行情况如下,
18 25 ↙ (输入 18和 25给 a和 b)
max=25 (输出 m的值 )
注意:输入的两个数据间用一个或多个 空格 间隔,
不能以逗号或其他符号间隔。
26
程序实例小结
一个程序由若干函数组成:
main函数 (必须有一个且只能有一个 )
其它函数 (若干 )
函数由以下组成:
函数头
函数体
若干语句
表达式语句
控制语句
,..
27
书写形式
可以从任何一列开始书写
一行内可以写几个语句
一个语句可以分写在多行上
没有行号
28
良好的编程习惯
注意程序的可读性:
同一层次对齐
不同层次缩进
适当使用注释
有意义地命名:
如,sum,name,studentName,
student_name
29
本章小结
关于 C/C++语言
最简单的 C++程序
C++程序的构成和书写形式
C++程序的编写和实现
关于 C++上机实践
30
作业
学习 Visual C++开发工具
实验 1
复习第 1章,预习第 2章
第 1章习题,2~10
初步知识
2
本章学习目标
通过本章学习,你能够
了解 C/C++语言的发展史及其特点
了解 C++程序的构成和书写形式
理解 C++程序的开发过程
使用 MS Visual C++ 6.0 运行程序
3
本章主要内容
关于 C/C++语言
最简单的 C++程序
C++程序的构成和书写形式
C++程序的编写和实现
关于 C++上机实践
4
第一代语言 —— 低级语言机器语言 (二进制 )
0001 0101 0110 1100
0001 0110 0110 1101
0101 0000 0101 0110
0011 0000 0110 1110
1101 0000 0000 0000
缺点:
1,人类不可读
2,编程效率低
3,依赖机器优点:
1,运行效率高
5
第二代语言 —— 低级语言汇编语言
LD R5,PRICE
LD R6,TAX
ADDI R0,R5 R6
ST R0,TOTAL
HLT
增加了可读性,但仍依赖机器、编程效率低
6
高级语言 (第 3,4,… 代语言 )
高层次的编程元素
机器无关 (可移植性 )
操作系统无关 (跨平台 )
需要利用
编译器 (compiler)
或
解释器 (interpreter)
7
高级语言与低级语言
8
高级语言人类服从于机器特性机器服从于人类特性
9
高级语言
可以使复杂软件的开发成为可能
既利于人类思维又便于转换成机器指令
可以回避寄存器、内存地址、机器周期等的直接使用
可以将精力集中在要解决的问题上
10
高级语言发展图编程语言的发展
11
关于 C
1972年由美国贝尔实验室的
D.M.Ritchie研制成功的。
为计算机专业人员设计的。大多数系统软件和许多应用软件都是用 C语言编写的。
功能丰富、表达能力强、使用灵活方便、
应用面广、目标程序效率高等。
面向过程,是结构化语言。
12
关于 C++
20世纪 80年代、由 AT&T Bell(贝尔 )实验室、
Bjarne Stroustrup博士、在 C语言的基础上开发成功的。
C++保留了 C语言原有的所有优点,增加了面向对象的机制。
与 C兼容。用 C语言写的程序基本上可以不加修改地用于 C++。是 C的超集。
C++既可用于面向过程的程序设计,又可用于面向对象的程序设计,是一种混合型的语言。
适合于开发较大规模软件。
13
最简单的 C++程序
#include <iostream> //包含头文件
using namespace std; //使用命名空间 std
int main( ) //程序入口
{
cout<<″Hello World.″; //输出
return 0;
}
注,''//"表示注释
14
运行结果在屏幕上输出以下一行信息,
Hello World,
15
编写和运行程序图示
16
编写和运行 C++程序
1,用 C++语言编写程序
C++的源程序是以,cpp作为后缀的
2,对源程序进行编译把源程序翻译成二进制形式的,目标程序 (.obj)”。
3,将目标文件连接将一个程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,形成一个可执行的二进制文件 (.exe),是可以直接执行的。
17
编写和运行 C++程序
4,运行程序运行最终形成的可执行的二进制文件
(.exe文件 ),得到运行结果。
5,分析运行结果如果运行结果不正确,应检查程序或算法是否有问题。
18
程序的三种错误
1,编译时的错误:
通常是语法错误
2,远行时的错误:
例如数值的越界、除数为零等。
3,逻辑 (算法 )错误:
运行结果不正确。例如用 (1/2)*x*h计算三角面积。
19
关于 C++上机实践
,C++程序设计题解与上机指导,
介绍了以下两种环境:
1,Visual C++ 6.0( 演示 )
2,GCC
20
关于 C++上机实践 (续 )
参见,上机指导,第 15章
Visual C++的上机操作
VC++对程序的管理
工作区 (Workspace,.dsw,管理多个项目 )
项目 (Project,一个程序,.dsp,管理多个文件 )
文件 (源文件,,cpp,头文件,,h,资源文件 )
21
关于 C++上机实践 (续 )
新建一个 C++程序的过程 (演示 )
打开一个已有程序的过程 (演示 )
编辑、编译、连接、运行 (演示 )
调试 (以后演示 )
例 1.3 求 a和 b两个数之和。
// 求两数之和 (本行是注释行 )
#include <iostream>
using namespace std;
int main( ) //主函数首部
{ //函数体开始
int a,b,sum; //定义变量
cin>>a>>b; //输入语句
sum=a+b; //赋值语句
cout<<″a+b=″<<sum<<endl; //输出语句
return 0;
} //函数结束例 1.3 给两个数 x和 y,求两数中的大者
#include <iostream>
using namespace std;
int max(int x,int y) //max函数
{
int z; //定义变量 z,类型为整型
if(x>y) //if语句,建立分支结构
z=x;
else
z=y;
return(z); //将 z的值返回给调用处
}
例 1.3 给两个数 x和 y,求两数中的大者 (续 )
int main( )
{
int a,b,m;
cin>>a>>b;
m=max(a,b); //调用 max函数
cout<<″max=″<<m<<endl;
return 0;
}
例 1.3 给两个数 x和 y,求两数中的大者 (续 )
两个函数,
主函数 main
被调函数 max
程序运行情况如下,
18 25 ↙ (输入 18和 25给 a和 b)
max=25 (输出 m的值 )
注意:输入的两个数据间用一个或多个 空格 间隔,
不能以逗号或其他符号间隔。
26
程序实例小结
一个程序由若干函数组成:
main函数 (必须有一个且只能有一个 )
其它函数 (若干 )
函数由以下组成:
函数头
函数体
若干语句
表达式语句
控制语句
,..
27
书写形式
可以从任何一列开始书写
一行内可以写几个语句
一个语句可以分写在多行上
没有行号
28
良好的编程习惯
注意程序的可读性:
同一层次对齐
不同层次缩进
适当使用注释
有意义地命名:
如,sum,name,studentName,
student_name
29
本章小结
关于 C/C++语言
最简单的 C++程序
C++程序的构成和书写形式
C++程序的编写和实现
关于 C++上机实践
30
作业
学习 Visual C++开发工具
实验 1
复习第 1章,预习第 2章
第 1章习题,2~10