欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    第二章c简单程序设计.ppt

    • 资源ID:3443202       资源大小:587.54KB        全文页数:65页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第二章c简单程序设计.ppt

    1,复 习,面向过程的结构化程序设计及面向对象的语言的特点 类、对象、属性、行为 信息的表示和存储,第二章 C+简单程序设计,面向对象程序设计,3,本章主要内容,C+语言概述 基本数据类型和表达式 数据的输入与输出 算法的基本控制结构 自定义数据类型,4,1、C+语言的产生,C+是从C语言发展演变而来的,首先是一个更好的C 引入了类的机制,最初的C+被称为“带类的C”,C+语言概述,2.1 C+语言概述,5,2、C+的特点,全面兼容C 它保持了C的简洁、高效和接近汇编语言等特点 对C的类型系统进行了改革和扩充 C+也支持面向过程的程序设计,不是一个纯正的面向对象的语言 支持面向对象的方法,C+语言概述,6,C+与C的部分区别,7,include “stdio.h” printf(“hello c”); scanf(“%d”,#include”iostream.h” cout sum; cout “sum is ” sum endl;,C的输入和输出,8,注释,/*.*/ 沿用 C语言的方法,在此之间的所有字符被作为注释处理。 / 其后直到所在行的行尾,所有的字符都被作为注释处理,9,符号常量的定义,define NULL 0 #define Length 100 #define PI 3.1415926 const int NULL=0 const int Length =100 const double PI=3.1415926,10,温故知新,11,数据类型 变量初始化,例: int a=3; double f=3.56; char c='a' int c(5);,Page 11,基本数据类型和表达式,12,变量的存储类型,auto 属于一时性存储,其存储空间可以被若干变量多次覆盖使用。 register 存放在通用寄存器中(基本被废弃)。 extern 在所有函数和程序段中都可引用。 static 在内存中是以固定地址存放的,在整个程序运行期间都有效。,基本数据类型和表达式,13,复合的赋值运算符,有10种复合运算符: +=, -=, *=, /=, %=, =,&=,=,|= 例 a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8),基本数据类型和表达式,14,逗号运算和逗号表达式,格式 表达式1,表达式2 求解顺序及结果 先求解1,再求解2,最终结果为表达式2的值 例 a=3*5 , a*4 (a=?) X= a=3*5 , a*4 (x=?),Page 14,基本数据类型和表达式,15,关系运算与关系表达式,关系运算是比较简单的一种逻辑运算,优先次序为: = = != 优先级相同(高) 优先级相同(低) 关系表达式是一种最简单的逻辑表达式 其结果类型为 bool,值只能为 true 或 false。 例如:ab,c=a+b,x+y = = 3,基本数据类型和表达式,16,逻辑运算符与逻辑表达式,逻辑运算符 !(非) &&(与) |(或) 优先次序: 高 低 逻辑表达式 例如:(ab)&&(xy) 其结果类型为 bool,值只能为 true 或 false,基本数据类型和表达式,17,逻辑运算符要与位运算区别,位运算 包括: 1、与 & 2、或 | 3、非 4、异或 5、左移,18,条件运算符与条件表达式,一般形式 格式:表达式1?表达式2:表达式3 表达式1返回值是 bool 类型 执行顺序 先判断表达式1, 若表达式1的值为true,则求解表达式2,表达式2的值为最终结果 若表达式1的值为false,则求解表达式3,表达式3的值为最终结果 例: x=ab? a:b;,基本数据类型和表达式,19,sizeof 运算符,语法形式 sizeof (类型名) 或 sizeof (表达式) 结果值: “类型名”所指定的类型或“表达式”的结果类型所占的字节数。 例: sizeof(short) sizeof(x),基本数据类型和表达式,20,#include #include main() int i=11,*p; FILE *pFile; p= ,讲 解 演 示,21,产生文本文件,#include #include main() char i5='A','B','C','D','a',*p; FILE *pFile; p=i; pFile=fopen(“d:ab789.txt“,“w“); fwrite(p,sizeof(i),1,pFile); ,22,#include #include main() int i5=10,11,12,13,15,*p; FILE *pFile; p=i; pFile=fopen(“d:ab456.dat“,“wb“); fwrite(p,sizeof(i),1,pFile); ,讲 解 演 示,23,运算符优先级要牢记,括号 +,-,sizeof *, /, % +, - =, != 位运算 && | ?: 赋值运算 逗号运算,低,高,基本数据类型和表达式,24,语句,复合语句 选择语句 循环语句 跳转语句,25,复合语句,将多个语句用一对大括号包围,便构成一个复合语句 例如 sum=sum+i; i+; ,语 句,26,顺序结构 分支结构 循环结构,算法的基本控制结构,27,if (表达式) 语句 例:if (xy) couty) coutx; else couty; if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 else 语句 n,if 语句 三种形式,算法的基本控制结构,#include using namespace std; void main() int x,y; coutxy; if (x!=y) if (xy) couty“endl; else cout“xy“endl; else cout“x=y“endl; ,28,运行结果1: Enter x and y:5 8 xy,29,30,一般形式 if ( ) if ( ) 语句 1 else 语句 2 else if ( ) 语句 3 else 语句 4 注意 语句 1、2、3、4 可以是复合语句,每层的 if 与 else 配对,或用 来确定层次关系。,算法的基本控制结构,31,一般形式 switch (表达式) case 常量表达式 1:语句1 case 常量表达式 2:语句2 case 常量表达式 n:语句n default : 语句n+1 ,switch 语句,执行顺序 以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个case分支最后应该加break语句。,算法的基本控制结构,32,使用switch语句应注意的问题,表达式、判断值都是int型或char型。,算法的基本控制结构,33,一个循环一般由四个部分构成: 1、循环初值设置 2、循环操作 3、循环参数改变 4、循环条件控制,循环结构构成,34,循环的种类,直到循环 当循环,35,直到循环的框架,特点: 先执行循环体,再判断循环控制条件,如果满足条件,继续执行循环体,如果不满足,跳出循环。,36,当循环的框架,特点: 先判断循环控制条件,如果满足条件,则执行循环体;如果不满足条件,则跳出循环。,37,几种循环的比较,While语句 DoWhile语句 For语句 循环在合适的时候要退出来,38,while 语句,形式 while (表达式) 语句,执行顺序 先判断表达式的值,为 true 时,再执行语句。,算法的基本控制结构,39,求自然数110之和 分析:本题需要用累加算法,累加过程是一个循环过程,可以用while语句实现。,算法的基本控制结构,While语句,#include using namespace std; void main() int i(1), sum(0); while(i=10) sum+=i; /相当于sum=sum+i; i+; cout“sum=“sum endl; ,运行结果: sum=55,40,41,要求精度0.001,上机题:用步长法求ex=x+2的解,42,do-while 语句,一般形式 do 语句 while (表达式),执行顺序 先执行循环体语句,后判断条件。 表达式为 true 时,继续执行循环体 与while 语句的比较: While 语句执行顺序 先判断表达式的值,为true 时,再执行语句,算法的基本控制结构,对比下列程序:,程序1: #include using namespace std; void main() int i, sum(0); cini; while(i=10) sum+=i; i+; cout“sum=“sumendl; ,算法的基本控制结构,程序2: #include using namespace std; void main() int i, sum(0); cini; do sum+=i; i+; while(i=10); cout“sum=“sumendl; ,43,44,注 意,不是while能实现的Do-while 语句都能实现,或者说Do-while 语句能实现的while都能实现,45,举例:从键盘输入三角形的三个边和高,设计子程序,求三角形的面积和三棱柱的体积。,46,#include #include float Area(float x,float y,float z) float p,s; p=(x+y+z)/2; s=sqrt(p*(p-x)*(p-y)*(p-z); return s; ,47,main() float a,b,c,h; float p,s,v; do scanf(“%f,%f,%f,%f“, ,48,for 语句(循环次数明确),语法形式 for (表达式1;表达式2;表达式3) 语句,算法的基本控制结构,49,break 和 continue 语句,break语句 使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用在别处。 典型例:求质数和合数的问题,算法的基本控制结构,50,continue 语句,continue 语句 结束本次循环,接着执行下一次循环。,51,把100-200之间的不能被3整除的数输出,Main() int n; for(n=100;n=200;n+) if (n%3=0) continue; printf(“%d”,n); ,52,typedef语句,为一个已有的数据类型另外命名 语法形式 typedef 已有类型名 新类型名表; 例如 typedef double area,volume; typedef int natural; natural i1,i2; area a; volume v;,自定义数据类型,53,枚举类型enum,将需要的变量值一一列举出来,便构成了一个枚举类型。 枚举类型的声明形式如下: enum 枚举类型名 变量值列表; 例如: enum weekday sun,mon,tue,wed,thu,fri,sat;,自定义数据类型,54,枚举类型enum,枚举类型应用说明: 对枚举元素按常量处理,不能对它们赋值。例如,不能写:sun=0; 枚举元素具有缺省值,它们依次为: 0,1,2,。 也可以在声明时另行指定枚举元素的值,如: enum weekday sun=7,mon=1,tue,wed,thu,fri,sat;,55,举例,设某次体育比赛的结果有四种可能: 胜(win) 负(lose) 平局(tie) 比赛取消(cancel),编写程序顺序输出这四种情况。 分析:由于比赛结果只有四种可能,所以可以声明一个枚举类型,声明一个枚举类型的变量来存放比赛结果。,自定义数据类型,#include using namespace std; enum game_result WIN, LOSE, TIE, CANCEL; int main() game_result result; enum game_result omit = CANCEL; int count; for (count = WIN ; count = CANCEL ; count+) result = (game_result)count; if (result = omit) cout “The game was cancelledn“; else cout “The game was played “; if (result = WIN) cout “and we won!“; if (result = LOSE) cout “and we lost.“; cout “n“; return 0; ,56,运行结果 The game was played and we won! The game was played and we lost. The game was played The game was cancelled,57,58,结构体结构的声明,结构的概念 结构是由不同数据类型的数据组成的集合体。 声明结构类型 struct 结构名 数据类型 成员名 1; 数据类型 成员名 2; : 数据类型 成员名 n; ;,自定义数据类型,59,结构体结构的声明,举例: struct student /学生信息结构体 int num; /学号 char name20; /姓名 char gender; /性别 int age; /年龄 float score; /成绩 char addr30; /住址 ,自定义数据类型,60,结构体结构变量说明,变量说明形式 结构名 结构变量名; 注意: 结构变量的存储类型概念、它的寿命、可见性及使用范围与普通变量完全一致。 结构变量说明在结构类型声明之后,二者也可同时进行。 结构变量占内存大小可用 sizeof 运算求出: sizeof(运算量),自定义数据类型,61,结构体 结构变量的初始化和使用,初始化 说明结构变量的同时可以直接设置初值。 使用 结构体成员的引用形式: 结构变量名.成员名,自定义数据类型,62,例2-12,结构体变量的初始化和使用 #include #include using namespace std; struct student /学生信息结构体 int num; /学号 char name20; /姓名 char gender; /性别 int age; /年龄 stu=97001,“Lin Lin“,'F',19; void main() coutsetw(7)stu.numsetw(20)stu.name setw(3)stu.sexsetw(3)stu.age; ,自定义数据类型,运行结果: 97001 Lin Lin F 19,63,共用体,声明形式: union 共用体名 数据类型 成员名 1; 数据类型 成员名 2; : 数据类型 成员名 n; ; 共用体类型变量说明的语法形式 共用体名 共用体变量名; 引用形式: 共用体变量名.成员名,自定义数据类型,64,几个注意事项,1、同一个内存段来存放几种不同类型的成员,但在同一瞬时只能存放其中的一种; 2、结构体变量所占内存长度是各成员变量占内存之和;共用体变量所占内存的长度是最长的成员的长度,65,例: union uarea char c_data; short s_data; long l_data; ,共用体,自定义数据类型,

    注意事项

    本文(第二章c简单程序设计.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开