资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
沈洋 南京航空航天大学,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=12 then return 13 else return n+ROUTINE(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,目标和成果,完成由“想法”到“步骤”的转变 对简单问题能够设计程序以求解之 能够体会设计程序及面向对象所带来的乐趣 在课程中我们将实现什么?,在课程中我们将实现什么?,基本的C+语法和用法练习 基本算法:排序等 模拟发牌程序 猜单词游戏 文本文件比较器 面向对象的复数运算器 面向对象的话费清单记录器 面向对象的设计过程:DogDoor .,沈洋 南京航空航天大学,7,沈洋 南京航空航天大学,8,其他事项,关于考试 关于上机 关于上课联系方式 shen.ynuaa.edu.cn 13813905870,沈洋 南京航空航天大学,9,为什么是C+,C+是严谨而实用语言 C+是面向对象的语言 还能是什么Java? C#?,沈洋 南京航空航天大学,10,Chapter 1:第一个C+程序,像程序员那样思考 使用C+开发程序 示例 变量和数据类型,沈洋 南京航空航天大学,11,程序是什么?,沈洋 南京航空航天大学,12,1.1 像程序员那样思考,第一原则:“计算机只做你要求它做的事情” 计算机精确执行你要求它做的事不管这样的指令是否正确 指令必须是“精确” 的 “请把数字从摄氏度转换为华氏度”在屏幕上显示:“请输入摄氏温度” 从键盘上获取一个数字,并将它保存在变量ctemp中 使用公式ftemp=(ctemp*1.8)+32转换为华氏温度 打印消息“华氏温度是:” 打印变量ftemp的值,沈洋 南京航空航天大学,13,编写程序的三步曲,思路实例归纳步骤 1.产生思路 2.进行实例演算 3.归纳步骤,并用C+表示之 例:比较两个数的大小if (ab)cout“a is greater than b.”; elsecout“a is not greater than b.”;,沈洋 南京航空航天大学,14,一些概念,应用程序 从用户角度而言的程序 我们眼光中的Word,程序员眼光中的Visual Studio 代码 程序员眼中的“程序” 机器码和源码的总称 编译器 把源码转换为机器码的转换程序,沈洋 南京航空航天大学,15,数据 被处理或显示的信息,例如“输入” 机器码和源码 程序 可执行的二进制文件与源程序的统称 语句 C+程序中的一个单元,通常是一行 用户 给软件公司带来利润和麻烦的人 第一个用户一般是程序员自己,沈洋 南京航空航天大学,16,1.2 C+的特点,在继承C语言特点的基础上,加入了面向对象(Object-Oriented,OO)的特性 与Basic 相比更严谨 大小写的敏感性、语句结束标志等 与Pascal相比更直观易懂 与Java,C#相比更加灵活 未必是优点,沈洋 南京航空航天大学,17,OO是什么?,OO是考察问题的新视角 OO解决的不是功能性问题,而是复杂应用的结构问题 OO不一定会使你的编程能力大大提高,但一定会使你体会到更多的开发乐趣,沈洋 南京航空航天大学,18,插曲:Java和C#,Java和C#诞生于C+之后 Java和C#是完全面向对象的 即使你不愿意,代码也不得不写成“对象”的形式 Java和C#中增加了许多新的数据类型和功能 Java和C#不允许直接访问内存 没有“指针” 内存的回收由系统完成 地址的概念仍然存在 从语言角度讲,C+转向Java和C#是容易的,沈洋 南京航空航天大学,19,1.3 生成C+程序,输入程序语句 程序源代码是无格式的纯文本文件,因此可在任何文本编辑器中输入程序语句(.cpp) 生成程序 编译(Compile):把C+语句转换为机器码(.obj) 链接(Link):将机器码与C+库合并,得到可执行程序,沈洋 南京航空航天大学,20,可能发生的错误,编译器只能发现语法错误,这时将不会通过编译 逻辑错误只能通过程序测试来发现和修订 克服逻辑错误往往要付出更大的努力 教材上的例子 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 文件新建项目 其他语言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 “stdafx.h“ #include using namespace std;int main() cout“Never fear,C+ is here!“;return 0; ,沈洋 南京航空航天大学,26,主函数的结构,沈洋 南京航空航天大学,27,应注意的细节,大小写是敏感的 C+的关键字均为小写,如main, if, else 变量的大小写在使用过程中应保持一致 语句结束应加”;” 用 括起的复合语句除外 在书写程序的过程中应注意所有内容(” ”内的除外)均应是半角字符 ;与;,“”与”的区别,沈洋 南京航空航天大学,28,幕后玄机,cout Console Out控制台输出,类似于C中的printfcout #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 换行的另一种方式:“n” 多行显示的处理 cout“Im blaxxon”endl; cout“the godlike computer.”endl; cout“Fear me!”将用户输入存放在变量中 通常在输入语句之前先输出一句提示信息,否则用户无法知道应该怎样操作,沈洋 南京航空航天大学,35,优化的版本,只使用一个变量 简单程序的模式 1.声明变量 2.从用户那里取得输入 3.执行算法 4.输出或返回结果 练习 编写一个程序,执行从华氏度向摄氏度的反向转换 编写一个程序,将两个整数的值进行交换。,沈洋 南京航空航天大学,36,1.11 变量名和关键字,变量的命名规则 第一个字母应该是下划线或字母,而不能是数字或其他字符,但不建议以下划线开头 其余部分可以是字母、数字或下划线,而不能是其他字符 不能使用C+中的关键字关键字 不必刻意去背所有的关键字常见的关键字 main 数据类型:int float double 语法结构: if else while do for switch class 等 注意:C+是大小写敏感的,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号