第2章C简单程序设计.ppt
《第2章C简单程序设计.ppt》由会员分享,可在线阅读,更多相关《第2章C简单程序设计.ppt(100页珍藏版)》请在三一办公上搜索。
1、,第二章 C+简单程序设计,本章主要内容,算法的控制结构选择语句循环语句跳转语句,程序设计简介,1.偶数之和初始值设为零2.奇数之和初始值设为零3.输入一个整数4.如果该整数为奇数,则奇数和加上该数否则偶数和加上该数5.如果该数不是第十个数,转第3步否则输出奇数和及偶数和,例 输入10个整数,计算其中的偶数之和及奇数之和。,处理过程:自然语言描述算法,程序设计简介,处理过程:框图描述算法,程序设计简介,框图符号,程序设计简介,Begin:odd_sum=0;even_sum=0;n=1;Repeat:Input a integer to number;if(number is an odd)o
2、dd_sum=odd_sum+number;elseeven_sum=odd+number;n=n+1;Until(n10);Output even_sum;Output odd_sum;End,处理过程:伪代码描述算法,程序设计简介,#include void main()int odd_sum=0,even_sum=0,number,n=0;docoutnumber;if(number%2!=0)odd_sum+=number;elseeven_sum+=number;n+;while(n10);cout“偶数之和为:”even_sumendl;cout“奇数之和为”odd_sumendl
3、;,处理过程:程序描述算法,算法的基本控制结构,顺序结构分支结构循环结构,顺序结构,语句A,语句B,C+语句,表达式语句:表达式之后加上分号。空语句:只由一个分号构成。复合语句:将一组语句序列用括起来,在语法上等价于一条语句。如:控制语句:选择语句、循环语句和转移语句。,例:int x=1;/声明语句 x=x+10;/表达式语句,例:t=a;a=b;b=t;,如何解决分支问题?,输入一个年份,判断是否闰年。需用选择结构,选择结构(分支结构),流程图说明:,进入该结构后,判断条件是否成立,成立则执行语句A,否则执行语句B。条件通常是关系表达式或逻辑表达式。,选择语句,选择语句:if 语句 swi
4、tch语句,简单if 语句,if(表达式)语句,语法:,if(radius=0)area=radius*radius*PI;cout The area for the circle of radius radius is area;,if else 语句,语法:if(表达式)语句1else 语句2,执行流程,#include using namespace std;int main()int year;bool IsLeapYear;cout year;IsLeapYear=(year%4=0,16,块中有两条以上的语句,if(life 0)cout“Im feeling pretty goo
5、d n”;cout“lets go fight some bad guys n”;else/false块 cout“Gasp.I am dead n”;cout“.goodbye cruel world n”;,/true 块,块中有两条以上的语句,if(life 0)cout“Im feeling pretty good n”;cout“lets go fight some bad guys n”;else cout“Gasp.I am dead n”;cout“.goodbye cruel world n”;,使用if 语句的说明,if(表达式)中的表达式可以是任意形式,任意类型,只要结果
6、是或非值。if语句的执行部分若为两条以上的语句时,一定要写成复合语句形式,否则仅执行if后的第一条语句。,条件运算符,对简单的if语句可以用赋值语句实现:/num1,num2 and max 都是 int类型if(num1 num2)max=num1;elsemax=num2;可以写成:max=(num1 num2?num1:num2);,if语句的嵌套,当if语句中又出现另一个if语句时,称为if语句的嵌套。if语句嵌套时,else总是与离它最近的且尚未匹配的if相匹配。,if(i k)if(j k)cout i and j are greater than k;else cout i is
7、 less than or equal to k;,注意,if语句嵌套时else总是与离它最近的且尚未匹配的if相匹配。,为了强迫else子句与第一个if子句匹配,必须加一对括号。,例:输入一个成绩,给出该成绩的等级,成绩90 输出A;80成绩90输出B;70成绩80输出C;60成绩70输出D;成绩60输出E。,int main()float score;cout score;if(score=90)cout=80)cout=70)cout=60)cout Grade:Dn;else cout Grade:En;return 0;,等效,int main()float score;cout s
8、core;if(score=90)cout=80)cout=70)cout=60)cout Grade:D n;elsecout Grade:E n;return 0;,多路分支,例:求三个数中的最大数,#include using namespace std;int main()float a,b,c,amax;cout a b c;amax=a;if(b c)if(b a)amax=b;else if(c a)amax=c;cout max=amax endl;return 0;,运行,#includeusing namespace std;int main()float a,b,c;co
9、ut a b c;if(a b)b=a;if(c b)b=c;cout b 最大 endl;return 0;,switch语句的基本形式,switch(表达式)case 常量值:语句break;case 常量值:语句break;case 常量值:语句break;default:语句+1 break;,switch语句执行流程,例:分析程序运行结果,#include using namespace std;int main()int x,a,b,c,d;a=b=c=d=0;cin x;switch(x)case 1:a+;break;default:d=1;case 2:b+;break;ca
10、se 3:c+;break;cout a b c d endl;return 0;,输入 结果为 输入 结果为 输入 结果为 1,程序运行结果:,如何使用switch语句根据分数给出等级?,switch语句适合小范围的整数不适合 1-100范围内的整数,但有其他办法如何使用switch语句根据分数给出等级?A=90 100B=80 89C=70 79D=60 69F=0 59int score/包含整数 1 100char grade/根据分数给出等级,#include using namespace std;int main()int score;char grade;cin score;s
11、witch(score/10)case 10:case 9:grade=A;break;case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;default:grade=E;break;cout grade endl;return 0;,例:编写一个实现两个数+、运算的程序,float left,right;char operator;cin left operator right;cout left operator right=;switch(operator)case+:cout left+right endl;br
12、eak;case-:cout left-right endl;break;case*:cout left*right endl;break;case/:cout left/right endl;break;default:cout Illegal operation endl;,Advantages of Computers,Computers are really quickComputers dont get bored They can do the same thing over and over and be“happy”,循环结构,循环结构:程序中有时需要反复地执行某些操作,这种结
13、构的程序称为循环结构。循环语句:被反复执行的某些语句,称为循环体。,循环,什么是循环?some C+code;some C+code;some C+code;some C+code;some C+code;some C+code;some C+code;,只要条件为真,循环语句,循环语句,C+提供了3种实现循环的语句:while语句dowhile语句for语句,while循环(当型循环),while(表达式)语句,语法:,当条件成立时,反复执行语句部分,直到条件不成立退出循环,继续执行循环结构后面的语句。,例:求自然数100以内的偶数之和,#include using namespace st
14、d;int main()int i=2,sum=0;while(i=100)sum+=i;i+=2;cout sum=sum endl;return 0;,运行,int cnt=0;/初始化while(cnt 10)/检查/做一些事情.;.;cnt+;/修改循环条件中的变量,循环的常用用法,循环体,课堂练习,一般DOS 屏幕显示80个字符宽。用一个循环在屏幕上输出80个数字,总是从1到10(用0代表10)。,123456789012345.67890,答案,int count=1,output=1;while(count 9)/如果超过9重置0output=0;,另解,int count=1,
15、output=1;while(count=80)cout output;count=count+1;output=(output=9?0:output+1);,另解,int num=1;while(num=80)cout(num%10);num=num+1;,无限循环,无限循环 永远不会停止的循环,无限循环,常见的无限循环while(ch=y).,记住:非0 true 0 false,或int i=0while(i 10)./忘记 i+;,执行次数?,while(int i=3)i-;,例:求数列 所有大于等于0.00001的数据项之和。,方法一:利用通项公式序号分子分母 2 2 2,#inc
16、lude using namespace std;int main()int i=1;double s=0,s0,p=2;while(s0=(2*i-1)/p)=0.000001)s+=s0;p*=2;i+;cout s=s endl;return 0;,#include#include using namespace std;int main()int i=1;double s=0,s0;while(s0=(2*i-1)/pow(2,i)=0.000001)s+=s0;i+;cout s=s endl;return 0;,系统函数,方法二:递推公式序号 分子 分母+1,#include vo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 程序设计
链接地址:https://www.31ppt.com/p-5635514.html