资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C+程序设计程序设计清华大学清华大学清华大学清华大学c教程第一讲教程第一讲课程安排课程安排n课程名称课程名称: C+程序设计程序设计 (Programming in C+)n课程目的:课程目的:n掌握掌握C+程序设计语言和面向对象的软件系程序设计语言和面向对象的软件系统开发方法;统开发方法;n树立软件工程的思想,培养良好规范的编程树立软件工程的思想,培养良好规范的编程风格;风格;n在实践中提高自学能力、动手能力;在实践中提高自学能力、动手能力;清华大学清华大学c教程第一讲教程第一讲课程安排课程安排n教教 材:材:C+程序设计教程程序设计教程,钱能钱能, 清华大学出版社清华大学出版社,1999年年.n参考书:参考书:nC程序设计程序设计(第第2版版), 谭浩强谭浩强, 清华大学出版社清华大学出版社, 1995年年.nC+Primer(第第3版版), Stanley B Lippman.nThe C+ Programming Language (Special Edition), Bjarne Stroustrup, 高等教育出版社高等教育出版社, 2001年年.清华大学清华大学c教程第一讲教程第一讲教学安排(教学安排(8节课)节课)n第一讲第一讲本学期课程综述本学期课程综述 面向对象程序设计面向对象程序设计n第二讲第二讲 基本数据类型、表达式基本数据类型、表达式过程化语句过程化语句n第三讲第三讲函数和程序结构函数和程序结构数组数组n第四讲第四讲指针和引用指针和引用结构、联合结构、联合清华大学清华大学c教程第一讲教程第一讲教学安排教学安排n第五讲第五讲类和对象类和对象n第六讲第六讲继承继承n第七讲第七讲重载重载I/O流流n第八讲第八讲模板模板异常处理异常处理清华大学清华大学c教程第一讲教程第一讲实验实验n加强实践环节加强实践环节n编译环境:编译环境:Visual C+ 6.0n每堂课后布置实验题,要求大家在一周每堂课后布置实验题,要求大家在一周内内独立独立完成;完成;n第第4周后布置周后布置Project题目,每人选做题目,每人选做1题,题,第第9周提交检查。周提交检查。清华大学清华大学c教程第一讲教程第一讲助教助教n王王 斌斌:bwangcsis.hku.hkn刘续征刘续征:Liu-xz02mails.tsinghua.edu.cnn董未名董未名:dongwmcg.cs.tsinghua.edu.cnn姚海龙姚海龙:yhl02mails.tsinghua.edu.cn清华大学清华大学c教程第一讲教程第一讲成绩评定成绩评定 n期末成绩:期末成绩:n出勤、平时实验成绩出勤、平时实验成绩30% n期末考试成绩期末考试成绩40%nProject完成情况完成情况30%n注意事项:注意事项:n免修要求免修要求n抄袭抄袭0分!分!清华大学清华大学c教程第一讲教程第一讲第一章第一章 概述概述n计算机的基本结构计算机的基本结构n程序设计语言程序设计语言n程序设计方法程序设计方法n早期的程序设计方法早期的程序设计方法n结构化程序设计方法结构化程序设计方法n面向对象程序设计方法面向对象程序设计方法n程序开发过程程序开发过程清华大学清华大学c教程第一讲教程第一讲计算机基本结构计算机基本结构控制器控制器输入设备输入设备输出设备输出设备内内存存储储器器外存储器外存储器运运算算器器指指令令结果结果结果结果原始数据原始数据原始数据原始数据程序程序清华大学清华大学c教程第一讲教程第一讲指令指令1指令指令2指令指令3指令指令n数据数据1数据数据2数据数据m地址地址1地址地址2地址地址3清华大学清华大学c教程第一讲教程第一讲 名称名称特点特点 机器语言机器语言汇编语言汇编语言高级语言高级语言计算机接受计算机接受直接运行直接运行编译编译-机器代机器代码码编译编译-(虚(虚拟)机器代码拟)机器代码通用性通用性很差,与机器很差,与机器相关相关不好,与机器不好,与机器相关相关强,与机器无强,与机器无关关编程容易程度编程容易程度很繁锁,易出很繁锁,易出错错繁锁,相对方繁锁,相对方便便方便、简单和方便、简单和直观直观应用应用很少直接写很少直接写实时性要求高实时性要求高复杂问题求解复杂问题求解效率效率高高较高较高较低较低程序设计语言程序设计语言清华大学清华大学c教程第一讲教程第一讲程序设计方法程序设计方法n早期的程序设计方法早期的程序设计方法 n结构化程序设计方法结构化程序设计方法 n面向对象程序设计方法面向对象程序设计方法 清华大学清华大学c教程第一讲教程第一讲早期的程序设计方法早期的程序设计方法n没有固定程序设计方法。没有固定程序设计方法。n追求程序的高效率,编程过份依赖技巧,追求程序的高效率,编程过份依赖技巧,而不注重所编写程序的结构。而不注重所编写程序的结构。n程序的可读性、可重用性都很差。程序的可读性、可重用性都很差。n虽然这种方法存在很多问题,但对于单虽然这种方法存在很多问题,但对于单人完成较为简单的任务,事实上还是经人完成较为简单的任务,事实上还是经常被采用的。常被采用的。清华大学清华大学c教程第一讲教程第一讲结构化程序设计方法结构化程序设计方法n结构化程序设计采用自顶向下逐步求精结构化程序设计采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。的设计方法和单入口单出口的控制结构。n1965年由年由E.W.Dijkstra提出。提出。nC. Bohm和和G. Jacopini证明:证明:只用只用3种基本控制结构就能够实现任何单种基本控制结构就能够实现任何单入口单出口的程序。入口单出口的程序。清华大学清华大学c教程第一讲教程第一讲分支结构分支结构语句1语句2语句3顺序结构顺序结构循环结构循环结构条件语句2语句1语句条件清华大学清华大学c教程第一讲教程第一讲逐步求精逐步求精n结构化程序设计方法是从程序要实现的结构化程序设计方法是从程序要实现的功能功能的的角度出发的。一般按照角度出发的。一般按照自顶向下自顶向下、逐步求精逐步求精的的方式,将程序要完成的功能逐级划分成许多小方式,将程序要完成的功能逐级划分成许多小的功能模块,象搭积木一样搭起来。这些小的的功能模块,象搭积木一样搭起来。这些小的功能模块最终都可以转化成三种基本控制结构功能模块最终都可以转化成三种基本控制结构的组合。的组合。n所谓的功能可以理解为对数据的操作。在程序所谓的功能可以理解为对数据的操作。在程序实现中,特定的功能或功能模块一般用实现中,特定的功能或功能模块一般用函数函数来来实现,对特定的实现,对特定的数据数据进行操作。进行操作。清华大学清华大学c教程第一讲教程第一讲实例实例n从键盘输入一个学生的信息(包括姓名、从键盘输入一个学生的信息(包括姓名、年龄、性别、学号等)和一个老师的信年龄、性别、学号等)和一个老师的信息(包括姓名、年龄、性别、是否授课息(包括姓名、年龄、性别、是否授课等),然后将信息输出到屏幕。等),然后将信息输出到屏幕。清华大学清华大学c教程第一讲教程第一讲分析分析n把问题划分为两个功能模块:把问题划分为两个功能模块:n输入模块输入模块:负责把信息输入进来,并且保存在变:负责把信息输入进来,并且保存在变量中;量中;n输出模块输出模块:负责把存放在这些变量当中的信息显:负责把存放在这些变量当中的信息显示在屏幕上。示在屏幕上。n具体考虑每个模块如何实现(逐步求精)具体考虑每个模块如何实现(逐步求精)n用用C语言实现(参看下面的代码)语言实现(参看下面的代码)清华大学清华大学c教程第一讲教程第一讲/ void main()/ 主函数开始主函数开始/ 声明用于存储学生信息的变量声明用于存储学生信息的变量char strStudentName20;/ 学生姓名学生姓名int nStudentAge; / 学生年龄学生年龄char cStudentSex; / 学生性别学生性别int nStudentNumber; / 学生学号学生学号/ 声明用于存储老师信息的变量声明用于存储老师信息的变量char strTeacherName20; / 老师姓名老师姓名int nTeacherAge; / 老师年龄老师年龄char cTeacherSex; / 老师性别老师性别int nIsTeaching; / 是否授课是否授课/ 输入模块输入模块GetStudentInfo(); / 输入学生信息输入学生信息GetTeacherInfo(); / 输入老师信息输入老师信息/ 输出模块输出模块PrintStudentInfo(); / 输出学生信息输出学生信息PrintStudentInfo(); / 输出老师信息输出老师信息描述学生的数据描述学生的数据描述老师的数据描述老师的数据函数函数函数函数清华大学清华大学c教程第一讲教程第一讲/ 学生结构学生结构Studentstruct Studentchar strStudentName20;/ 学生姓名学生姓名int nStudentAge; / 学生年龄学生年龄char cStudentSex;/ 学生性别学生性别int nStudentNumber; / 学生学号学生学号;/ 老师结构老师结构Teacherstruct Teacherchar strTeacherName20;/ 老师姓名老师姓名int nTeacherAge;/ 老师年龄老师年龄char cTeacherSex;/ 老师性别老师性别int nIsTeaching; / 是否教书是否教书;清华大学清华大学c教程第一讲教程第一讲n进一步将属于学生和老师的变量放入进一步将属于学生和老师的变量放入结结构构中。这样可以在一定程度上完成中。这样可以在一定程度上完成对数对数据的封装据的封装。n但在结构化程序设计中,数据与对其进但在结构化程序设计中,数据与对其进行操作的函数仍是分离的。行操作的函数仍是分离的。程序(算法)(数据结构)程序(算法)(数据结构)数据结构数据结构算法算法描述问题描述问题解决问题解决问题清华大学清华大学c教程第一讲教程第一讲结构化设计方法的优点结构化设计方法的优点n自顶向下逐步求精符合解决复杂问题的自顶向下逐步求精符合解决复杂问题的普遍规律,可以显著提高开发效率;普遍规律,可以显著提高开发效率;n用先抽象后具体的逐步求精过程开发的用先抽象后具体的逐步求精过程开发的程序具有清晰的层次结构;程序具有清晰的层次结构;n单入口单出口的控制结构,程序的静态单入口单出口的控制结构,程序的静态结构和动态执行情况比较一致;结构和动态执行情况比较一致;n控制结构有确定的逻辑模式,源程序清控制结构有确定的逻辑模式,源程序清晰流畅,易读易懂易测试。晰流畅,易读易懂易测试。清华大学清华大学c教程第一讲教程第一讲n数据量增大时,数据与算法的分离使程序越来数据量增大时,数据与算法的分离使程序越来越难于理解;越难于理解;n用计算机解题的逻辑来进行程序设计工作,而用计算机解题的逻辑来进行程序设计工作,而并不符合人类习惯的思维模式和解决问题的方并不符合人类习惯的思维模式和解决问题的方法。法。 函数用于完成一定的功能,它们都是针函数用于完成一定的功能,它们都是针对特定的数据进行操作的。能不能以特对特定的数据进行操作的。能不能以特定的数据为中心,将数据与对其进行操定的数据为中心,将数据与对其进行操作的函数封装起来呢?作的函数封装起来呢? 结构化设计方法的问题结构化设计方法的问题清华大学清华大学c教程第一讲教程第一讲面向对象程序设计方法面向对象程序设计方法n面向对象程序设计是建立在结构化程序面向对象程序设计是建立在结构化程序设计基础上的,但它不再是从功能入手,设计基础上的,但它不再是从功能入手,而是从而是从对象对象(人、地方、事情等)入手。(人、地方、事情等)入手。n面向对象程序设计以面向对象程序设计以类类作为构造程序的作为构造程序的基本单位,它具有封装、数据抽象、继基本单位,它具有封装、数据抽象、继承、多态等特点。承、多态等特点。清华大学清华大学c教程第一讲教程第一讲发展概述发展概述n60年代,挪威计算中心的年代,挪威计算中心的Kristen Nygaard和和Ole-Johan Dahl开发了的开发了的Simula67语言,首次引入了类、协同程语言,首次引入了类、协同程序和子类的概念。序和子类的概念。n70年代中期,年代中期,Xerox Palo Alto研究中心的研究中心的研究人员设计了研究人员设计了Smalltalk语言。语言。清华大学清华大学c教程第一讲教程第一讲n但是,面向对象的推广很慢,例如:但是,面向对象的推广很慢,例如:Smalltalk。n80年代,年代,C成为很受欢迎的程序设计语言,成为很受欢迎的程序设计语言,它不仅可用在微机上,还可用在多种结它不仅可用在微机上,还可用在多种结构的系统和环境中。构的系统和环境中。nAT&T贝尔实验室的贝尔实验室的Bjarne Stroustrup把把C语言扩展为支持面向对象程序设计的语言扩展为支持面向对象程序设计的C+。清华大学清华大学c教程第一讲教程第一讲n自自90年代以来,软件与硬件之间的差距年代以来,软件与硬件之间的差距越来越大。当软件系统变得更加复杂时,越来越大。当软件系统变得更加复杂时,常规软件工具、技术和概念已不足以应常规软件工具、技术和概念已不足以应付,从而使软件开发者陷入了困境。但付,从而使软件开发者陷入了困境。但面向对象的方法能够控制软件的复杂性,面向对象的方法能够控制软件的复杂性,这就促进了面向对象的发展,掀起了一这就促进了面向对象的发展,掀起了一股股“面向对象面向对象”热。热。清华大学清华大学c教程第一讲教程第一讲对象对象(Object)n对象:对象:现实世界中的各种实体。现实世界中的各种实体。一般都要从一般都要从属属性性和和行为行为两个方面来对它们加以描述。两个方面来对它们加以描述。n属性:属性:对象具有的一些特征称为属性对象具有的一些特征称为属性,这些属,这些属性会有其对应的值,一般至少会有一项区别于性会有其对应的值,一般至少会有一项区别于其它对象,它们在程序设计中对应的是一定的其它对象,它们在程序设计中对应的是一定的数据数据。n行为:行为:为了达到目的,为了达到目的,对象必须提供的功能对象必须提供的功能(或必须提供的服务)称为对象的行为(或必须提供的服务)称为对象的行为,在程,在程序设计中对应一定的方法(序设计中对应一定的方法(函数函数)。)。清华大学清华大学c教程第一讲教程第一讲类类(Class)n类:类:类描述了一组具有相同属性(数据类描述了一组具有相同属性(数据元素)和相同行为(函数)的对象。元素)和相同行为(函数)的对象。n数据成员和成员函数;数据成员和成员函数;n类的数据成员是对对象属性的抽象,类类的数据成员是对对象属性的抽象,类的函数成员是对对象行为的抽象,而类的函数成员是对对象行为的抽象,而类本身就是对对象的抽象。本身就是对对象的抽象。清华大学清华大学c教程第一讲教程第一讲class Student/ Student类的声明类的声明public: / 公有成员公有成员Student();/ 构造函数构造函数Student();/ 析构函数析构函数char*GetName();/ 查询姓名查询姓名intGetAge();/ 查询年龄查询年龄charGetSex();/ 查询姓名查询姓名intGetNumber(); / 查询学号查询学号boolSetName(char* n);/ 设置姓名设置姓名boolSetAge(int age); / 设置年龄设置年龄boolSetSex(char* s); / 设置性别设置性别boolSetNumber(int num); / 设置学号设置学号protected: / 保护成员保护成员charm_strName20; / 姓名,字符串数组姓名,字符串数组intm_nAge;/ 年龄,整型年龄,整型charm_cSex;/ 性别,字符型性别,字符型intm_nNumber;/ 学号,整型学号,整型;例:例:Student类类成员函数成员函数成员函数成员函数成员变量成员变量清华大学清华大学c教程第一讲教程第一讲n结构化程序设计方法是一种模块化程序结构化程序设计方法是一种模块化程序设计方法,它在解决问题时是以设计方法,它在解决问题时是以功能为功能为中心中心的,一定的功能模块虽然也作用于的,一定的功能模块虽然也作用于特定的数据,但它们并没有被封装在一特定的数据,但它们并没有被封装在一起。起。n面向对象程序设计方法则是以面向对象程序设计方法则是以对象为中对象为中心心来解决问题的。属于同种对象的属性来解决问题的。属于同种对象的属性(数据)和服务(功能)被抽象出来封(数据)和服务(功能)被抽象出来封装到一起。装到一起。清华大学清华大学c教程第一讲教程第一讲面向对象方法的主要特点面向对象方法的主要特点n数据抽象数据抽象n封装封装n继承继承n多态多态n动态绑定动态绑定清华大学清华大学c教程第一讲教程第一讲数据抽象数据抽象n类是一组相似对象的抽象描述,它抽类是一组相似对象的抽象描述,它抽取了这些对象的共性组成了一个共同取了这些对象的共性组成了一个共同的概念。抽象数据类型的概念。抽象数据类型(Abstract Data Type, ADT)是一组相似的类的是一组相似的类的抽象,而一个类又是抽象,而一个类又是ADT的具体实现。的具体实现。对象对象类类抽象数抽象数据类型据类型抽象抽象具体具体抽象抽象具体具体清华大学清华大学c教程第一讲教程第一讲封装性封装性(Encapsulation)n封装是指软件的组成部分(模块、子程封装是指软件的组成部分(模块、子程序、方法等)应该序、方法等)应该互相独立互相独立,或者,或者隐藏隐藏设计的细节设计的细节。在传统的方法中,封装通。在传统的方法中,封装通常局限于将功能和数据分开封装;而在常局限于将功能和数据分开封装;而在面向对象方法中,封装将功能和数据同面向对象方法中,封装将功能和数据同时装入对象中。时装入对象中。清华大学清华大学c教程第一讲教程第一讲class Student/ Student类的声明类的声明public: / 公有成员公有成员Student();/ 构造函数构造函数Student();/ 析构函数析构函数char*GetName();/ 查询姓名查询姓名intGetAge();/ 查询年龄查询年龄charGetSex();/ 查询姓名查询姓名intGetNumber();/ 查询学号查询学号boolSetName(char* n);/ 设置姓名设置姓名boolSetAge(int age);/ 设置年龄设置年龄boolSetSex(char* s);/ 设置性别设置性别boolSetNumber(int num); / 设置学号设置学号protected: / 保护成员保护成员charm_strName20;/ 姓名,字符串数组姓名,字符串数组intm_nAge;/ 年龄,整型年龄,整型charm_cSex;/ 性别,字符型性别,字符型intm_nNumber;/ 学号,整型学号,整型;例:例:C+中类的声明中类的声明Student类类清华大学清华大学c教程第一讲教程第一讲继承继承(Inheritance)n如果类与类之间有如果类与类之间有is-a(是一种)的关(是一种)的关系,那么可以采用继承机制来表示。子系,那么可以采用继承机制来表示。子类可以自动继承父类中的一些属性和行类可以自动继承父类中的一些属性和行为,而不必再进行定义,从而实现了为,而不必再进行定义,从而实现了代代码的复用码的复用。同时,继承也是产生。同时,继承也是产生新类新类的的方法之一。方法之一。人人学生学生教师教师清华大学清华大学c教程第一讲教程第一讲class People/ People类的声明类的声明public: / 公有成员公有成员People();/ 构造函数构造函数People();/ 析构函数析构函数char* GetName();/ 查询姓名查询姓名intGetAge();/ 查询年龄查询年龄boolSetName(char* n);/ 设置姓名设置姓名boolSetAge(int age);/ 设置年龄设置年龄private: / 私有成员私有成员protected: / 保护成员保护成员charm_strName20;/ 姓名,字符串数组姓名,字符串数组intm_nAge;/ 年龄,整型年龄,整型charm_cSex;/ 性别,字符型性别,字符型;类的声明举例类的声明举例People类类清华大学清华大学c教程第一讲教程第一讲class Teacher: public People/ Teacher类的声明类的声明public: / 公有成员公有成员Teacher();/ 构造函数构造函数Teacher();/ 析构函数析构函数bool IsTeaching();/ 查询是否授课查询是否授课private: / 私有成员私有成员protected: / 保护成员保护成员boolm_bIsTeaching/ 是否授课是否授课;类的声明举例类的声明举例Teacher类类清华大学清华大学c教程第一讲教程第一讲class Student : public Peoplepublic: Student();/ 构造函数构造函数Student();/ 析构函数析构函数int GetNumber();/ 查询学号查询学号bool SetNumber(int n);/ 设置学号设置学号private: protected: intm_nNumber;/ 学号学号;类的声明举例类的声明举例Student类类清华大学清华大学c教程第一讲教程第一讲继承性的优点继承性的优点n共享程序代码和数据结构,减少程序中共享程序代码和数据结构,减少程序中的冗余信息,提高软件的可重用性;的冗余信息,提高软件的可重用性;n便于软件修改维护;便于软件修改维护;n“站在巨人的肩膀上站在巨人的肩膀上”;清华大学清华大学c教程第一讲教程第一讲多态性多态性(Polymorphism)n在程序中同一符号或名字在不同情况下在程序中同一符号或名字在不同情况下具有不同解释的现象称为多态性。具有不同解释的现象称为多态性。n在面向对象程序设计语言中,由程序员在面向对象程序设计语言中,由程序员设计的多态性由两种基本形式:设计的多态性由两种基本形式:编译时编译时多态性多态性和和运行时多态性运行时多态性。许多程序设计。许多程序设计语言都或多或少地支持多态性,但语言都或多或少地支持多态性,但运行运行时多态性是面向对象程序设计语言的一时多态性是面向对象程序设计语言的一大特点大特点。清华大学清华大学c教程第一讲教程第一讲n编译时多态性编译时多态性是指在程序编译阶段即可是指在程序编译阶段即可确定下来的多态性,主要通过使用确定下来的多态性,主要通过使用重载重载(Overloading)机制获得,重载机制包括机制获得,重载机制包括函数重载函数重载和和运算符重载运算符重载两大类。两大类。n例子:例子: int Abs(int x);double Abs(double x); coutAbs(-4)endl; /调用调用int Abs coutAbs(3.2)endl;/调用调用double Abs清华大学清华大学c教程第一讲教程第一讲n运行时多态性是运行时多态性是指必须等到程序动态运指必须等到程序动态运行时才可确定的多态性,主要通过行时才可确定的多态性,主要通过继承继承结合结合动态绑定动态绑定(Dynamic Binding)获得。获得。n动态绑定也称晚绑定,它也是面向对象动态绑定也称晚绑定,它也是面向对象的重要特点之一。动态绑定的使用可以的重要特点之一。动态绑定的使用可以提高程序的可用性和可扩展性。动态绑提高程序的可用性和可扩展性。动态绑定是通过虚函数实现的。定是通过虚函数实现的。清华大学清华大学c教程第一讲教程第一讲多态性的优点多态性的优点n增加了面向对象软件系统的灵活性,减增加了面向对象软件系统的灵活性,减少了信息冗余;少了信息冗余;n显著提高了软件的可重用性和可扩展性;显著提高了软件的可重用性和可扩展性;清华大学清华大学c教程第一讲教程第一讲面向对象方法的优点面向对象方法的优点n与人类习惯的思维方式比较一致;与人类习惯的思维方式比较一致;n稳定性好;稳定性好;n可重用性好;可重用性好;n可维护性好;可维护性好;清华大学清华大学c教程第一讲教程第一讲程序的开发过程程序的开发过程开始开始开始开始程序设计程序设计程序设计程序设计程序编辑程序编辑程序编辑程序编辑程序编译程序编译程序编译程序编译通过通过通过通过程序连接程序连接程序连接程序连接通过通过通过通过程序运行程序运行程序运行程序运行正确正确正确正确结束结束结束结束重新修改原程序重新修改原程序重新修改原程序重新修改原程序产生源文件产生源文件产生源文件产生源文件*.cpp*.cpp产生目标文件产生目标文件产生目标文件产生目标文件*.obj*.obj产生可执行程序产生可执行程序产生可执行程序产生可执行程序*.exe*.exeN NN NN NY YY YY Y清华大学清华大学c教程第一讲教程第一讲一个简单的程序一个简单的程序/* ch1_1.cpp 输出输出I am a student!*/#include void main() /输出I am a student! cout“I am a student!n”;注释注释编译预处理编译预处理程序主体程序主体清华大学清华大学c教程第一讲教程第一讲n注释(注释(/后的部分,后的部分,/* */中间的部分)中间的部分)n序言注释:程序开头,必要的程序说明;序言注释:程序开头,必要的程序说明;n注解性注释:程序中难懂的地方;注解性注释:程序中难懂的地方;n编译预处理(以符号编译预处理(以符号“”开头的行)开头的行)n#include n#include my_file.hn程序主体程序主体n主函数主函数main():程序入口程序入口清华大学清华大学c教程第一讲教程第一讲实验(第一周)实验(第一周)n内容:内容:n熟悉上机环境;熟悉上机环境;n学习使用学习使用VC6.0;n实现一个简单的输出实现一个简单的输出“Hello World”程序;程序;n方式:方式:n助教先讲解并演示一遍;助教先讲解并演示一遍;n同学操作;同学操作;清华大学清华大学c教程第一讲教程第一讲
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号