《初步程序设计》PPT课件.ppt
《《初步程序设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《初步程序设计》PPT课件.ppt(96页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、简单程序设计 C+程序的一些基本要素,如描述数据的变量,常量,描述运算的运算符,表达式等等,同学们也初步了解了C+程序的一个基本概貌,其实一个大型的,完整的,实用的C+程序结构,它应该是由若干个源程序文件若干个源程序文件组成的,而每个源程序可以由若干个函数若干个函数和预处理命令预处理命令,全局变量定义全局变量定义说明组成,而一个函数则是由数据定义数据定义和执行语句执行语句组成,在面向对象的程序设计中,则通过类的定义类的定义、封装封装、调用调用来实现程序功能。虽然有多个C+程序文件,但它们中只允许一个main()函数。一个面向过程的程序应包括以下两方面内容:(1)对数据的描述。在程序中要指定数据
2、的类型和数据的组织形式,即数据结构(data structure)。(2)对操作的描述。即操作步骤,也就是算法(algorithm)程序结构图#include using namespace std;int a=3;int main()float b;b=4.5;coutab;return 0;财务软件的结构 首先进行需求分析和总体设计,我们知道财务软件的目的是用计算机来代替手工进行会计,财务核算,所以程序流程和业务模式一定要遵循财政部的会计准则。总控程序 main.cpp 帐务处理报表管理工资核算成本核算固定资产设置科目凭证录入数据查询km.cpppz.cpplook.cpp团队,财务制度,
3、业务,数据库,大型项目的管理与组织经验语句 程序应该包括数据描述(由声明语句声明语句来实现)和数据操作(由执行语句执行语句来实现)。数据操作的任务是对已提供的数据进行加工。C+中最小的独立单位是语句(statement)。语句一般是用分号结束的(复合语句是以右花括号结束的)。C+语句可以分为以下4种:1.声明语句 如int a,b;在C+中,声明语句可以出现在函数中的任何行,即可以放在其他程序语句可以出现的地方.语句 2.执行语句 通知计算机完成一定的操作。执行语句包括:(1)控制语句,完成一定的控制功能。9种 if()else (条件语句)for()(循环语句)while()(循环语句)do
4、while()(循环语句)continue (结束本次循环语句)break (结束switch或循环语句)switch (多分支选择语句)goto (转向语句)return (从函数返回语句)语句 (2)函数和流对象调用语句。函数调用语句由一次函数调用加一个分号构成一个语句,例如 sort(x,y,z);/调用sort函数 coutxendl;/流对象调用语句 (3)表达式语句。由一个表达式加一个分号构成一个语句。最典型的是:由赋值表达式构成一个赋值语句。i=i+1 /是一个赋值表达式 i=i+1;/是一个赋值语句 3.空语句;4.复合语句 可以用 把一些语句括起来成为复合语句。z=x+y;c
5、outzendl;简单输入输出 C+的输出和输入是用“流”(stream)的方式实现的。下图表示C+通过流进行输入输出的过程。简单输入输出 cout语句的一般格式为 cout表达式1表达式2表达式n;在定义流对象时,系统会在内存中开辟一段缓冲区,用来暂存输入输出流的数据。在执行cout语句时,先把插入的数据顺序存放在输出缓冲区中,直到输出缓冲区满或遇到cout语句中的endl为止,此时将缓冲区中已有的数据一起输出,并清空缓冲区。int a=5;char c=M;float x=16.62 cout a c x endl;cout “Output is complete!”变量1变量2变量n;在
6、用cin输入时,系统也会根据变量的类型从输入流中提取相应长度的字节。如有 char c1,c2;int a;float b;cinc1c2ab;如果输入 1234 56.78 注意:34后面应该有空格以便和56.78分隔开。也可以按下面格式输入:1 2 34 56.78 由于空格作为数据间隔符,所以不能用cin输入.在组织输入流数据时,要仔细分析cin语句中变量的类型,按照相应的格式输入,否则容易出错。cin 与 cin.get()的区别(1)cin 例如:char c1,c2,c3;cinc1;/Acinc2c3;程序执行到A行时,等待用户输入数据。若输入:A b c 则 cin分别将字符A
7、、b、c赋给变量c1、c2、c3。cin 自动跳过输入的空白字符(包括空格,制表,backspace和回车等)。简单输入输出(2)cin.get()例如:char c1,c2,c3;cin.get(c1);/Bcin.get(c2);cin.get(c3);程序执行到B行时,若输入:A b 则执行结果是:字符A、空格、字符b分别赋给变量c1、c2、c3;输入行中仍保留回车符。cin.get()把从键盘上输入的所有字符,包括空白字符,都作为输入字符赋给字符变量 简单输入输出例子:char c1,c2,c3;cout”Input c1,c2,c3:”c1c2c3;/C cout”c1 is”c1t
8、 ”c2 is”c2t ”c3 is”c3endl;程序执行后首先输出:Input c1,c2,c3:然后暂停在C行等待数据输入,若此时输入:a b c 程序继续执行并输出结果:c1 is ac2 is bc3 is c可以看出,双引号中的的字符串常量照原样输出。简单输入输出请看下例:int i,j;float x,y;cout”Input i,j,x,y:”ij;cinxy;cout”i=”it”j=”jendl;cout”x+y=”x+yendl;若输入:10 20 4.5 8.6 则程序输出:i=10j=20 x+y=13.1输出时各数据间是无间隔的,因此应当有意输出一些间隔符 简单输入
9、输出 上面介绍的是使用cout和cin时的默认格式。但有时人们在输入输出时有一些特殊的要求,如在输出实数时规定字段宽度,只保留两位小数,数据向左或向右对齐等。需要注意的是:如果使用了控制符,在程序单位的开头除了要加iostream头文件外,还要加iomanip头文件。举例:输出数值性数据。输入和输出格式控制double a=123.456789012345;/对a赋初值(1)couta;输出:123.456 (2)coutsetprecision(9)a;输出:123.456789 (3)coutsetprecision(6);恢复默认格式(精度为6)(4)coutsetiosflags(io
10、sscientific)a;输出:1.234568e+02int b=123456;/对b赋初值(1)coutb;输出:123456(2)couthexb;输出:1e240 (3)coutsetw(10)b,b;输出:123456,123456(4)coutsetfill(*)setw(10)b;输出:*123456输入和输出格式控制各行小数点对齐。double a=123.456,b=3.14159,c=-3214.67;coutsetiosflags(iosfixed);/浮点数以固定的小数位数coutsetiosflags(iosright)setprecision(2);coutset
11、w(10)aendl;coutsetw(10)bendl;coutsetw(10)cendl;输出如下:123.46 (字段宽度为10,右对齐,取两位小数)3.14 -3214.67 先统一设置取两位小数、右对齐。这些设置对其后的输出均有效(除非重新设置),而setw只对其后一个输出项有效,因此必须在输出a,b,c之前都要写setw(10)。输入和输出格式控制程序结构 C+语言中的语句形式虽然不多,但是这些语句足以构成结构化程序设计的三种最基本结构,这三种的基本结构为:A.顺序结构顺序结构:是指语句是按先后顺序来执行,一 条接着一条由上到下执行.B.选择结构选择结构:是根据给定的条件进行判断,
12、若条 件成立执行某些语句,不成立则执行其他一 些语句,也可以通过多条不同的条件来执行 多个不同的语句块 C.循环结构循环结构:是根据循环条件反复执行某些语 句,直到条件不成立顺序执行例子:输入三角形的边长,求三角形面积。我们首先假设三边长为a,b,c,那么根据数学知识,我们得知三角形的面积为 area=sqrt(s(s-a)(s-b)(s-c)其中 s=(a+b+c)/2#include#include void main()float a,b,c,s,area;cin a b c;s=(a+b+c)/2;area=sqrt(s(s-a)(s-b)(s-c);cout“其面积为:”areaen
13、dl;选择结构 “关系运算”在逻辑运算中是比较简单的一种类型,“关系运算”实际上就是“比较运算”,比较两个值的结果,数值比较其值大小,而字符比较按ASCII码值大小,比较的结果为“真”,在C+语言中以1表示,“假”就用0表示,如:a 1000;该关系不成立,其值为0 a!=A;该关系成立,其值为1 其中,!=都是关系运算符,关系运算符两边可以是常量,也可以是变量,如:a 3;如果整形变量a=5,那么该关系成立,其值为 1,如果整形变量a=1,那么该关系不成立,其值为 01.关系运算符 C+提供了6种关系运算符(双目运算符):、=、=、=、!=优先级:高于赋值运算符,低于算术运算符内部:、=、=
14、四种比=、!=两种要高如:ca+b c(a+b)ab!=c (ab)!=c a=bc a=(bc a=(bc)关系运算符和关系表达式2.关系表达式 用关系运算符将两个表达式连接起来的式子。表达式可以是算术表达式,关系表达式,逻辑表达式,赋值表达式或字符表达式.其结果值为1(代表逻辑真)或0(代表逻辑假)。如:a+b100 (a=3)(b=5)a b (ab)(bc)a=b=c6-2 -3-2-1 (如果 a=1,b=2,c=3,d=4,上面结果?)关系运算符和关系表达式逻辑变量和常量 C+增加了逻辑型数据。逻辑型常量只有两个,即false(假)和true(真)。逻辑型变量要用类型标识符bool
15、来定义,它的值只能是true和false之一。如 bool found,flag=false;found=true;/将逻辑常量true赋给found 由于逻辑变量是用关键字bool来定义的,因此又称为布尔变量。设立逻辑类型的目的是为了看程序时直观易懂。在编译系统处理逻辑型数据时,将false处理为0,将true处理为1。因此,逻辑型数据可以与数值型数据进行算术运算。如果将一个非零的整数赋给逻辑型变量,则按“真”处理,如 flag=123;/赋值后flag的值为true coutflag;/输出为数值1数学上 0 x=100在C+表示为 0 x&x b)&(!b)的值 在一个表达式如果包含多种
16、运算符 !a&b|xy&c 优先级:逻辑运算符之间:从高到低排列是!&|跟其他运算符的优先级为 !(非)(高)算术运算符 关系运算符&和|赋值运算符 (低)逻辑运算符和表达式2.逻辑表达式 用逻辑运算符将两个关系表达式连接起来式子.逻辑表达式中的操作数是作为逻辑量,但C+并不专门提供逻辑类型,只用1与0来代表逻辑结果真与假。对于参与逻辑运算的操作数,其值为0代表逻辑假,为非0时代表逻辑真。5 3&2|8 3 结果为1 关系运算符高于逻辑运算符&B.1&2 结果为1 2作为逻辑运算对象,做“真”C.1|84-!0 根据优先次序,先运算!0,其结果为1 D.1|841 根据优先次序,先运算41,结
17、果为3 E.1|83 根据优先次序,先运算8=a&c=A&c=a&c=A&c=Z2.m%2=02.m%2=0(1)按位取反运算符 (2)左移运算符 (4)按位与运算符&(5)按位或运算符|(6)按位异或运算符 C+语言提供字位运算,它对操作数的各个位进行操作。逻辑运算符和表达式(1)按位取反运算符 将操作数的每个二进制位取反,即1变为0,0变 为1。例如,整数a=6的二进制数为00000110,则 a的值为11111001。(2)左移运算符 运算一般格式为:an 其中a为整数,n为一个正整数常数。语义为将a 的二进制数依次向左移动n个二进制位,并在低 位补0。左移n位相当于乘以2的n次方,但移
18、位运 算的速度比乘法快。a 运算一般格式为:an 与左移运算符类同,将左操作数向右移动右操作 数指定的二进制位数,忽略移出去的位,并在高 位补0。一个整数右移n位相当于除以2的n次方 (取整),但比除法快。在VC+6.0中有符号数右移时高位补符号位,严 格对应除法。以上三种单目运算不影响数据本身的值,而是只产生一个中间量,这个中间量被引用后即不再存在。位运算(4)按位与运算符&运算一般格式为:a&b 将两个操作数的对应位逐一进行按位逻辑与运 算。运算规则为:对应位均为1时,该位运算结 果为1;否则为0。例如:a 01001101 b 00001111 a&b 00001101 该运算可用来将整
19、数的某些位置0,而保留所需 要的位,上例保留了低四位。位运算(5)按位或运算符|运算一般格式为:a|b 将两个操作数的对应位逐一进行按位逻辑或运 算。运算规则为:只要有一个数对应位为1,该位 运算结果即为1;两个数对应位均为0,该位结果 为0。例如:a 01001101 b 00001111 a|b 01001111 该运算符可用来将整数的某些位置1。上例高四位 不变,低四位全1。位运算(6)按位异或运算符 运算一般格式为:ab 将两个操作数的对应位逐一进行按位异或运算。运算规则为:当对应位的值不同时,该位运算结 果为1,否则为0。例如:a 01001101 b 00001111 a b 01
20、000010 该运算符可用来将一个整数的某些位取反,或将 整型变量的值置0(将整型变量与自身按位异 或)。上例低四位取反,高四位不变。需要说明的一点是,以上例子中的整数都只取了低8位一个字节。位运算if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。if 语句的 3 种形式1.if(表达式)语句;2.3.例如:if(score=85)cout“优良”=60)cout“及格”endl;else cout“不及格”=85)cout“优良”=70)cout“中等”=60)cout“及格”endl;else cout“不及格”endl;if 语句if 语句 市场
21、西瓜价格规定如下:重量低于公斤(含公斤)的,每公斤元 大于公斤,不足公斤(含公斤)的,每公斤元,公斤以上的,每公斤元,编程计算任意公斤的西瓜价格if 语句main()float weight,price;cout weight;if(weight=5)price=1.8*weight;else if(weight=10)price=1.5*weight;else price=1.2*weight;coutweight“斤西瓜的价格为:”priceendl;/可以采用最简单的if格式,怎么写?main()float weight,price;cout weight;if(weight 5&wei
22、ght 10)price=1.2*weight;coutweight“斤西瓜的价格为:”price y)x=10;y=20;if 语句 在if语句中又包含一个或多个if语句,我们称为if语句嵌套,它的一般形式为:if(表达式)if(表达式)语句;else 语句;else if(表达式)语句;else 语句;C语言规定,else 总是和它上面最近的if配对,所以我们处理嵌套if语句时,一定要处理好if和else之间的关系。if 语句嵌套main()int a,b;a=b=5;if(a!=1)if(b=1)cout a+=b endl;else cout a-=b endl;cout a+b b)
23、max=a;else max=b;采用条件运算符后就很简单:max=(a b)?a:b;条件运算符优先赋值运算符,但比关系运算符和算术运算符都低 如:max=(a b)?a:b+1 等同于 max=(a b)?a:(b+1)条件运算符 例子:输入一个字符(不管大写或小写),最后以小写输出。main()char ch;cin ch;ch=(ch=A&ch=Z)?(ch+32):ch;cout ch a;cout (a0)?-a:a endl;switch 多分支语句switch语句是多分支选择语句,用来实现多分支选择结构。它的一般形式如下:switch(表达式)case 常量表达式1:语句1 c
24、ase 常量表达式2:语句2 .case 常量表达式n:语句n default:语句n+1 其中 switch,case,default为关键字说明:1.表达式可以为整型、字符型、枚举型2.各case中的常量必须互不相等3.表达式的值依次跟case语句中的某常量相比较,如 果相等,则执行其后面的语句;如果都不匹配,则 执行default后的语句。4.执行过程中如果碰到 break 语句,就退出整个 switch语句,继续执行switch后的语句;5.default语句是可选择的,根据需要,可有可无。switch 多分支语句switch 多分支语句例如:要求按照考试的等级打印出百分制分数段.sw
25、itch(grade)case A:printf(“85100n”);break case B:printf(“7084n”);break;case C:printf(“6069n”);break;case D:printf(“60n”);break;default:printf(“Error Graden”);例子:运输公司对所运货物实行分段计费。设运输里程为s,则运费打折情况如下:s250 不打折扣250=s500 2%折扣500=s10005%折扣1000=s20008%折扣2000=s300010%折扣3000=s15%折扣设每公里每吨的基本运费为p,货物重量为w,折扣为d,则总运费f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 初步程序设计 初步 程序设计 PPT 课件
限制150内