版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C++语言概述主要内容C++语言的由来及其特点C++程序的构成C++程序的运行步骤与开发环境C++语言的词法C++语言的由来C语言由贝尔实验室的DennisRitchie为实现UNIX操作系统而设计的一种系统程序语言。支持过程式程序设计范式。既有高级语言的优点,又有低级语言(如汇编语言)才具有的一些描述能力。属于编译型高级语言。C++语言是贝尔实验室的BjarneStroustrup为能支持面向对象程序设计而设计的一种系统程序语言。保留了C语言的所有成分和特点,并在C语言的基础上进行了扩充,特别是增加了支持面向对象程序设计范式的语言成分。属于编译型高级语言。国际标准化组织(ISO)已于1998年为C++制定了第一个国际标准:C++98。随着功能的增加,C++新标准在不断出现:C++11、C++14、C++17、......。优点支持基本的程序设计思想、概念和技术。适用范围广(广谱)、流行。灵活:对做事方式限制较少,适应多种“口味”。高效:提供了高效的语言机制,很少作运行时刻的检查。C++语言优缺点缺点灵活:使得程序设计新手无所适从,对程序设计者的素质要求较高。不安全:对可能导致错误的用法不加限制(高效!)。对某些应用的支持不是最好(如面向Internet的应用)。如何评价C++语言语言的灵活性造成了语言不易把握;语言的高效也是通过把保证程序正确运行的责任交给了程序设计者。评价C++应该评价使用C++的人的程序设计素质。本课程以介绍程序设计的基本思想、概念以及技术为中心,C++只是采取的编程语言而已,其运用原则是:为程序设计的基本思想、概念和技术服务兼顾C++的一些特色C++程序的组成逻辑上,一个C++程序由一些程序实体的定义构成,这些程序实体主要包括:常量:不变的数据变量:可变的数据函数:对数据加工过程的抽象(子程序)数据类型:用于对数据的特征进行描述对象与类:把数据以及数据的加工作为一个整体(封装体)来看待。类是对象特征的描述,对象是类的实例。每个C++程序必须有且仅有一个名字为main的函数,程序从函数main开始执行。//ThisisasimpleC++program#include<iostream>//对使用的C++标准库中的程序实体进行声明usingnamespacestd;//指定使用标准库的名空间std。intmain()//主函数{ doublex,y;//定义两个实数类型的变量x和y cout<<"Entertwonumbers:";//利用对象cout输出提示信息
cin>>x>>y;//利用对象cin输入数据给变量x和y doublez;//定义一个实数类型的变量z z=x+y;//把x+y的结果保存到变量z中
cout<<x<<"+"<<y<<"="<<z<<endl;
//输出计算结果z return0;//函数main返回(程序结束)}
上述程序的运行结果为:Entertwonumbers:7.29.3↙7.2+9.3=16.5//Thisisanother
simpleC++program#include<iostream>//对使用的C++标准库中的程序实体进行声明usingnamespacestd;//指定使用标准库的名空间std。intmain()//主函数{ doubler; cout<<"请输入圆的半径:";
cin>>r; doublearea,circumference;
area=r*r*3.14;
circumference=2*r*3.14;
cout<<"面积等于"<<area<<endl;
cout<<"周长等于"<<circumference
<<endl; return0;}C++程序的组成(续)物理上,可以把一个C++程序分成多个模块,分别放在多个文件中。每个模块包含一些程序实体的定义,其中有且仅有一个模块中包含一个函数main。C++程序的运行步骤编辑利用某个编辑程序(如:Windows平台上的写字板、记事本、Word等)把C++程序(称为源代码程序)输入到计算机中,并作为文本文件(称为源文件)保存到外存(如硬盘等)中。C++源文件的文件名通常为:
*.cpp和*.h。编译利用某个C++编译程序对保存在外存中的C++源程序进行翻译,翻译结果作为目标代码程序保存到外存中。保存目标代码程序的文件名通常为:*.obj(Windows平台)如果一个C++程序由多个源文件构成,则每个源文件都需要编译,并产生多个目标代码文件。联接(连接)通过一个联接程序把程序的所有目标代码文件以及程序中用到的一些系统功能所在的目标代码文件(通常称为库文件)联接起来,得到一个完整的可执行代码程序并保存到外存的一个可执行代码文件中。可执行代码文件的文件名通常为:*.exe(Windows平台)运行通过操作系统提供的应用程序运行机制,把某个可执行代码文件装入内存,运行其中的可执行代码程序。 在上述的编译、联接和运行过程中都有可能发现程序有错,这时将返回运行步骤的前面阶段对程序进行修改,整个过程可能会重复多次。编辑(.cpp,.h)
编译(.obj)
联接(.exe)
运行
输出结果C++集成开发环境由于上述的C++程序的运行步骤比较麻烦,因此出现了很多C++集成程序开发环境,如:VisualC++TurboC++C++BuilderDevC++,等这些集成环境把各个步骤所需的操作全包含在内,往往使用一条命令(菜单项)就能自动完成大部分的步骤。如选择“执行”操作,它就会自动去执行“编译”、“联接”和“运行”操作。一些开发环境还提供了可视化的编程支持和功能强大的程序动态调试等工具。C++的词法一个语言包括语法、语义和语用。语法又包括词法与句法:词法是指语言的构词规则。句法是指由词构成句子(程序)的规则。词法指出了:语言的基本符号(字符集)语言的单词构成C++的字符集构成语言的基本符号称为语言的字符集。C++的字符集由下列符号构成:大小写英文字母:a~z,A~Z数字:0~9特殊字符:!#%^&*_-+=~<>/\|.,:;?'
"()[]{}空格横向制表纵向制表换页换行单词是由字符集中的字符按照一定规则构成的具有一定意义的最小语法单位。C++的单词有:标识符关键词字面常量(直接量)操作符(运算符)标点符号C++的单词标识符标识符
是由大小写英文字母、数字以及下划线(_)所构成的字符序列,第一个字符不能是数字,如:student、student_name、x_1、_name1等都是合法的标识符。8bc、123是不合法的标识符。标识符通常用来给程序中的实体命名(取名字),程序实体包括:常量、变量、函数、对象、类型(包括类)、标号等。大小写字母有区别。如:abc、Abc与ABC是不同的标识符。关键词不能作为用户自定义的标识符,它们有特殊的作用。如:if、switch、for等具体编译程序可能会限制标识符的长度。以两个下划线开头或以一个下划线后跟一个大写字母开头的标识符可能会在C++标准库中用到,程序中尽量不要用这些标识符作为程序的全局标识符。对不同种类的程序实体最好采用不同风格的标识符,以提高程序的易读性。例如:PI(常量)、StudentType(类型)、student(变量、对象)、print(函数)标识符使用的注意事项关键词
是指语言预定义的标识符,它们有固定的作用和含义,在程序中不能用作自定义实体的名字。例如:if、for、switch等。C++的关键词参见教材的表1-3。关键词字面常量字面常量
在程序中直接书写的常量值,又称直接量(literal)。如:128、3.14、'A'、"abcd"等。操作符(运算符)操作符
用于表示基本运算。如:+,-,*,/,=,>,<,==,!=,>=,<=,||,&&等。标点符号标点符号
起到某些语法、语义上的作用。如:逗号、分号、冒号、括号等。续行符一个单词如果在一行中写不下(如一个很长的字符串字面常量),则可以把它分几行来写,这时,需要在每一行(最后一行除外)的后面加上一个续行符。续行符由一个反斜杠(\)后面紧跟一个换行符(↙)构成。例如:"Thisistwolines'\↙string."C++程序是由单词序列构成,没有严格的格式要求。单词之间有时需要用空白符
把它们分开,以保证它们在形式上为独立的单位。例如,
double凵r;(“凵”代表空白符)空白符包括:空格符制表符回车符注释符空白符注释注释
是为了方便对程序的理解而加在源程序中的说明性文字信息。它们不属于可执行程序的一部分!注释分为:多行注释:以符号“/*”开始到符号“*/”结束。单行注释(C++扩充):从符号“//”开始到本行结束。语法的形式描述有时需要对一个语言的语法进行精确的描述,这往往需要采用另一个相对简单、没有歧义的语言(称为元语言)来完成。较常用的用于描述语言语法的元语言是一种称为BNF(Backus-NaurForm)的形式语言。例如,C/C++标识符的构成规则可用BNF描述成:<标识符>::=<非数字字符>|<标识符><非数字字符>| <标识符><数字字符><非数字字符>::= _|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z| a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z<数字字符>::=0|1|2|3|4|5|6|7|8|9
用自然语言描述的标识符:由大小写英文字母、数字以及下划线(_)所构成的字符序列,第一个字符不能是数字。在BNF中,“<”、“>”、“|”和“::=”称为元语言符号,它们不属于被描述的语言。“::=”表示“定义为”;“|”表示“或者”;“<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于语意分剝技术的智能城市解决方案研究
- 德格县错阿镇牧旅产业配套建设项目水土保持方案报告表
- 快消品行业事业群经理的招聘与选拔
- 旅游公司客户服务部主管理岗位的工作内容与常见问题
- 旅行社客服经理工作面试要点
- 动脉粥样硬化康复护理要点
- 护理管理中的护理科研管理
- 做账实操-保险合同会计科目及主要账务处理分录
- 人工智能2026年智能教育评估系统合同协议
- 听力检测的数据分析
- 风电施工安全培训课件
- 学生社交能力与同伴关系的培养
- 脱硫石膏处置协议书
- 景观照明设施运行维护经费估算
- 航天禁(限)用工艺目录(2021版)-发文稿(公开)
- 动物的呼吸和氧气运输
- 醛-亚胺-壳聚糖水凝胶的构筑及性能研究进展
- 无人机行业信息安全培训
- 管理会计学 第10版 课件 第4章 经营预测
- 2023年华南师范大学教师招聘考试历年真题库
- 2023年新改版教科版五年级下册科学全册练习题(一课一练)
评论
0/150
提交评论