1、 C+C+语言语言概述概述学习目标学习目标1.了解了解C+语言的基本符号语言的基本符号2.了角了角C+语言的词汇(保留字、标识符、常量、运语言的词汇(保留字、标识符、常量、运算符、标点符号等)算符、标点符号等)3.掌握掌握C+程序的基本框架(结构程序设计框架、面程序的基本框架(结构程序设计框架、面向对象程序设计框架等)向对象程序设计框架等)4.能够使用能够使用Visual C+6.0集成开发环境编辑、编译、集成开发环境编辑、编译、运行与调度程序运行与调度程序C+C+的发展史的发展史C+由美国贝尔实验室的由美国贝尔实验室的Bjarne Stroustrup博博士在士在20世纪世纪80年代初期发明
2、并实现,最初被称年代初期发明并实现,最初被称作作C with Classes。1983年,年,C with Classes被被更名为更名为C+。1985年年10月发布了第一个商业化月发布了第一个商业化版本。同年,版本。同年,C+的第一本编程手册的第一本编程手册C+程程序设计语言出版。序设计语言出版。1989年,发布了第二版。年,发布了第二版。1990年,出版了年,出版了The Annotated C+Reference Manual。这本书后来成为标准化的基础。这本书后来成为标准化的基础。C+C+的优势的优势C+语言是由语言是由C语言扩充而来。它是一门混合型的语言,语言扩充而来。它是一门混合型
3、的语言,既支持传统的结构化程序设计,又支持面向对象的程既支持传统的结构化程序设计,又支持面向对象的程序设计,这使得序设计,这使得C+非常流行。它在编程中支持面向非常流行。它在编程中支持面向对象。因此,它比对象。因此,它比C更适合人们的思考方式,并且比更适合人们的思考方式,并且比C要安全、可靠、有效。但是它并不像要安全、可靠、有效。但是它并不像Java那样全面实那样全面实现类的使用,这使得它很灵活,能够适应多种场合的现类的使用,这使得它很灵活,能够适应多种场合的需要。需要。C+是编译语言,性能良好,效率更高。是编译语言,性能良好,效率更高。C+编写的程序独立性好编写的程序独立性好C+语言应用极为
4、广泛语言应用极为广泛对面向对象方法的支持对面向对象方法的支持对象是人们要进行研究的任何事物。面向对象对象是人们要进行研究的任何事物。面向对象的核心思想是对象和对象间的消息,是建立在的核心思想是对象和对象间的消息,是建立在“对象对象”基础上的方法学。它将系统看做对象基础上的方法学。它将系统看做对象的组合,每个对象都能接受并处理数据,然后的组合,每个对象都能接受并处理数据,然后和其他对象通过消息来交换数据。面向对象编和其他对象通过消息来交换数据。面向对象编程具有以下程具有以下3个基本特征:封装、继承和多态个基本特征:封装、继承和多态在在C+中,用类来封装数据和数据上的操作,中,用类来封装数据和数据
5、上的操作,外界看不到该类的属性和方法外界看不到该类的属性和方法常见的常见的C+C+开发工具开发工具传统的传统的C+开发工具有开发工具有C+Builder、Visual C+新近出现的有新近出现的有EclipseCode:BlocksDev-C+Mingw。Visual C+6.0Visual C+6.0开发环境简介开发环境简介Visual C+是微软公司是微软公司推出的目前使用极为广推出的目前使用极为广泛的基于泛的基于Windows平台平台的可视化集成开发环境。的可视化集成开发环境。它包含了一个文本编辑它包含了一个文本编辑器、资源编辑器、工程器、资源编辑器、工程编译工具、一个增量连编译工具、一
6、个增量连接器、源代码浏览器、接器、源代码浏览器、集成调试工具,以及一集成调试工具,以及一套联机文档套联机文档MSDN。Visual C+IDE一般一般由由3部分组成部分组成:Developer StudioMFCPlatform SDK。Visual C+6.0Visual C+6.0开发环境的使用开发环境的使用Visual C+提供了一个集源程序编辑、提供了一个集源程序编辑、代码编译与调试于一体的开发环境,这代码编译与调试于一体的开发环境,这个环境称为集成开发环境。通过集成开个环境称为集成开发环境。通过集成开发环境程序员可以访问发环境程序员可以访问C+源代码编辑源代码编辑器、资源编辑器,使用
7、内部调试器,并器、资源编辑器,使用内部调试器,并且可以创建工程文件。且可以创建工程文件。主界面主界面创建工程创建工程工具栏工具栏工程管理面板工程管理面板编译运行编译运行编译是对写好的程序进编译是对写好的程序进行检查,如果检查无误行检查,如果检查无误就会生成目标代码。生就会生成目标代码。生成目标代码后,还需要成目标代码后,还需要进行链接才能生成最终进行链接才能生成最终的可执行程序,然后才的可执行程序,然后才能执行程序。这些操作能执行程序。这些操作都要通过都要通过Builder菜单来菜单来完成。完成。程序结构程序结构程序结构是程序的组织结构,指该程序程序结构是程序的组织结构,指该程序语言特定的语句
8、结构、语法规则和表达语言特定的语句结构、语法规则和表达方式,其内容包括代码的组织结构和文方式,其内容包括代码的组织结构和文件的组织结构两部分。只有严格遵守这件的组织结构两部分。只有严格遵守这种规则,才能编写出高效、易读的程序。种规则,才能编写出高效、易读的程序。第一个程序第一个程序【示例【示例1-1】实现从命令行读入一个整数,然后加实现从命令行读入一个整数,然后加1再输出结果。再输出结果。/*第一部分第一部分*/这是一个演示程序,它从命令行读入一个整数,然后加这是一个演示程序,它从命令行读入一个整数,然后加1再输出再输出/*第二部分第二部分*/#include/*第三部分第三部分*/int m
9、ain()int x;coutx;x=x+1;coutx=x+1=xendl;return 0;文件的组织文件的组织当程序较小时,用一个文件就可以保存所有代码。但当程序较小时,用一个文件就可以保存所有代码。但是有实际用途的程序一般都不会太小。所以,通常会是有实际用途的程序一般都不会太小。所以,通常会将程序分成几个文件分别保存,再通过包含语句放到将程序分成几个文件分别保存,再通过包含语句放到一起。这种做法既有利于模块化开发,也有利于代码一起。这种做法既有利于模块化开发,也有利于代码的重用。的重用。C+的程序的文件类型有的程序的文件类型有.h和和.cpp两种,前者是头文件,两种,前者是头文件,后者
10、是代码的实现文件。头文件中包含了类、函数、后者是代码的实现文件。头文件中包含了类、函数、常量、全局变量等的声明,使用时用常量、全局变量等的声明,使用时用#include语句在程语句在程序的预处理部分包含进来即可。代码的实现文件是对序的预处理部分包含进来即可。代码的实现文件是对头文件中声明的类、函数等的具体实现。不需要显示头文件中声明的类、函数等的具体实现。不需要显示包含包含.cpp文件,当包含了与它对应的文件,当包含了与它对应的.h文件后,编译器文件后,编译器会自动去找同名的会自动去找同名的.cpp文件。文件。编码规范编码规范编码规范是指编写代码时应该遵守的文编码规范是指编写代码时应该遵守的文
11、字约束。一个好的编码规范不仅能够明字约束。一个好的编码规范不仅能够明显改善代码的可读性、可管理性,还可显改善代码的可读性、可管理性,还可以提高程序的可靠性、可修改性、可维以提高程序的可靠性、可修改性、可维护性,以及一致性,从而保证代码的质护性,以及一致性,从而保证代码的质量。当开发工作需要团队合作时,优秀、量。当开发工作需要团队合作时,优秀、统一的编码规范更是合作能否成功的关统一的编码规范更是合作能否成功的关键。键。风格指南风格指南程序块采用缩进风格。程序块采用缩进风格。每个函数不要太长。每个函数不要太长。避免使用过深的避免使用过深的if语句嵌套。语句嵌套。双目操作符的前后加空格。双目操作符的
12、前后加空格。单目操作符前后不加空格。单目操作符前后不加空格。尽量不要写太长的语句。尽量不要写太长的语句。使用类时,每个模块中只放一个类。使用类时,每个模块中只放一个类。功能相对独立的程序块之间或功能相对独立的程序块之间或for、if、do、while、switch等语句等语句前后应加一空行。前后应加一空行。if、while、for、case、default、do等语句自占一行。等语句自占一行。一行不要写多条语句。一行不要写多条语句。当表达式中有多个运算符时,尽量用括号来明确标出优先级。当表达式中有多个运算符时,尽量用括号来明确标出优先级。注释的使用注释的使用注释是为了增加程序的可读性和美观,注
13、释是为了增加程序的可读性和美观,给程序提供注解和备忘录。注解不能太给程序提供注解和备忘录。注解不能太多,也不能太少。太多有碍阅读,太少多,也不能太少。太多有碍阅读,太少不利于注解代码。不利于注解代码。C+中的注释有行注中的注释有行注释和块注释两种。行注释用释和块注释两种。行注释用“/”,一次,一次注释一行。块注释用注释一行。块注释用“/*/”,星号中,星号中间是被注释的块,可以是多行,也可以间是被注释的块,可以是多行,也可以是单行。是单行。美化代码美化代码代码不仅是写给编译器看的,也是写给代码不仅是写给编译器看的,也是写给其他同事或同行业的人看的。所以在保其他同事或同行业的人看的。所以在保证程
14、序正确性的前提性下,一定要注意证程序正确性的前提性下,一定要注意代码的优雅和整洁。这既显示了程序员代码的优雅和整洁。这既显示了程序员良好的素养,也显示了其优秀的编程风良好的素养,也显示了其优秀的编程风格。对代码的美化主要通过规范严谨的格。对代码的美化主要通过规范严谨的缩进和必要的注释。缩进和必要的注释。标识符标识符标识符就是为变量、函数、类以及其他标识符就是为变量、函数、类以及其他用户对象所起的名称。用户对象所起的名称。_asmabstractboolbreakcasecatchwhilecharclassconstcontinuedefaultdeletedodoubleelseenumex
15、plicitexternfalsefloatforfriendgotoifinlineintlongnamespacenewoperatorprivateprotectedpublicstructclassregisterreturnshortsignedsizeofstaticswitchtemplatethisthrowtruetrytypedefunionunsignedusingvirtualvoidvolatile标识符命名标识符命名标识符的名称可以是一个字符,也可以标识符的名称可以是一个字符,也可以是多个字符。第一个字符必须是字母或是多个字符。第一个字符必须是字母或下划线,后跟字母、数字、下划线的组下划线,后跟字母、数字、下划线的组合。标识符区分大小写。长度不得大于合。标识符区分大小写。长度不得大于32个字符,而通常是前个字符,而通常是前8个字符有效。个字符有效。1一致性一致性2准确性准确性3长度短,信息多长度短,信息多