您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C++程序设计谭浩强100%25完整・清华大学
C++C++C++C++程序设计程序设计程序设计程序设计中国高等院校计算机基础教育课程体系规划教材中国高等院校计算机基础教育课程体系规划教材中国高等院校计算机基础教育课程体系规划教材中国高等院校计算机基础教育课程体系规划教材谭浩强谭浩强谭浩强谭浩强编著编著编著编著总总总总目目目目录录录录第第第第1111篇篇篇篇基基基基本本本本知知知知识识识识第第第第1111章章章章C++C++C++C++的初步知识的初步知识的初步知识的初步知识第第第第2222章章章章数据类型与表达式数据类型与表达式数据类型与表达式数据类型与表达式第第第第2222篇篇篇篇面向过程的程序设计面向过程的程序设计面向过程的程序设计面向过程的程序设计第第第第3333章章章章程序设计初步程序设计初步程序设计初步程序设计初步第第第第4444章章章章函数与预处理函数与预处理函数与预处理函数与预处理第第第第5555章章章章数组数组数组数组第第第第6666章章章章指针指针指针指针第第第第7777章章章章自定义数据类型自定义数据类型自定义数据类型自定义数据类型第第第第3333篇篇篇篇基于对象的程序设计基于对象的程序设计基于对象的程序设计基于对象的程序设计第第第第8888章章章章类和对象类和对象类和对象类和对象第第第第9999章章章章关于类和对象的进一步讨论关于类和对象的进一步讨论关于类和对象的进一步讨论关于类和对象的进一步讨论第第第第10101010章章章章运算符重载运算符重载运算符重载运算符重载第第第第4444篇篇篇篇面向对象的程序设计面向对象的程序设计面向对象的程序设计面向对象的程序设计第第第第11111111章章章章继承与派生继承与派生继承与派生继承与派生第第第第12121212章章章章多态性与虚函数多态性与虚函数多态性与虚函数多态性与虚函数第第第第13131313章章章章输入输出流输入输出流输入输出流输入输出流第第第第14141414章章章章C++C++C++C++工具工具工具工具第1111章C++C++C++C++的初步知识第2222章数据类型与表达式第第第第1111篇篇篇篇基基基基本本本本知知知知识识识识第第第第1111章章章章C++C++C++C++的初步知识的初步知识的初步知识的初步知识****1.11.11.11.1从从从从CCCC到到到到C++C++C++C++****1.21.21.21.2最简单的最简单的最简单的最简单的C++C++C++C++程序程序程序程序1.31.31.31.3C++C++C++C++程序的构成和书写形式程序的构成和书写形式程序的构成和书写形式程序的构成和书写形式1.41.41.41.4C++C++C++C++程序的编写和实现程序的编写和实现程序的编写和实现程序的编写和实现1.51.51.51.5关于关于关于关于C++C++C++C++上机实践上机实践上机实践上机实践计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。世界上第一种计算机高级语言诞生于1954195419541954年,它是FORTRANFORTRANFORTRANFORTRAN语言。先后出现了多种计算机高级语言。其中使用最广泛、影响最大的当推BASICBASICBASICBASIC语言和CCCC语言。BASICBASICBASICBASIC语言是1964196419641964年在FORTRANFORTRANFORTRANFORTRAN语言的基础上简化而成的,它是为初学者设计的小型高级语言。CCCC语言是1972197219721972年由美国贝尔实验室的D.M.RitchieD.M.RitchieD.M.RitchieD.M.Ritchie研制成功的。它不是为初学者设计的,而是为计算机专业人员设计的。大多数系统软件和许多应用软件都是用CCCC语言编写的。****1.11.11.11.1从CCCC到C++C++C++C++但是随着软件规模的增大,用CCCC语言编写程序渐渐显得有些吃力了。C++C++C++C++是由AT&TBell(AT&TBell(AT&TBell(AT&TBell(贝尔))))实验室的BjarneBjarneBjarneBjarneStroustrupStroustrupStroustrupStroustrup博士及其同事于20202020世纪80808080年代初在CCCC语言的基础上开发成功的。C++C++C++C++保留了CCCC语言原有的所有优点,增加了面向对象的机制。C++C++C++C++是由CCCC发展而来的,与CCCC兼容。用CCCC语言写的程序基本上可以不加修改地用于C++C++C++C++。从C++C++C++C++的名字可以看出它是CCCC的超集。C++C++C++C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。C++C++C++C++对CCCC的““““增强””””,表现在两个方面:(1)(1)(1)(1)在原来面向过程的机制基础上,对CCCC语言的功能做了不少扩充。(2)(2)(2)(2)增加了面向对象的机制。面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。学习C++C++C++C++,既要会利用C++C++C++C++进行面向过程的结构化程序设计,也要会利用C++C++C++C++进行面向对象的程序设计。本书既介绍C++C++C++C++在面向过程程序设计中的应用,也介绍C++C++C++C++在面向对象程序设计中的应用。例1.11.11.11.1输出一行字符:““““ThisisaC++program.ThisisaC++program.ThisisaC++program.ThisisaC++program.””””。程序如下:####includeincludeincludeincludeiostreamiostreamiostreamiostream////////包含头文件iostreamiostreamiostreamiostreamusingnamespacestd;//usingnamespacestd;//usingnamespacestd;//usingnamespacestd;//使用命名空间stdstdstdstdintintintintmain()main()main()main(){{{{coutcoutcoutcout″″″″ThisisaC++program.ThisisaC++program.ThisisaC++program.ThisisaC++program.″″″″;;;;return0;return0;return0;return0;}}}}在运行时会在屏幕上输出以下一行信息::::ThisisaC++program.ThisisaC++program.ThisisaC++program.ThisisaC++program.****1.21.21.21.2最简单的C++C++C++C++程序用mainmainmainmain代表““““主函数””””的名字。每一个C++C++C++C++程序都必须有一个mainmainmainmain函数。mainmainmainmain前面的intintintint的作用是声明函数的类型为整型。程序第6666行的作用是向操作系统返回一个零值。如果程序不能正常执行,则会自动向操作系统返回一个非零值,一般为-1-1-1-1。函数体是由大括号{}{}{}{}括起来的。本例中主函数内只有一个以coutcoutcoutcout开头的语句。注意C++C++C++C++所有语句最后都应当有一个分号。再看程序的第1111行““““####includeincludeincludeincludeiostreamiostreamiostreamiostream””””,这不是C++C++C++C++的语句,而是C++C++C++C++的一个预处理命令,它以““““####””””开头以与C++C++C++C++语句相区别,行的末尾没有分号。####includeincludeincludeincludeiostreamiostreamiostreamiostream是一个““““包含命令””””,它的作用是将文件iostreamiostreamiostreamiostream的内容包含到该命令所在的程序文件中,代替该命令行。文件iostreamiostreamiostreamiostream的作用是向程序提供输入或输出时所需要的一些信息。iostreamiostreamiostreamiostream是i-o-stream3i-o-stream3i-o-stream3i-o-stream3个词的组合,从它的形式就可以知道它代表““““输入输出流””””的意思,由于这类文件都放在程序单元的开头,所以称为““““头文件””””((((headfile)headfile)headfile)headfile)。在程序进行编译时,先对所有的预处理命令进行处理,将头文件的具体内容代替####includeincludeincludeinclude命令行,然后再对该程序单元进行整体编译。程序的第2222行““““usingnamespacestd;usingnamespacestd;usingnamespacestd;usingnamespacestd;””””的意思是““““使用命名空间stdstdstdstd””””。C++C++C++C++标准库中的类和函数是在命名空间stdstdstdstd中声明的,因此程序中如果需要用到C++C++C++C++标准库((((此时就需要用####includeincludeincludeinclude命令行)))),就需要用““““usingnamespacestd;usingnamespacestd;usingnamespacestd;usingnamespacestd;””””作声明,表示要用到命名空间stdstdstdstd中的内容。在初学C++C++C++C++时,对本程序中的第1,21,21,21,2行可以不必深究,只需知道:如果程序有输入或输出时,必须使用““““####includeincludeincludeincludeiostreamiostreamiostreamiostream””””命令以提供必要的信息,同时要用““““usingnamespacestd;usingnamespacestd;usingnamespacestd;usingnamespacestd;””””,使程序能够使用这些信息,否则程序编译时将出错。例1.21.21.21.2求aaaa和bbbb两个数之和。可以写出以下程序:////////求两数之和((((本行是注释行))))####includeincludeincludeincludeiostreamiostreamiostreamiostream////////预处理命令usingnamespacestd;//usingnamespacestd;//usingnamespacestd;//usingnamespacestd;//使用命名空间stdstdstdstdintintintintmain()//main()//main()//main()//主函数首部{//{//{//{//函数体开始intintintinta,b,sum;//a,b,sum;//a,b,sum;//a,b,sum;//定义变量cincincincinab;//ab;//ab;//ab;//输入语句sum=a+b;//sum=a+b;//sum=a+b;//sum=a+b;//赋值
本文标题:C++程序设计谭浩强100%25完整・清华大学
链接地址:https://www.777doc.com/doc-4220628 .html