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

上传人:sccc 文档编号:5672845 上传时间:2023-08-08 格式:PPT 页数:65 大小:587.51KB
返回 下载 相关 举报
第二章c简单程序设计.ppt_第1页
第1页 / 共65页
第二章c简单程序设计.ppt_第2页
第2页 / 共65页
第二章c简单程序设计.ppt_第3页
第3页 / 共65页
第二章c简单程序设计.ppt_第4页
第4页 / 共65页
第二章c简单程序设计.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《第二章c简单程序设计.ppt》由会员分享,可在线阅读,更多相关《第二章c简单程序设计.ppt(65页珍藏版)》请在三一办公上搜索。

1、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

2、的部分区别,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.1415926const int NULL=0const int Length=100const double PI=3.1415926,10

3、,温故知新,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+3x*=y+8 等价于 x=x*(y+8),基本数

4、据类型和表达式,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)

5、&(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(表达式)结果值:“类型名”所指定的

6、类型或“表达式”的结果类型所占的字节数。例: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*pFil

7、e;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)语句1else if(

8、表达式2)语句2else if(表达式3)语句3 else 语句 n,if 语句 三种形式,算法的基本控制结构,#includeusing namespace std;void main()int x,y;coutxy;if(x!=y)if(xy)coutyendl;else coutxyendl;else coutx=yendl;,28,运行结果1:Enter x and y:5 8xy,29,30,一般形式if()if()语句 1 else 语句 2else if()语句 3 else 语句 4注意语句 1、2、3、4 可以是复合语句,每层的 if 与 else 配对,或用 来确定层次关系

9、。,算法的基本控制结构,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,循环的种类,直到循环 当循环,3

10、5,直到循环的框架,特点:先执行循环体,再判断循环控制条件,如果满足条件,继续执行循环体,如果不满足,跳出循环。,36,当循环的框架,特点:先判断循环控制条件,如果满足条件,则执行循环体;如果不满足条件,则跳出循环。,37,几种循环的比较,While语句DoWhile语句 For语句循环在合适的时候要退出来,38,while 语句,形式while(表达式)语句,执行顺序先判断表达式的值,为 true 时,再执行语句。,算法的基本控制结构,39,求自然数110之和分析:本题需要用累加算法,累加过程是一个循环过程,可以用while语句实现。,算法的基本控制结构,While语句,#includeus

11、ing namespace std;void main()int i(1),sum(0);while(i=10)sum+=i;/相当于sum=sum+i;i+;coutsum=sumendl;,运行结果:sum=55,40,41,要求精度0.001,上机题:用步长法求ex=x+2的解,42,do-while 语句,一般形式do 语句while(表达式),执行顺序先执行循环体语句,后判断条件。表达式为 true 时,继续执行循环体与while 语句的比较:While 语句执行顺序 先判断表达式的值,为true 时,再执行语句,算法的基本控制结构,对比下列程序:,程序1:#includeusing

12、 namespace std;void main()int i,sum(0);cini;while(i=10)sum+=i;i+;coutsum=sumendl;,算法的基本控制结构,程序2:#includeusing namespace std;void main()int i,sum(0);cini;do sum+=i;i+;while(i=10);coutsum=sumendl;,43,44,注 意,不是while能实现的Do-while 语句都能实现,或者说Do-while 语句能实现的while都能实现,45,举例:从键盘输入三角形的三个边和高,设计子程序,求三角形的面积和三棱柱的体

13、积。,46,#include#includefloat 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;doscanf(%f,%f,%f,%f,48,for 语句(循环次数明确),语法形式for(表达式1;表达式2;表达式3)语句,算法的基本控制结构,49,break 和 continue 语句,break语句 使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用在别处。典型例

14、:求质数和合数的问题,算法的基本控制结构,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,枚举

15、类型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)比

16、赛取消(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

17、 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

18、结构名 数据类型 成员名 1;数据类型 成员名 2;:数据类型 成员名 n;;,自定义数据类型,59,结构体结构的声明,举例:struct student/学生信息结构体 int num;/学号 char name20;/姓名 char gender;/性别 int age;/年龄 float score;/成绩 char addr30;/住址,自定义数据类型,60,结构体结构变量说明,变量说明形式 结构名 结构变量名;注意:结构变量的存储类型概念、它的寿命、可见性及使用范围与普通变量完全一致。结构变量说明在结构类型声明之后,二者也可同时进行。结构变量占内存大小可用 sizeof 运算求出:s

19、izeof(运算量),自定义数据类型,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

20、)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;,共用体,自定义数据类型,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号