《C++语言程序设计(1).ppt》由会员分享,可在线阅读,更多相关《C++语言程序设计(1).ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、沈洋 南京航空航天大学1C+语言程序设计Lecture 1沈洋 南京航空航天大学2前言o1.课程信息o2.参考资料o3.目标和成果o4.其他事项o5.为什么是C+沈洋 南京航空航天大学3课程信息o主要内容nC+的基本语法n数组、指针等较复杂应用n面向对象的基本知识n面向对象的程序设计o必备的先导知识n计算机应用基础n“数学”式的思维沈洋 南京航空航天大学4小测试oProblemConsider the following pseudo code:ROUTINE(n)1 if n=1 2 then return 1 3 else return n+ROUTINE(n-1)oGive a one-
2、sentence description of what ROUTINE(n)does.oGive a one-sentence description of a faster implementation of the same routine.沈洋 南京航空航天大学5参考资料参考资料oC+简明教程.Brian Overland.清华大学出版社oC+Primer.Stanley B Lippman.中国电力出版社oC+Primer Plus.Stephen Prata.人民邮电出版社o关于教材沈洋 南京航空航天大学6目标和成果目标和成果o完成由“想法”到“步骤”的转变o对简单问题能够设计程序
3、以求解之o能够体会设计程序及面向对象所带来的乐趣o在课程中我们将实现什么?在课程中我们将实现什么?o基本的C+语法和用法练习o基本算法:排序等o模拟发牌程序o猜单词游戏o文本文件比较器o面向对象的复数运算器o面向对象的话费清单记录器o面向对象的设计过程:DogDooro.沈洋 南京航空航天大学7沈洋 南京航空航天大学8其他事项o关于考试o关于上机o关于上课o联系方式n13813905870沈洋 南京航空航天大学9为什么是C+oC+是严谨而实用语言oC+是面向对象的语言o还能是什么Java?C#?沈洋 南京航空航天大学10Chapter 1:第一个C+程序像程序员那样思考使用C+开发程序示例变量
4、和数据类型沈洋 南京航空航天大学11程序是什么?沈洋 南京航空航天大学121.1 像程序员那样思考o第一原则:“计算机只做你要求它做的事情计算机只做你要求它做的事情”o计算机精确执行你要求它做的事不管这样的指令是否正确o指令必须是“精确精确”的n“请把数字从摄氏度转换为华氏度”n在屏幕上显示:“请输入摄氏温度”n从键盘上获取一个数字,并将它保存在变量ctemp中n使用公式ftemp=(ctemp*1.8)+32转换为华氏温度n打印消息“华氏温度是:”n打印变量ftemp的值沈洋 南京航空航天大学13编写程序的三步曲思路思路实例实例归纳步骤归纳步骤o1.产生思路o2.进行实例演算o3.归纳步骤,
5、并用C+表示之o例:比较两个数的大小if(ab)cout“a is greater than b.”;elsecout“a is not greater than b.”;沈洋 南京航空航天大学14一些概念o应用程序n从用户角度而言的程序n我们眼光中的Word,程序员眼光中的Visual Studioo代码n程序员眼中的“程序”n机器码和源码的总称o编译器n把源码转换为机器码的转换程序沈洋 南京航空航天大学15o数据n被处理或显示的信息,例如“输入”o机器码和源码o程序n可执行的二进制文件与源程序的统称o语句nC+程序中的一个单元,通常是一行o用户n给软件公司带来利润和麻烦的人n第一个用户一般
6、是程序员自己沈洋 南京航空航天大学161.2 C+的特点o在继承C语言特点的基础上,加入了面向对象(Object-Oriented,OO)的特性o与Basic 相比更严谨n大小写的敏感性、语句结束标志等o与Pascal相比更直观易懂o与Java,C#相比更加灵活n未必是优点沈洋 南京航空航天大学17OO是什么?oOO是考察问题的新视角oOO解决的不是功能性问题,而是复杂应用的结构问题oOO不一定会使你的编程能力大大提高,但一定会使你体会到更多的开发乐趣沈洋 南京航空航天大学18插曲:Java和C#oJava和C#诞生于C+之后oJava和C#是完全面向对象的n即使你不愿意,代码也不得不写成“对
7、象”的形式oJava和C#中增加了许多新的数据类型和功能oJava和C#不允许直接访问内存n没有“指针”n内存的回收由系统完成n地址的概念仍然存在o从语言角度讲,C+转向Java和C#是容易的沈洋 南京航空航天大学191.3 生成C+程序o输入程序语句n程序源代码是无格式的纯文本文件,因此可在任何文本编辑器中输入程序语句(.cpp)o生成程序n编译(Compile):把C+语句转换为机器码(.obj)n链接(Link):将机器码与C+库合并,得到可执行程序沈洋 南京航空航天大学20可能发生的错误o编译器只能发现语法错误,这时将不会通过编译o逻辑错误只能通过程序测试来发现和修订n克服逻辑错误往往
8、要付出更大的努力o教材上的例子nThe moon is made green cheese.语法错误nThe mood is made of green cheese.逻辑错误o另外的例子:计算1+2+3+10n要学会查看编译器给出的提示信息o如果希望程序运行能够得到正确的结果,必须克服语法和逻辑错误 沈洋 南京航空航天大学21总结:程序开发过程o“程序”而不是“应用”沈洋 南京航空航天大学221.4 在Visual C+中开发程序o开启Visual Studio 2005o文件新建项目o其他语言Visual C+Win32控制台应用程序沈洋 南京航空航天大学23沈洋 南京航空航天大学24在V
9、isual C+中开发程序o书写程序时的注意事项n保留#include stdafx.h“o句末没有”;”n加入#include o尖括号而不是引号o没有”.h”n加入using namespace std;o句末有”;”o编译、链接n生成生成解决方案 F6o执行n带调试的执行 F5n不带调试执行 Ctrl+F5这种方式不会自动返回沈洋 南京航空航天大学251.5 示例:打印一条消息o/print1.cpp:定义控制台应用程序的入口点。o#include stdafx.ho#include ousing namespace std;oint main()oocoutNever fear,C+i
10、s here!;oreturn 0;o沈洋 南京航空航天大学26主函数的结构沈洋 南京航空航天大学27应注意的细节o大小写是敏感的nC+的关键字均为小写,如main,if,elsen变量的大小写在使用过程中应保持一致o语句结束应加”;”n用 括起的复合语句除外o在书写程序的过程中应注意所有内容(”内的除外)均应是半角字符n;与;,“”与”的区别沈洋 南京航空航天大学28幕后玄机ocoutnConsole Out控制台输出,类似于C中的printfn cout,注意尖括号的方向n使用时,必须将cout放在一条语句的左侧o#includen#include语句我们一般称为“头文件包含”n一个头文件
11、的例子:math.hn头文件的作用可以理解为定义数据类型或函数niostream是虚拟包含文件,没有.housing namesapce std;n表示引用了std这个命名空间n命名空间与OO有关,表示了所定义对象的层次沈洋 南京航空航天大学29练习o在屏幕上打印消息n“Get with the program!”o在屏幕上打印你自己的名字沈洋 南京航空航天大学301.6-1.7 加入换行符ocout“never fear,C+is here!”endloendl:end lineo换行的另一种方式:“n”o多行显示的处理ncout“Im blaxxon”endl;ncout“the godl
12、ike computer.”endl;ncout“Fear me!”将用户输入存放在变量中n通常在输入语句之前先输出一句提示信息,否则用户无法知道应该怎样操作沈洋 南京航空航天大学35优化的版本 o只使用一个变量o简单程序的模式n1.声明变量n2.从用户那里取得输入n3.执行算法n4.输出或返回结果o练习n编写一个程序,执行从华氏度向摄氏度的反向转换n编写一个程序,将两个整数的值进行交换。沈洋 南京航空航天大学361.11 变量名和关键字o变量的命名规则n第一个字母应该是下划线或字母,而不能是数字或其他字符,但不建议以下划线开头n其余部分可以是字母、数字或下划线,而不能是其他字符n不能使用C+中的关键字o 关键字n不必刻意去背所有的关键字n 常见的关键字omaino数据类型:int float doubleo语法结构:if else while do for switch class 等n注意:C+是大小写敏感的