第三讲 C++简单程序设计.ppt_第1页
第三讲 C++简单程序设计.ppt_第2页
第三讲 C++简单程序设计.ppt_第3页
第三讲 C++简单程序设计.ppt_第4页
第三讲 C++简单程序设计.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/12/7,北京理工大学计算机系,1,C+简单程序设计,北京理工大学计算机系 金旭亮,第三讲,2020/12/7,北京理工大学计算机系,2,本讲主要内容,标准C+程序示例 注释 数据类型 常量 变量 运算符与表达式 语句 C+程序开发工具的使用,2020/12/7,北京理工大学计算机系,3,一个简单的C+程序,#include void main(void) coutHello!n; coutWelcome to c+!n; ,2020/12/7,北京理工大学计算机系,4,用VC打开C+程序,FileOpen,2020/12/7,北京理工大学计算机系,5,编译、调试和运行(VC),单击

2、工具栏上的图标,查看编译信息,2020/12/7,北京理工大学计算机系,6,编译、调试和运行(VC),运行:单击工具栏上的图标,2020/12/7,北京理工大学计算机系,7,VC开发控制台程序,File/New,2020/12/7,北京理工大学计算机系,8,VC开发控制台程序,2020/12/7,北京理工大学计算机系,9,VC开发控制台程序,2020/12/7,北京理工大学计算机系,10,VC开发控制台程序,创建新文件,2020/12/7,北京理工大学计算机系,11,C+示例分析(课本例题2-1),1 #include 2 void main(void) 3 4 coutHello!n; 5

3、coutWelcome to c+!n; 6 ,2020/12/7,北京理工大学计算机系,12,C+示例分析,C+源文件分为头文件与CPP文件两大类 Main是程序执行入口点 iostream.h 引入了C+标准库中的例程,使cout可用。 Cout是一个C+类,试一试: 去掉第一句,再编译结果如何?学会调试C+程序。,2020/12/7,北京理工大学计算机系,13,预处理器指示符,“”与的区别 “”-表明该文件是用户提供的头文件,查找该文件时将从当前文件目录开始 -表明这个文件是一个工程或标准头文件,查找过程会检查预定义的目录,2020/12/7,北京理工大学计算机系,14,防止多重包含,#

4、ifndef BOOKSTORE_H #define BOOKSTORE_H /* bookstore.h的内容 */ #end if,2020/12/7,北京理工大学计算机系,15,cout与cin,标准输入:cin 标准输出:cout 必须包含头文件:iostream 从标准输入中读入一个值: int i; cini;,2020/12/7,北京理工大学计算机系,16,自我实践,cout有许多预定义输出格式的定义符,输出回车endl是一个例子,还有定义输出小数位数等格式定义符,请自行参阅相关C+书籍,MSDN或BCB的帮助手册,自学这部分内容。,2020/12/7,北京理工大学计算机系,17

5、,C+程序的组成部分,注释 / -单行注释 /*/-多行注释,/注意:因为整数相除结果取整,如果参数写1/5,1/239,结果就都是0,空白行 使程序更可读 空行,空格和tab被称为“空白符( white-space characters)”,会被编译器所忽略,2020/12/7,北京理工大学计算机系,18,标准注释格式,/* *this is multiline note. *这是多行注释的标准格式 */,在编程时多加注释,正常情况下注释量不应少于总代码量的5,Java与C,“/”,可以使用XML自动生成程序文档,2020/12/7,北京理工大学计算机系,19,C+数据类型,C+数据类型与C

6、基本一样,请同学自行学习课本相关内容,我们只讲述其中值得注意的地方。,2020/12/7,北京理工大学计算机系,20,常量,在定义后不能再改变其值 字符常量: 窄字符 char 与 宽字符 wchar的区别 为什么引入宽字符?,2020/12/7,北京理工大学计算机系,21,字串,C中的字串是字符数组,C+标准库提供了string类。,重点把握: “a”,a的区别, 区分:空串 空格串 NULL,2020/12/7,北京理工大学计算机系,22,符号常量,可读性:512是什么意思?干什么的? 可维护性:如果程序有10000行,512出现了几十次,如果现在需要将512改为1024,这是个头痛的事。

7、,问题: for(int index=1;index512;i+) ,解决方法-采用符号常量: const int MAX_VALUE=255,2020/12/7,北京理工大学计算机系,23,布尔类型,True或false C/C+中0为false,非0为true,2020/12/7,北京理工大学计算机系,24,运算符,在许多程序中都用到了算术运算 * 乘 / 除 +, -加减 没有指数运算符 整除 7 / 5 = 1 取模 7 % 5 = 2,2020/12/7,北京理工大学计算机系,25,三元运算符,例:int a=1 int b=2 bool ret=ab ?true:false,202

8、0/12/7,北京理工大学计算机系,26,变量,在运行中可以动态赋值 注意:未初始化的局部变量不要直接使用。,int i;,示例: UnInitVar.cpp,2020/12/7,北京理工大学计算机系,27,运算符与表达式,+ +和- -,I+ , +I, -I, I-,+=,/=等,a=b=c的含义,2020/12/7,北京理工大学计算机系,28,运算符优先级,操作符顺序 一些算术运算优先于其它(例如, 先乘除后加减) 必要时使用括号保证优先级别 示例:计算a, b 和 c的平均值 错: a + b + c / 3 对 (a + b + c ) / 3,2020/12/7,北京理工大学计算机

9、系,29,运算符结合性,Precedence of operators()运算符结合性 除了赋值运算符 = ,所有的结合性都是从左到右 例如: x = y = z 相当于 x = (y = z),2020/12/7,北京理工大学计算机系,30,优先级与结合性,例题2-2,#include void main(void) int year; bool IsLeapYear; cout year; IsLeapYear = (year % 4 = 0 ,2020/12/7,北京理工大学计算机系,31,类型转换,隐式转换 显式转换 (1)C语言方式 (类型名)表达式 (2)C+方式 static_c

10、ast,const_cast,dynamic_cast,reinterpret_cast cast-name(表达式),2020/12/7,北京理工大学计算机系,32,const_cast,Extern char * string_copy(char *); const char * pc_str; char *pc=string_copy(const_cast(pc_str) 提示: const_cast将转换掉表达式的常量性。,2020/12/7,北京理工大学计算机系,33,static_cast,double d=97.0 char ch=static_cast(d) 显式完成编译器隐式

11、执行的任何类型转换。 告诉编译器我们不关心精度损失,2020/12/7,北京理工大学计算机系,34,reinterpret_cast,Void *p; int *q=reinterpret_cast (p); 这种转换类型很少用,大家可以去看一下C+文档。,2020/12/7,北京理工大学计算机系,35,dynamic_cast,主要用于在运行时刻识别由指针或引用指向的类对象。这在面向对象编程中非常常见。,ClassA *pA=new ClassA(); ClassB *pB=new ClassB(); if(dynamic_cast(pB) ,2020/12/7,北京理工大学计算机系,36,

12、语句,语句=表达式+分号!,2020/12/7,北京理工大学计算机系,37,算法控制结构,三种基本结构 顺序 选择和循环 所有高级语言所共有结构,2020/12/7,北京理工大学计算机系,38,多分支结构 Switch,例2-4,int day; cin day; switch (day) case 0:cout Sunday endl; break; case 6:cout Saturday endl; break; default: cout Day out of range Sunday . Saturday endl; break; ,2020/12/7,北京理工大学计算机系,39,算

13、法控制结构-循环语句,基本要求: 理解所有的循环语句等价性,并可以由一种形式转换到另一种形式。,2020/12/7,北京理工大学计算机系,40,课堂练习,将例2-5中的while循环转为for循环,#include void main() int i(1), sum(0); while(i=10) sum+=i; i+; coutsum=sumendl; ,2020/12/7,北京理工大学计算机系,41,理解嵌套,由内到外,逐步替换,2020/12/7,北京理工大学计算机系,42,循环示例,例题2-9:输出一个平行四边形,2020/12/7,北京理工大学计算机系,43,补充,用VS.net开发

14、C+程序 用BCB开发C+程序,2020/12/7,北京理工大学计算机系,44,使用VS.net调试C+程序,可以使用VS.net调试本课程的例题,2020/12/7,北京理工大学计算机系,45,设置项目属性,2020/12/7,北京理工大学计算机系,46,将已有C+文件加入工程,2020/12/7,北京理工大学计算机系,47,选择C+源文件,2020/12/7,北京理工大学计算机系,48,加入了文件后的资源管理器,2020/12/7,北京理工大学计算机系,49,调试/开始执行(不调试),2020/12/7,北京理工大学计算机系,50,运行结果,2020/12/7,北京理工大学计算机系,51,使用BCB开发控制台程序-1,File/new,2020/12/7,北京理工大学计算机系,52,使用BCB开发控制台程序-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论