版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈洋 南京航空航天大学,1,C+语言程序设计,Lecture 1,沈洋 南京航空航天大学,2,前言,1. 课程信息 2. 参考资料 3. 目标和成果 4. 其他事项 5. 为什么是C+,沈洋 南京航空航天大学,3,课程信息,主要内容 C+的基本语法 数组、指针等较复杂应用 面向对象的基本知识 面向对象的程序设计 必备的先导知识 计算机应用基础 “数学”式的思维,沈洋 南京航空航天大学,4,小测试,Problem Consider the following pseudo code: ROUTINE(n) 1 if n=1 2 then return 1 3 else return n+ROUT
2、INE(n-1) Give a one-sentence description of what ROUTINE(n) does. Give a one-sentence description of a faster implementation of the same routine.,沈洋 南京航空航天大学,5,参考资料,C+简明教程. Brian Overland.清华大学出版社 C+ Primer. Stanley B Lippman. 中国电力出版社 C+ Primer Plus. Stephen Prata. 人民邮电出版社 关于教材,沈洋 南京航空航天大学,6,目标和成果,完成
3、由“想法”到“步骤”的转变 对简单问题能够设计程序以求解之 能够体会设计程序及面向对象所带来的乐趣 在课程中我们将实现什么?,在课程中我们将实现什么?,基本的C+语法和用法练习 基本算法:排序等 模拟发牌程序 猜单词游戏 文本文件比较器 面向对象的复数运算器 面向对象的话费清单记录器 面向对象的设计过程:DogDoor .,沈洋 南京航空航天大学,7,沈洋 南京航空航天大学,8,其他事项,关于考试 关于上机 关于上课 联系方式沈洋 南京航空航天大学,9,为什么是C+,C+是严谨而实用语言 C+是面向对象的语言 还能是什么Java? C#?,沈洋 南京航空航天大学,10
4、,Chapter 1:第一个C+程序,像程序员那样思考 使用C+开发程序 示例 变量和数据类型,沈洋 南京航空航天大学,11,程序是什么?,沈洋 南京航空航天大学,12,1.1 像程序员那样思考,第一原则:“计算机只做你要求它做的事情” 计算机精确执行你要求它做的事不管这样的指令是否正确 指令必须是“精确” 的 “请把数字从摄氏度转换为华氏度” 在屏幕上显示:“请输入摄氏温度” 从键盘上获取一个数字,并将它保存在变量ctemp中 使用公式ftemp=(ctemp*1.8)+32转换为华氏温度 打印消息“华氏温度是:” 打印变量ftemp的值,沈洋 南京航空航天大学,13,编写程序的三步曲,思路
5、实例归纳步骤 1.产生思路 2.进行实例演算 3.归纳步骤,并用C+表示之 例:比较两个数的大小 if (ab) cout“a is greater than b.”; else cout“a is not greater than b.”;,沈洋 南京航空航天大学,14,一些概念,应用程序 从用户角度而言的程序 我们眼光中的Word,程序员眼光中的Visual Studio 代码 程序员眼中的“程序” 机器码和源码的总称 编译器 把源码转换为机器码的转换程序,沈洋 南京航空航天大学,15,数据 被处理或显示的信息,例如“输入” 机器码和源码 程序 可执行的二进制文件与源程序的统称 语句 C+
6、程序中的一个单元,通常是一行 用户 给软件公司带来利润和麻烦的人 第一个用户一般是程序员自己,沈洋 南京航空航天大学,16,1.2 C+的特点,在继承C语言特点的基础上,加入了面向对象(Object-Oriented,OO)的特性 与Basic 相比更严谨 大小写的敏感性、语句结束标志等 与Pascal相比更直观易懂 与Java,C#相比更加灵活 未必是优点,沈洋 南京航空航天大学,17,OO是什么?,OO是考察问题的新视角 OO解决的不是功能性问题,而是复杂应用的结构问题 OO不一定会使你的编程能力大大提高,但一定会使你体会到更多的开发乐趣,沈洋 南京航空航天大学,18,插曲:Java和C#
7、,Java和C#诞生于C+之后 Java和C#是完全面向对象的 即使你不愿意,代码也不得不写成“对象”的形式 Java和C#中增加了许多新的数据类型和功能 Java和C#不允许直接访问内存 没有“指针” 内存的回收由系统完成 地址的概念仍然存在 从语言角度讲,C+转向Java和C#是容易的,沈洋 南京航空航天大学,19,1.3 生成C+程序,输入程序语句 程序源代码是无格式的纯文本文件,因此可在任何文本编辑器中输入程序语句(.cpp) 生成程序 编译(Compile):把C+语句转换为机器码(.obj) 链接(Link):将机器码与C+库合并,得到可执行程序,沈洋 南京航空航天大学,20,可能
8、发生的错误,编译器只能发现语法错误,这时将不会通过编译 逻辑错误只能通过程序测试来发现和修订 克服逻辑错误往往要付出更大的努力 教材上的例子 The moon is made green cheese.语法错误 The mood is made of green cheese.逻辑错误 另外的例子:计算1+2+3+10 要学会查看编译器给出的提示信息 如果希望程序运行能够得到正确的结果,必须克服语法和逻辑错误,沈洋 南京航空航天大学,21,总结:程序开发过程,“程序”而不是“应用”,沈洋 南京航空航天大学,22,1.4 在Visual C+中开发程序,开启Visual Studio 2005
9、文件新建项目 其他语言Visual C+Win32控制台应用程序,沈洋 南京航空航天大学,23,沈洋 南京航空航天大学,24,在Visual C+中开发程序,书写程序时的注意事项 保留#include stdafx.h“ 句末没有”;” 加入#include 尖括号而不是引号 没有”.h” 加入using namespace std; 句末有”;” 编译、链接 生成生成解决方案 F6 执行 带调试的执行 F5 不带调试执行 Ctrl+F5这种方式不会自动返回,沈洋 南京航空航天大学,25,1.5 示例:打印一条消息,/ print1.cpp : 定义控制台应用程序的入口点。 #include
10、stdafx.h #include using namespace std; int main() coutNever fear,C+ is here!; return 0; ,沈洋 南京航空航天大学,26,主函数的结构,沈洋 南京航空航天大学,27,应注意的细节,大小写是敏感的 C+的关键字均为小写,如main, if, else 变量的大小写在使用过程中应保持一致 语句结束应加”;” 用 括起的复合语句除外 在书写程序的过程中应注意所有内容(” ”内的除外)均应是半角字符 ;与;,“”与”的区别,沈洋 南京航空航天大学,28,幕后玄机,cout Console Out控制台输出,类似于C中
11、的printf cout #include语句我们一般称为“头文件包含” 一个头文件的例子:math.h 头文件的作用可以理解为定义数据类型或函数 iostream是虚拟包含文件,没有.h using namesapce std; 表示引用了std这个命名空间 命名空间与OO有关,表示了所定义对象的层次,沈洋 南京航空航天大学,29,练习,在屏幕上打印消息 “Get with the program!” 在屏幕上打印你自己的名字,沈洋 南京航空航天大学,30,1.6-1.7 加入换行符,cout“never fear,C+ is here!”endl endl : end line 换行的另一
12、种方式:“n” 多行显示的处理 cout“Im blaxxon”endl; cout“the godlike computer.”endl; cout“Fear me!”endl; 有其他的写法吗?,沈洋 南京航空航天大学,31,int main() 和return 0;,int main()表示主函数main的返回值是整型 return表示将后面的值返回,在这里应该返回一个整型的值 为什么要返回一个整型的值呢? “为什么非要做?”儿子如此问道 “因为我说了要做!”父亲回答 父亲的威严并不永远正确,沈洋 南京航空航天大学,32,1.8 保存数据:变量,通常将获取的数据(例如用户输入或文件中)保
13、存在变量中,然后再进一步处理 变量实际上是用以保存数据的一块内存空间 变量一定要先声明,后使用 不同类型的变量占据的内存空间大小是不同的 那么,每种数据类型所占的内存空间是多少呢?sizeof() 变量要先赋值、后访问 变量=左边叫赋值,在右边叫访问 在未赋值前是一个随机值 插曲:LHS,RHS,沈洋 南京航空航天大学,33,1.9 数据类型入门,三种最基本的数据类型:整数,浮点数和字符串 如果需要有小数部分的数字,则使用浮点数,否则使用整数 浮点数分为两种:float,double 一般情况下应使用double,只有在需要将数值保存在磁盘上时才考虑使用float,沈洋 南京航空航天大学,34,1.10 示例:温度转换,将摄氏温度转换为华氏温度 F=(C*1.8)+32 以双斜杠/开头的整行C+代码都是注释,会被C+编译器忽略 添加注释是良好的习惯,尤其在你的代码编写得“很有技巧”的时候 可以使用cin将用户输入存放在变量中 通常在输入语句之前先输出一句提示信息,否则用户无法知道应该怎样操作,沈洋 南京航空航天大学,35,优化的版本,只使用一个变量 简单程序的模式 1.声明变量 2.从用户那里取得输入 3.执行算法 4.输出或返回结果 练习 编写一个程序,执行从华氏度向摄氏度的反向转换 编写一个程序,将两个整数的值进行交换。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学影像诊断技术培训与应用
- 2026年河南女子职业学院单招职业技能考试参考题库带答案解析
- D打印技术在骨科中的应用
- 2026年广西农业职业技术大学单招综合素质笔试参考题库带答案解析
- 2026年哈尔滨铁道职业技术学院单招职业技能笔试备考试题带答案解析
- 护理质量控制与持续改进实践与反思
- 2026年湖南化工职业技术学院高职单招职业适应性考试备考题库有答案解析
- 2026年硅湖职业技术学院单招综合素质考试模拟试题带答案解析
- 2026年德宏师范高等专科学校单招职业技能考试参考题库带答案解析
- 2026年鹤壁汽车工程职业学院高职单招职业适应性测试参考题库有答案解析
- 第五单元生物与环境检测卷 2025-2026学年人教版八年级生物上册(含解析)
- 2026年河南实达国际人力资源合作有限公司招聘宋城产投劳务派遣人员备考题库及一套答案详解
- GB/T 26110-2025锌铝涂层技术规范
- 北京市朝阳区2024-2025学年七年级上学期期末英语试题(含答案)
- 2025年秋国家开放大学《毛概》终考大作业试题三附答案(供参考)范文
- 税局查合作协议书
- 2331《建筑制图基础》国家开放大学期末考试题库
- 2025年昆明市呈贡区城市投资集团有限公司及下属子公司第二批招聘(11人)备考笔试试题及答案解析
- 广东农信2026年度校园招聘备考题库及答案详解一套
- 建设工程消防设计 施工 验收案例精解900问 2025版
- 生活老师面试试题及答案
评论
0/150
提交评论