学习要求
?课前请做好预习,课后请做好复习
?保持课堂安静,头脑清醒,思维活跃
?认真、独立、按时完成并提交作业
?重视上机实践,有效利用宝贵的上机时间
成绩构成
平时成绩:15% (考勤:20%平时作业:80%)
平时上机:15%
期末考试:
平时成绩(15%)+ 平时上机(15%) + 笔考70%
能细能粗
?在面向过程编程部分,对数据类型、运算符、语句等要注重细节。做到细致掌握。
?在面向对象部分重在对概念的掌握,对每个概念回答是什么?为什么?如何?
这三个问题。做到掌握思想。
重视实践
?和学好所有编程语言一样,做到多读程序、多上机。
利用资源
?利用网络资源进行学习、交流、答疑。
1.1从C到C++
1.2最简单的C++程序1.3C++程序构成与书写形式1.4C++程序的编写和实现1.5关于C++上机实践
人与计算机的沟通
计算机是无知觉无生命的机器,要使它能够按照人们的意图工作,就必须使计算机懂得人的意图,接受人向它发出的命令和信息,这就要解决一个"语言"的问题。打个比方,一个中国人想要同一个美国人进行交流,首先需要学习英语,因为英语是美国人可以理解的语言,美国人不理解中国人的汉语。同样,计算机也不懂人类的语言,无论是汉语还是英语,计算机都不能接受,因此要求人们用特定的计算机可以理解的语言与计算机交流,这就是计算机语言。这种语言同英语、汉语等等人类长期使用的自然语言有很大的不同,它有严格的定义,并且一般没有二义性,因为人们在使用自然语言交谈时,很容易根据语境确定具有二义性的对话的含义;但是计算机却做不到这一点,至少现在它还没有这么聪明。
机器语言汇编语言高级语言面向过程面向对象CPU 指令系统,由0、1序列构成的指令码组成如:10000000 加10010000 减
用助记符号描述的指令系统如ADD AX, BX 面向机器的语言程序设计依赖解决问题的过程
客观事物描述成具有属性和行为的对象; 同一类对象的共同属性和行为形成类; 封装对象间通过发送和接受消息发生联系; 类的继承与多态性可以提供使用现成类的机制,从而实现代码的重用.程序设计关键是定义类,并由类实例化成对象接近人的自然语言习惯,如:100+200
程序设计语言
自然语言
程序语言
?低级语言:是指与特定计算机体系结构密切相关的程序语言,即,它是指特定计算机能够直接理解的语言(或与之直接对应的语言),如:机器语言和汇编语言。
?高级语言:是指人容易理解和有利于人对解题过程进行描述的程序语言,通常所讲的程序设计语言往往指的是高级语言。
机器语言
低级语言和高级语言的例子
计算a+b*c-d的值,用汇编语言可写成: mov ax,b
mul ax,c
add ax,a
sub ax,d
mov r,ax
而用高级语言可写成:
r = a+b*c-d
全面支持C C++语言的产生
1983加入类C
C++ANSI C++1994标准化
C++语言的特点
面向对象 比C 更完善、安全、高效
历史:
1972年美国贝尔实验室的Dennis M.Ritchie为克服B语言的诸多不足,在B语言的基础上重新设计了一种语言,取其第二字母C,故称为C语言。
1980年贝尔实验室的Bjarne Stroustrup对C语言进行了扩充,推出了“带类的C”,多次修改后起名为C++。
以后又经过不断的改进,发展成为今天的C++。
C++改进了C的不足之处,支持面向对象的程序设计,在改进的同时保持了C的简洁性和高效性。
历史:
C++是由C语言为基础发展起来的。
C语言是作为UNIX操作系统的开发语言为人们所认识。七十年代末,C语言开始移植到非UNIX环境中,并逐步脱离UNIX系统成为一种独立的程序设计语言。
1988年美国国家标准协会ANSI对C语言进行了标准化,产生了ANSI C。
C语言的主要特点:
(1)C语言既具备高级语言的结构和编程环境,又提供类似于汇编语言那样的系统资源操纵能力及程序执行效率。适合解决有实时要求的问题。
(2)有丰富的运算符和数据类型,表达式类型多样化,可以方便地实现在其他语言中较难实现的运算,对各种不同类型的程序设计都有良好的适应性。
(3)以函数为基础实现程序的结构化设计,支持大型程序的多文件构成及单个文件独立编译,适合大型复杂程序的设计。
(4)语言简洁、紧凑,使用方便、灵活。
C++语言的主要特点:
C++是由C发展成为的以面向对象为主要特征的语言。作为C语言的超集,C++继承了C的所有优点,又对数据类型做了扩充,使得编译系统可以检查出更多类型错误。
C++支持面向对象程序设计,通过类和对象的概念把数据和对数据的操作封装在一起,通过派生、继承、重载和多态性等特征实现了软件重用和程序自动生成,使得大型复杂软件的构造和维护变得更加有效和容易。
C++语言的兼容性:
C++与C完全兼容,很多用C编写的库函数和应用程序都可以为C++所用。
但正是由于与C兼容,使得C++不是纯正的面向对象的语言,它既支持面向对象程序设计,也支持面向过程设计。但我们应当注意用面向对象的思想进行设计,以发挥出C++的优势。
/************************************************* 程序文件名: p1_1.cpp ** 本程序显示: Hello C++! *
* 设计者: 姜雪松时间: 2008-09-01 *
***********************************************/
#include }预处理命令int 返回值无参数、int 返回值的主函数主函数名函数开始 函数体 语句结束标志函数结束 运行结果: Hello C++!注释块注释行结束,可以实现多行注释。也可使用“//”进行单行注释。 C++语言的预处理命令都是以“#” 号开头。iostream 是一个头文件,系统头文件不带.h 后缀cout 为标准输出流对象,它与显示器相连。<< 是插入操作符,endl 为换行符号。整个语句的功能是将”Hello C++ !”字符串与endl 依次插入到cout 中main 是主函数名,一个C++语言程序有且仅有一个main 函数。C++程序执行时就是从main 函 数开始.C++语言规定:语句以分号结束 使用名字空间 ?为什么:标准C++库提供的对象等都放在标准名字空间std中,要使用它们, 必须要声明使用标准名字空间std. 使用标准名字空间std有3种方式: ?整体声明using namespace std; ?使用时单个对象临时声明std::cout<<"Hello C++"< 整体声明 #include using namespace std; void main( ) { cout << "Hello C++!"< # include void main ( ) { std::cout<<”Hello C++!”< } 单个对象使用前声明 # include using std::cout; using std::endl; void main ( ){ cout<<”Hello C++!”< } 1 键盘 cin 执行cin>>X; 键入123 3 123 内存 X=123 2 cin >> 对象1 >> 对象2>>...>>对象n ; cout << 对象1 << 对象2<<...<<对象n ; C++中使用对象cin 作为标准输入流对象,通常代表键盘,cin 与提取操作符>>连用,使用格式为: 意思是从标准输入流对象键盘上提取n 个数据分别给对象1、对象2、...、对象n 。C++中使用对象cout 作为标准输出流对象,通常代表显示设备,cout 与插入操作符<<连用,使用格式为: 意思是依次从将对象1、对象2、...、对象n 插入到标准输出流对象中,从 而实现了对象在显示器上的输出.C++ 输入/输出简介 Please input three numbers: 101 201 300↙ The average of 101,201 and 300 is: 200.667 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16/************************************************* 程序文件名: p1_2.cpp ** 功能: 求三个数的平均值,演示C++的简单I/O **************************************************/#include