C程序设计教程第一章

上传人:大米 文档编号:591182247 上传时间:2024-09-16 格式:PPT 页数:50 大小:793.50KB
返回 下载 相关 举报
C程序设计教程第一章_第1页
第1页 / 共50页
C程序设计教程第一章_第2页
第2页 / 共50页
C程序设计教程第一章_第3页
第3页 / 共50页
C程序设计教程第一章_第4页
第4页 / 共50页
C程序设计教程第一章_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《C程序设计教程第一章》由会员分享,可在线阅读,更多相关《C程序设计教程第一章(50页珍藏版)》请在金锄头文库上搜索。

1、主讲:温泉澈C+C+程序设计程序设计中国高等院校计算机基础教育课程体系规划教材中国高等院校计算机基础教育课程体系规划教材谭浩强谭浩强 编著编著参考书参考书C+程序设计题解与上机指导程序设计题解与上机指导课程要求课前请做好预习课前请做好预习保持课堂安静,认真,头脑清醒,思维活跃保持课堂安静,认真,头脑清醒,思维活跃重视上机实践,有效利用宝贵的上机时间重视上机实践,有效利用宝贵的上机时间总总 目目 录录第第1篇篇 基基 本本 知知 识识第第1章章 C+的初步知识的初步知识第第2章章 数据类型与表达式数据类型与表达式第第2篇篇 面向过程的程序设计面向过程的程序设计第第3章章 程序设计初步程序设计初步

2、第第4章章 函数与预处理函数与预处理第第5章章 数组数组第第6章章 指针指针第第7章章 自定义数据类型自定义数据类型第第3篇篇 基于对象的程序设计基于对象的程序设计第第8章章 类和对象类和对象第第9章章 关于类和对象的进一步讨论关于类和对象的进一步讨论第第10章章 运算符重载运算符重载第第4篇篇 面向对象的程序设计面向对象的程序设计第第11章章 继承与派生继承与派生第第12章章 多态性与虚函数多态性与虚函数第第13章章 输入输出流输入输出流第第14章章 C+工具工具第第1章章 C+的初步知识的初步知识第第2章章 数据类型与表达式数据类型与表达式第第1 1篇篇基基 本本 知知 识识第第1章章 C

3、+的初步知识的初步知识*1.1 从从C到到C+*1.2 最简单的最简单的C+程序程序 1.3 C+程序的构成和书写形式程序的构成和书写形式 1.4 C+程序的编写和实现程序的编写和实现 1.5 关于关于C+上机实践上机实践世界上第一种计算机高级语言诞生于世界上第一种计算机高级语言诞生于1954年,它是年,它是FORTRAN语言。先后出现了多种计算机高级语言。语言。先后出现了多种计算机高级语言。其中使用最广泛、影响最大的当推其中使用最广泛、影响最大的当推BASIC语言和语言和C语语言。言。C语言是语言是1972年由美国贝尔实验室的年由美国贝尔实验室的D.M.Ritchie研研制成功的。它不是为初

4、学者设计的,而是为计算机专制成功的。它不是为初学者设计的,而是为计算机专业人员设计的。大多数系统软件和许多应用软件都是业人员设计的。大多数系统软件和许多应用软件都是用用C语言编写的。语言编写的。随着软件规模的增大,用随着软件规模的增大,用C语言编写程序渐渐显得语言编写程序渐渐显得有些吃力了。有些吃力了。*1.1 从从C到到C+C+是由是由AT&T Bell(贝尔贝尔)实验室的实验室的Bjarne Stroustrup博博士及其同事于士及其同事于20世纪世纪80年代初在年代初在C语言的基础上开发成功语言的基础上开发成功的。的。C+保留了保留了C语言原有的所有优点,增加了面向对象语言原有的所有优点

5、,增加了面向对象的机制。的机制。C+是由是由C发展而来的,与发展而来的,与C兼容。用兼容。用C语言写的程序基语言写的程序基本上可以不加修改地用于本上可以不加修改地用于C+。从从C+的名字可以看出它的名字可以看出它是是C的超集。的超集。C+既可用于面向过程的结构化程序设计,又可用于面既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计向对象的程序设计,是一种功能强大的混合型的程序设计语言。语言。C+对对C的的“增强增强”,表现在两个方面:,表现在两个方面: (1) 在原来面向过程的机制基础上,对在原来面向过程的机制基础上,对C语言的功语言的功能做了不少扩

6、充。能做了不少扩充。(2) 增加了面向对象的机制。增加了面向对象的机制。面向对象程序设计,是针对开发较大规模的程序而面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。提出来的,目的是提高软件开发的效率。面向对象和面向过程不是矛盾的,而是各有用途、面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。互为补充的。学习学习C+,既要会利用既要会利用C+进行面向过程的结构化进行面向过程的结构化程序设计,也要会利用程序设计,也要会利用C+进行面向对象的程序设计。进行面向对象的程序设计。本书既介绍本书既介绍C+在面向过程程序设计中的应用,也在面向过程程序设计中的应用,也介

7、绍介绍C+在面向对象程序设计中的应用。在面向对象程序设计中的应用。例例1.1 输出一行字符:输出一行字符: “This is a C+ program.”。程序如下:程序如下: #include /包含头文件包含头文件iostreamusing namespace std; /使用命名空间使用命名空间stdint main( )coutThis is a C+ program.;return 0;在运行时会在屏幕上输出以下一行信息在运行时会在屏幕上输出以下一行信息:This is a C+ program. *1.2 最简单的最简单的C+程序程序用用main代表代表“主函数主函数”的名字。每一

8、个的名字。每一个C+程序都必程序都必须有一个须有一个 main 函数。函数。main前面的前面的int的作用是声明函数的类型为整型。的作用是声明函数的类型为整型。 return 0 的作用是向操作系统返回一个零值。如果程序不的作用是向操作系统返回一个零值。如果程序不能正常执行,则会自动向操作系统返回一个非零值,一能正常执行,则会自动向操作系统返回一个非零值,一般为般为-1。函数体是由大括号函数体是由大括号 括起来的。本例中主函数内只有括起来的。本例中主函数内只有一个以一个以cout开头的语句。注意开头的语句。注意C+所有语句最后都应当有所有语句最后都应当有一个分号。一个分号。#include

9、,不是不是C+的语句,而是的语句,而是C+的一的一个预处理命令,它以个预处理命令,它以“#”开头以与开头以与C+语句相区别,行语句相区别,行的末尾没有分号。的末尾没有分号。#include 是一个是一个“包含命令包含命令”,它的作用是将文件iostream的内容包含到该命令所在的程序文件中,代替该命令行。文件iostream的作用是向程序提供输入或输出时所需要的一些信息。iostream是是i-o-stream 3个词的组合,从它的形式就可以知个词的组合,从它的形式就可以知道它代表道它代表“输入输出流输入输出流”的意思,由于这类文件都放在程的意思,由于这类文件都放在程序单元的开头,所以称为序单

10、元的开头,所以称为“头文件头文件”(head file)。在程序在程序进行编译时,先对所有的预处理命令进行处理,将头文件进行编译时,先对所有的预处理命令进行处理,将头文件的具体内容代替的具体内容代替 #include命令行,然后再对该程序单元命令行,然后再对该程序单元进行整体编译。进行整体编译。“using namespace std; ” 的意思是“使用命名空间std”。C+标准库中的类和函数是在命名空标准库中的类和函数是在命名空间间std中声明的,因此程序中如果需要用到中声明的,因此程序中如果需要用到C+标准标准库库(此时就需要用此时就需要用#include命令行命令行),就需要用,就需要

11、用“using namespace std; ”作声明,表示要用到命名空作声明,表示要用到命名空间间std中的内容。中的内容。在初学在初学C+时,对本程序中的第时,对本程序中的第1,2行可以不必深究,行可以不必深究,只需知道:只需知道: 如果程序有输入或输出时,必须使用“#include ”命令以提供必要的信息,同时要用“using namespace std;” ,使程序能够使用这些信息,否则程序编译时将出错。例例1.2 求求a和和b两个数之和。两个数之和。可以写出以下程序:可以写出以下程序: / 求两数之和求两数之和 (本行是注释行本行是注释行)#include /预处理命令预处理命令us

12、ing namespace std; /使用命名空间使用命名空间stdint main( ) /主函数首部主函数首部 /函数体开始函数体开始 int a,b,sum; /定义变量定义变量 cinab; /输入语句输入语句 sum=a+b; /赋值语句赋值语句couta+b=sumendl; /输出语句输出语句return 0; /如程序正常结束,向操作系统返回一个零值如程序正常结束,向操作系统返回一个零值 /函数结束函数结束本程序的作用是求两个整数本程序的作用是求两个整数a和和b之和之和sum。第第1行行“/求两数之和求两数之和”是一个注释行,是一个注释行,C+规定在一行中规定在一行中如果出现

13、如果出现“/”,则从它开始到本行末尾之间的全部,则从它开始到本行末尾之间的全部内容都作为注释。内容都作为注释。如果在运行时从键盘输入如果在运行时从键盘输入 123 456 则输出为则输出为a+b=579例例1.3 给两个数给两个数x和和y,求两数中的大者。求两数中的大者。在本例中包含两个函数。在本例中包含两个函数。#include /预处理命令预处理命令using namespace std;int max(int x,int y) /定义定义max函数,函数值为整型,形式参数函数,函数值为整型,形式参数x,y为整型为整型 /max函数体开始函数体开始 int z; /变量声明,定义本函数中用

14、到的变量变量声明,定义本函数中用到的变量z为整型为整型 if(xy) z=x; /if语句,如果语句,如果xy,则将则将x的值赋给的值赋给zelse z=y; /否则,将否则,将y的值赋给的值赋给z return(z); /将将z的值返回,通过的值返回,通过max带回调用处带回调用处 /max函数结束函数结束int main( ) /主函数主函数 /主函数体开始主函数体开始 int a,b,m; /变量声明变量声明 cinab; /输入变量输入变量a和和b的值的值 m=max(a,b); /调用调用max函数,将得到的值赋给函数,将得到的值赋给mcoutmax=mendl; /输出大数输出大数

15、m的值的值return 0; /如程序正常结束,向操作系统返回一个零值如程序正常结束,向操作系统返回一个零值 /主函数结束主函数结束本程序包括两个函数本程序包括两个函数:主函数主函数main和被调用的函数和被调用的函数max。程序运行情况如下程序运行情况如下: 18 25 (输入输入18和和25给给a和和b)max=25 (输出输出m的值的值) 注意输入的两个数据间用一个或多个空格间隔,不注意输入的两个数据间用一个或多个空格间隔,不能以逗号或其他符号间隔。能以逗号或其他符号间隔。在上面的程序中,在上面的程序中,max函数出现在函数出现在main函数之前,函数之前,因此在因此在main函数中调用

16、函数中调用max函数时,编译系统能识别函数时,编译系统能识别max是已定义的函数名。如果把两个函数的位置对换是已定义的函数名。如果把两个函数的位置对换一下,即先写一下,即先写main函数,后写函数,后写max函数,这时在编译函数,这时在编译main函数遇到函数遇到max时,编译系统无法知道时,编译系统无法知道max代表什代表什么含义,因而无法编译,按出错处理。么含义,因而无法编译,按出错处理。为了解决这个问题,在主函数中需要对被调用函数为了解决这个问题,在主函数中需要对被调用函数作声明。上面的程序可以改写如下:作声明。上面的程序可以改写如下:#include using namespace s

17、td;int main( ) int max(int x,int y); /对对max函数作声明函数作声明 int a,b,c; cinab; c=max(a,b); /调用调用max函数函数coutmax=cy) z=x; else z=y; return(z);只要在被调用函数的首部的末尾加一个分号,就成只要在被调用函数的首部的末尾加一个分号,就成为对该函数的函数声明。函数声明的位置应当在函数为对该函数的函数声明。函数声明的位置应当在函数调用之前。调用之前。下面举一个包含类下面举一个包含类(class)和对象和对象(object)的的C+程序,目的是使读者初步了解程序,目的是使读者初步了解

18、C+是怎样体现面向对是怎样体现面向对象程序设计方法的。象程序设计方法的。例例1.4 包含类的包含类的C+程序。程序。#include / 预处理命令预处理命令using namespace std;class Student / 声明一个类,类名为声明一个类,类名为Studentprivate: / 以下为类中的私有部分以下为类中的私有部分int num; / 私有变量私有变量numint score; / 私有变量私有变量scorepublic: / 以下为类中的公用部分以下为类中的公用部分void setdata( ) / 定义公用函数定义公用函数setdatacinnum; / 输入输入

19、num的值的值cinscore; / 输入输入score的值的值 void display( ) / 定义公用函数定义公用函数display coutnum=numendl; / 输出输出num的值的值 coutscore=scoreendl; /输出输出score的值的值 ; / 类的声明结束类的声明结束Student stud1,stud2; /定义定义stud1和和stud2为为Student类的变量,称为类的变量,称为对象对象int main( ) / 主函数首部主函数首部stud1.setdata( ); / 调用对象调用对象stud1的的setdata函数函数 stud2.setd

20、ata( ); / 调用对象调用对象stud2的的setdata函数函数 stud1.display( ); / 调用对象调用对象stud1的的display函数函数stud2.display( ); / 调用对象调用对象stud2的的display函数函数return 0;在一个类中包含两种成员:在一个类中包含两种成员: 数据和函数,分别称为数据和函数,分别称为数据成员和成员函数。数据成员和成员函数。在在C+中把一组数据和有权调中把一组数据和有权调用这些数据的函数封装在一起,组成一种称为用这些数据的函数封装在一起,组成一种称为“类类(class)”的数据结构。在上面的程序中,数据成员的数据结

21、构。在上面的程序中,数据成员num,score和成员函数和成员函数setdata,display组成了一个名为组成了一个名为Student的的“类类”类型。成员函数是用来对数据成员类型。成员函数是用来对数据成员进行操作的。也就是说,一个类是由一批数据以及对进行操作的。也就是说,一个类是由一批数据以及对其操作的函数组成的。其操作的函数组成的。类可以体现数据的封装性和信息隐蔽。在上面的程类可以体现数据的封装性和信息隐蔽。在上面的程序中,在声明序中,在声明Student类时,把类中的数据和函数分类时,把类中的数据和函数分为两大类:为两大类: private(私有的私有的)和和public(公用的公用

22、的)。把全。把全部数据部数据(num,score)指定为私有的,把全部函数指定为私有的,把全部函数(setdata,display)指定为公用的。在大多数情况下,指定为公用的。在大多数情况下,会把所有数据指定为私有,以实现信息隐蔽。会把所有数据指定为私有,以实现信息隐蔽。具有具有“类类”类型特征的变量称为类型特征的变量称为“对象对象”(object)。程序中第程序中第1824行是主函数。行是主函数。程序运行情况如下:程序运行情况如下: 1001 98.5 (输入学生输入学生1的学号和成绩的学号和成绩)1002 76.5 (输入学生输入学生2的学号和成绩的学号和成绩)num=1001 (输出学生

23、输出学生1的学号的学号)score=98.5 (输出学生输出学生1的成绩的成绩)num=1002 (输出学生输出学生2的学号的学号)score=76.5 (输出学生输出学生2的成绩的成绩)C+程序的结构和书写格式归纳如下:程序的结构和书写格式归纳如下: (1) 一个一个C+程序可以由一个程序单位或多个程程序可以由一个程序单位或多个程序单位构成。每一个程序单位作为一个文件。在程序序单位构成。每一个程序单位作为一个文件。在程序编译时,编译系统分别对各个文件进行编译,因此,编译时,编译系统分别对各个文件进行编译,因此,一个文件是一个编译单元。一个文件是一个编译单元。(2) 在一个程序单位中,可以包括

24、以下几个部分:在一个程序单位中,可以包括以下几个部分: 预处理命令。上节预处理命令。上节4个程序中都包括个程序中都包括#include命命令。令。 全局声明部分全局声明部分(在函数外的声明部分在函数外的声明部分)。在这部分。在这部分中包括对用户自己定义的数据类型的声明和程序中所中包括对用户自己定义的数据类型的声明和程序中所用到的变量的定义。用到的变量的定义。1.3 C+程序的构成和书写形式程序的构成和书写形式 函数。函数是实现操作的部分,因此函数是程序函数。函数是实现操作的部分,因此函数是程序中必须有的和最基本的组成部分。每一个程序必须包中必须有的和最基本的组成部分。每一个程序必须包括一个或多

25、个函数,其中必须有一个括一个或多个函数,其中必须有一个(而且只能有一而且只能有一个个)主函数主函数(main函数函数)。但是并不要求每一个程序文件都必须具有以上但是并不要求每一个程序文件都必须具有以上3个个部分,可以缺少某些部分部分,可以缺少某些部分(包括函数包括函数)。(3) 一个函数由两部分组成一个函数由两部分组成: 函数首部,即函数的第一行。包括函数名、函数函数首部,即函数的第一行。包括函数名、函数类型、函数属性、函数参数类型、函数属性、函数参数(形参形参)名、参数类型。名、参数类型。一个函数名后面必须跟一对圆括号,一个函数名后面必须跟一对圆括号, 函数参数可以函数参数可以缺省,如缺省,

26、如int main( )。 函数体,即函数首部下面的大括号内的部分。如函数体,即函数首部下面的大括号内的部分。如果在一个函数中有多个大括号,则最外层的一对果在一个函数中有多个大括号,则最外层的一对 为函数体的范围。为函数体的范围。函数体一般包括函数体一般包括:局部声明部分局部声明部分 (在函数内的声明部分在函数内的声明部分)。包括对本函。包括对本函数中所用到的类型、函数的声明和变量的定义。数中所用到的类型、函数的声明和变量的定义。对数据的声明既可以放在函数之外对数据的声明既可以放在函数之外(其作用范围是其作用范围是全局的全局的),也可以放在函数内,也可以放在函数内(其作用范围是局部的,其作用范

27、围是局部的,只在本函数内有效只在本函数内有效)。执行部分。由若干个执行语句组成,用来进行有关执行部分。由若干个执行语句组成,用来进行有关的操作,以实现函数的功能。的操作,以实现函数的功能。(4) 语句包括两类。一类是声明语句,另一类是语句包括两类。一类是声明语句,另一类是执行语句。执行语句。 C+对每一种语句赋予一种特定的功能。对每一种语句赋予一种特定的功能。语句是实现操作的基本成分,显然,没有语句的函数语句是实现操作的基本成分,显然,没有语句的函数是没有意义的。是没有意义的。C+语句必须以分号结束。语句必须以分号结束。(5) 一个一个C+程序总是从程序总是从main函数开始执行的,而函数开始

28、执行的,而不论不论main函数在整个程序中的位置如何。函数在整个程序中的位置如何。(6) 类类(class)是是C+新增加的重要的数据类型,是新增加的重要的数据类型,是C+对对C的最重要的发展。有了类,就可以实现面向的最重要的发展。有了类,就可以实现面向对象程序设计方法中的封装、信息隐蔽、继承、派生、对象程序设计方法中的封装、信息隐蔽、继承、派生、多态等功能。在一个类中可以包括数据成员和成员函多态等功能。在一个类中可以包括数据成员和成员函数,他们可以被指定为私有的数,他们可以被指定为私有的(private)和公用的和公用的(public)属性。属性。私有的数据成员和成员函数只能被本私有的数据成

29、员和成员函数只能被本类的成员函数所调用。类的成员函数所调用。(7)C+程序书写格式自由,一行内可以写几个语句,程序书写格式自由,一行内可以写几个语句, 一个一个语句可以分写在多行上。语句可以分写在多行上。C+程序没有行号,也不像程序没有行号,也不像FORTRAN或或COBOL那样严格规定书写格式那样严格规定书写格式(语句必须从某语句必须从某一列开始书写一列开始书写)。(8) 一个好的、有使用价值的源程序都应当加上必要的注释,一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。以增加程序的可读性。C+还保留了还保留了C语言的注释形式,可以语言的注释形式,可以用用“/*/”对对C

30、+程序中的任何部分作注释。在程序中的任何部分作注释。在“/*”和和“*/”之间的全部内容作为注释。之间的全部内容作为注释。用用“/”作注释时,有效范围只有一行,即本行有效,不作注释时,有效范围只有一行,即本行有效,不能跨行。而用能跨行。而用“/*/”作注释时有效范围为多行。只要作注释时有效范围为多行。只要在开始处有一个在开始处有一个“/*”,在最后一行结束处有一个,在最后一行结束处有一个“*/”即即可。因此,一般习惯是:可。因此,一般习惯是: 内容较少的简单注释常用内容较少的简单注释常用“/”,内容较长的常用内容较长的常用“/*/ ”。一个程序从编写到最后得到运行结果要经历以下一一个程序从编写

31、到最后得到运行结果要经历以下一些步骤。些步骤。1. 用用C+语言编写程序语言编写程序用高级语言编写的程序称为用高级语言编写的程序称为“源程序源程序”(source program)。)。C+的源程序是以的源程序是以.cpp作为后缀的作为后缀的(cpp是是c plus plus 的缩写的缩写)。2. 对源程序进行编译对源程序进行编译为了使计算机能执行高级语言源程序,必须先用一为了使计算机能执行高级语言源程序,必须先用一种称为种称为“编译器编译器(complier)”的软件的软件(也称编译程序也称编译程序或编译系统或编译系统),把源程序翻译成二进制形式的,把源程序翻译成二进制形式的“目标目标程序程

32、序(object program)”。1.4 C+程序的编写和实现程序的编写和实现编译是以源程序文件为单位分别编译的。编译是以源程序文件为单位分别编译的。目标程序目标程序一般以一般以.obj或或.o作为后缀作为后缀(object 的缩写的缩写)。编译的。编译的作用是对源程序进行词法检查和语法检查。作用是对源程序进行词法检查和语法检查。编译时对编译时对文件中的全部内容进行检查,编译结束后会显示出所文件中的全部内容进行检查,编译结束后会显示出所有的编译出错信息。一般编译系统给出的出错信息分有的编译出错信息。一般编译系统给出的出错信息分为两种,一种是错误为两种,一种是错误(error);一种是警告一

33、种是警告(warning) 。3. 将目标文件连接将目标文件连接在改正所有的错误并全部通过编译后,得到一个或在改正所有的错误并全部通过编译后,得到一个或多个目标文件。此时要用多个目标文件。此时要用系统提供的系统提供的“连接程序连接程序(linker)”将一个程序的所有目标程序和系统的库文将一个程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,最终形成一个件以及系统提供的其他信息连接起来,最终形成一个可执行的二进制文件,它的后缀是可执行的二进制文件,它的后缀是.exe,是可以直接是可以直接执行的。执行的。4. 运行程序运行程序 运行最终形成的可执行的二进制文件运行最终形成的可执行的

34、二进制文件(.exe文件文件),得到运行结果。得到运行结果。5. 分析运行结果分析运行结果如果运行结果不正确,应检查程序或算法是否有问如果运行结果不正确,应检查程序或算法是否有问题。题。图图1.1在了解了在了解了C+语言的初步知识后,最好尽快在计算语言的初步知识后,最好尽快在计算机上编译和运行机上编译和运行C+程序,以加深对程序,以加深对C+程序的认识,程序的认识,并初步掌握并初步掌握C+的上机操作。的上机操作。可以使用不同的可以使用不同的C+编译系统,在不同的环境下编编译系统,在不同的环境下编译和运行一个译和运行一个C+程序。但是需要强调的是,我们学程序。但是需要强调的是,我们学习的是习的是

35、C+程序设计,应当掌握的是标准程序设计,应当掌握的是标准C+,而不而不应该只了解某一种应该只了解某一种“方言化方言化”的的C+。不应当只会使不应当只会使用一种用一种C+编译系统,只能在一种环境下工作,而应编译系统,只能在一种环境下工作,而应当能在不同的当能在不同的C+环境下运行自己的程序,并且了解环境下运行自己的程序,并且了解不同的不同的C+编译系统的特点和使用方法,在需要时能编译系统的特点和使用方法,在需要时能将自己的程序方便地移植到不同的平台上。将自己的程序方便地移植到不同的平台上。1.5 关于关于C+上机实践上机实践在本书的参考书在本书的参考书C+程序设计题解与上机指导程序设计题解与上机

36、指导一书中简单介绍了在一书中简单介绍了在Visual C+ 6.0和和GCC两种典型两种典型的环境下运行的环境下运行C+程序的方法。程序的方法。请选择一种请选择一种(如能做到两种更好如能做到两种更好) C+编译系统,在编译系统,在该环境下输入和运行习题中的程序,掌握上机的方法该环境下输入和运行习题中的程序,掌握上机的方法和步骤。和步骤。编辑链接编译执行 C+程序的上机步骤file.exe程序代码的录入,生成源程序*.cpp语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe C+程序设计 第一章第一章 C+C+概述概述 C+程序设计 第一章第一章 C+C

37、+概述概述程序被编译(compile)后,会生成目标代码(object code),存放在目标文件中,在Windows中的C+编译器通常将目标文件以.obj作为文件扩展名。目标代码即机器代码,是计算机能够识别的指令集合。但是,目标指令(也称目标代码)还不能在具体的计算机上运行,因为目标代码只是一个个独立的程序段,程序段之间还没有彼此呼应,程序段中用到的C+库代码和其他资源还没有挂上,需要相互衔接成适应一定操作系统环境的可执行程序整体。为了把成组的程序段转换为可执行程序,必须进行链接(link),链接的过程就是将目标代码整合(或称转换)成可执行文件,可执行文件通常以.exe为文件扩展名。C+程序

38、在编译后,通过同时链接若干个目标文件与若干个库文件而创建可执行程序。 利用Visual C+编制和运行C+程序(1)启动Visual C+,执行“File|New”菜单命令,在New对话框的Projects页面左侧项目类型列表中选择Win32 Console Application项,在对话框右侧的Location和Project Name框中分别输入路径和项目名称,单击OK按钮。函数语句 C+程序设计 第一章第一章 C+C+概述概述 C+程序设计 第一章第一章 C+C+概述概述(2)进入Win32 Console Application step-1 of 1对话框,选择An Empty P

39、roject项,单击Finish按钮。最后在New Project Information对话框单击OK按钮完成项目的建立。 C+程序设计 第一章第一章 C+C+概述概述 (3)建建立立和和编编辑辑C+源源程程序序文文件件。执执行行“Project|Add to Project|New”菜菜单单命命令令,在在New对对话话框框的的File页页面面选选择择C+ Source File项项,在在File框框中中填填入入C+源源文文件件名名,确确认认选选择择Add to project,单单击击OK按按钮钮将将打打开开文文本本编编辑辑器器。输入并编辑输入并编辑C+源程序代码。源程序代码。 C语言程序

40、设计 第一章第一章 C C语言概述语言概述 C+程序设计 第一章第一章 C+C+概述概述 C+程序设计 第一章第一章 C+C+概述概述 C+程序设计 第一章第一章 C+C+概述概述 ( 4) 建 立 可 执 行 程 序 。 执 行“Build|Build”菜单命令(快捷键F7)即可建立可执行程序,若程序有语法错误,则在屏幕下方的输出窗口中显示错误信息。 C+程序设计 第一章第一章 C+C+概述概述 C+程序设计 第一章第一章 C+C+概述概述 (5)执行“Build|Execute”菜单命令即可在伪DOS状态下运行程序,也可进入DOS状态后运行已建立的程序。 注意不能在Windows中直接运行

41、一个控制台程序。 也可采用另一种简单的方法编写C+程序,即执行“File|New|Files|C+ Source File”菜单命令直接创建一个C+源文件,在执行Build命令时再建立项目工作区。 C+程序设计 第一章第一章 C+C+概述概述C+面向对象程序设计概述 与与传传统统的的面面向向过过程程的的程程序序设设计计语语言言相相比比,C+语语言言的的最最大大特特征征是是支支持持面面向向对对象象程程序序设设计计OOP(Object Oriented Programming),它它引引入入了了类类、继继承承、多多态态和和重重载载等等面面向向对象的新机制。对象的新机制。 结构化程序设计结构化程序设计结构化程序设计的特点:是一种自上而下、逐步细化的模块化程序设计方法。是一种自上而下、逐步细化的模块化程序设计方法。Wirth N的观点:算法的观点:算法 + 数据结构数据结构 = 程序程序是是一一种种面面向向过过程程程程序序设设计计方方法法,即即一一个个程程序序是是由由多多个个过过程程(在在C+中中为为函函数数)模模块块组组成成,过过程程之之间间通通过过函函数数参参数数和和全全局局变变量量进行相互联系。进行相互联系。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号