C,VC++程序设计1

上传人:美*** 文档编号:243134688 上传时间:2024-09-16 格式:PPT 页数:59 大小:439.50KB
返回 下载 相关 举报
C,VC++程序设计1_第1页
第1页 / 共59页
C,VC++程序设计1_第2页
第2页 / 共59页
C,VC++程序设计1_第3页
第3页 / 共59页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,C+,语言程序设计,第二部分,语法基础,(,第二,、三,章,),C+,语言程序设计,C+,程序实例,例,2-1.cpp,include ,void,main(void,),cout,“Hello! n”;,cout,= ,&= ,= , |=,例,a+=2, a=b=c=5, x*=y+8,a+=a-=a*a,14,逗号运算和逗号表达式,格式:,表达式,1,,表达式,2,求解顺序及结果,先求解,1,,再求解,2,,结果为表达式,2,的值,例,a=,3*5,a*4,最终结果为,60,Page,15,15,关系运算与关系表达式,关系运算符:用于比较、判定关系;, =,(高),=, !=,(低),关系表达式:用关系运算符将两个表达式连接起来,其结果必定为,bool,型。,例:,2b,x+y,=3,16,逻辑运算与逻辑表达式,逻辑运算符:用于逻辑分析。,! & |,逻辑表达式:用逻辑运算符连接起来的表达式所最后构成的逻辑表达式,其结果必定为,bool,型。,例:,(35) & (103)|(b,b?a:b,ab&c,19,隐式类型转换,隐含转换(隐式转换),在运算中,如果参与运算的操作数类型不一致,则系统,自动,对数据进行转换。,转换的基本原则是,将低类型数据转换为高类型数据,。,类型越高,数据的表示范围越大,精度也就越高。,char short,int,unsigned long unsigned long float double,低,高,20,隐式类型转换(续),隐含转换是安全的,因为在转换过程中,数据的精度没有损失。,逻辑运算符的操作数为非,bool,型时,转换方法为:非零数据转换为,true,,零转换为,false,。,二元位运算的操作对象为不同类型整数时,遵循隐式转换原则。,赋值运算中左值与右值类型不一致,则是将右值类型转换为左值类型。,表,2-5,混合运算时数据类型的转换,21,强制类型转换,强制类型转换:将表达式的,结果类型,转换为类型说明符所指定的类型。,语法形式:类型说明符(表达式),(类型说明符)表达式,强制类型转换应注意:,这种转换是不安全的转换,数据精度会受到损失。,也是暂时的,并不改变转换对象的实际数据类型。,22,类型转换示例,隐式转换例,float f;,double d;,int,i;,unsigned long u;,d= i*u;,d=,u+f,;,强制转换例,float z=6.789,f;,int,i;,i=,int(z,);,f=,z-(int)z,23,C+,语句,声明语句,表达式语句,选择语句,循环语句,跳转语句,复合语句,标号语句,24,表达式语句,格式:,表达式,;,表达式语句与表达式的区别:,表达式可以包含在其他表达式中,而语句不可。,例如:,if (a=b)0) t=a;,不可写为:,if (a=b;)0) t=a;,25,复合语句,将多个语句用一对,大括号,包围,便构成一个复合语句,例,sum=,sum+i,;,i+;,26,输入,/,输出语句,向标准输出设备(显示器)输出,例:,int,x;,cout,x=x;,27,算法的基本控制结构,基本控制结构:,顺序,、,选择,、,循环,。,If,语句实现,选择,结构,语法形式:,if,(表达式),if,(表达式),语句,1;,语句,1;,else,语句,2;,28,【,问题,】,求两个数中的最大数,【,运行结果,】,Enter the year:,5,7,max is 7,实例,2-1.cpp,双分支选择,29,【,问题,】,输入一个年份,判断是否闰年。,【,运行结果,】,Enter the year: 2000,2000 is a leap year,实例,2-2.cpp,双分支选择,30,#include ,void,main(void,),int,year;,bool,isleapyear,;,cin,year;,isleapyear,=(year%4=0 &,year%100!=0)|(year%400=0);,if(isleapyear,),cout,year“is a leap year”,endl,;,else,cout,year“is not a leap year”,endl,;,31,【,问题,】,输入两个整数,比较两个数的大小。,【,运行结果,】,Enter x and y:5 8,xy,实例,2-3.cpp,多分支选择,32,#include,using namespace std;,int,main(),int,x,y,;,cout,xy;,if (x!=y),if (xy),cout,y,endl,;,else,cout,xy,endl,;,else,cout,x=y day;,switch (day),case 0:,coutSundayendl;,break;,case 1:,coutMondayendl;,break;,case 2:,coutTuesdayendl;,break;,case 3: coutWednesdayendl;,break;,case 4:,coutThursdayendl;,break;,case 5:,coutFridayendl;,break;,case 6:,coutSaturdayendl;,break;,default:,coutDay out of range Sunday . Saturday,endl;,break;,38,课堂练习,编程实现对输入成绩的评级,Score= 90,分以上,A,8090 B,7080 C,6070 D,60,分以下,E,要求分别用,if. Else if. Else,和,Switch.case,39,循环结构,:,重复工作,三种循环控制语句:,while,;,do-while,;,for,。,while,语句语法形式:,while,(表达式),语句;,/,先判断,后执行,do-while,语句语法形式:,do,语句;,while,(表达式);,/,先执行,后判断,一般在,while,、,do-,whilte,语句中,应该包含改变表达式值的语句。,40,实例,2-5.cpp,while,语句,【,问题,】,求自然数,1,10,之和,【,分析,】,需要用累加算法,累加过程是一,个循环过程,可以用,while,语句实现。,【,运行结果,】,sum=55,41,#include ,void,main(void,),int,i=1,sum=0;,while(i,=10),sum+=i; /,相当于,sum=,sum+i,i+;,cout,“sum=”sum,endl,;,42,实例,2-6.cpp,do.while,语句,【,问题,】,输入一整数,将各位数字反转后输出,【,分析,】,可用,while,语句,也可以用,do.while,【,运行结果,】,Enter the number: 365,The number in reverse order is 563,43,#include ,Void main(),int,m,yushu,;,cin,m;,while(m,!=0),yushu,=m%10;,cout,yushu,;,m=m/10;,44,#,include ,using namespace std;,int main(),int n, right_digit, newnum = 0;,cout n;,cout The number in reverse order is ;,do,right_digit = n % 10;,cout right_digit;,n /= 10;,/,相当于,n=n/10,while (n != 0);,cout,endl,;,45,对比下列程序,程序,1,:,#include,using namespace std;,int,main(),int,i,sum(0);,cin,i;,while(i=10), sum+=i;,i+;,cout,sum=sum,endl,;,程序,2,:,#include,using namespace std;,int,main(),int,i, sum(0);,cin,i;,do,sum+=i;,i+;,while(i,=10),;,cout,sum=sum,endl,;,46,46,for,循环语句,for,语句语法形式:,for,(表达式,1;,表达式,2;,表达式,3,),语句,1;,注意:,1,、表达式,1,2,3,都可以省略,分号不能省略。,2,、表达式,2,是循环控制条件,若省略则成为死循环。,3,、表达式,1,一般用于给循环控制条件赋初值,也可以是与循环变量无关的 其他表达式。,4,、表达式,1,和表达式,3,可以是单个表达式,也可以是由多个表达式组成的逗号表达式。,5,、表达式,3,一般用于改变循环控制条件的值。,6,、省略表达式,1,和表达式,3,则等同于,while,语句。,47,实例,2-8.cpp,for,语句,【,问题,】,输入一个整数,求出它的所有因子,【,分析,】,可用,while,语句,也可以用,for,【,运行结果,】,Enter a positive integer: 36,Number 36 Factors 1 2 3 4 6 9 12 18 36,Enter a positive integer: 7,Number 7 Factors 1 7,48,#,include ,using namespace std;,int main(),int n, k;,cout n;,cout Number n Factors ;,for (k=1; k = n; k+),if (n % k = 0),cout k ;,cout endl;,49,49,循环结构与选择结构的嵌套,【,问题,】,读入一系列整数,统计出正整数个数,i,和负整数个数,j,读入,0,则结束。,【,分析,】,需要读入一系列整数,但是整数个数,不定,要在每次读入之后进行判断,因此使,用,while,循环最为合适。循环控制条件应该是,n!=0,。由于要判断数的正负并分别进行统,计,所以需要在循环内部嵌入选择结构。,50,#include,using namespace std;,int,main(),int,i=0,j=0,n;,cout,n;,while( n!=0 ),if(n,0) i+;,if(n,n ;,cout,正整数个数:,i,负整数个数:,j,endl,;,51,51,课堂练习,编程实现找出,1100,以内的素(质)数。,定义:只能被,1,和它本身整除的就叫素数。,方法:用,m,除以,2sqrt(m),,若不能整除,则,m,为素数;反之,不是素数。,任选一种,while,和,for,52,其他控制语句,break,语句:在,switch,语句也可以使用,表示结束出口;,continue,语句:出现在循环体中,结束此次循环,判定下一次循环条件;,goto,语句语法格式:,goto,语句标号;,语句标号是在程序中置于语句最前,用冒号与语句隔开。,例,:,abc,: z=,i+j,;,.,goto,abc,;,Goto,语句容易造成程序结构上的二义性,所以能不用则不用。,53,# include ,void main(),int,r; float area;,for(r,=4;r24),break;,Cout,“,面积,=”area;,Cout,“,现在,r=”r),54,# include ,void main(),int,r; float area;,for(r,=4;r24),continue;,Cout,“,面积,=”area;,Cout,“,现在,r=”r),55,56,例,4.14,:打印乘法九九表,56,57,#,include,main,(),int,m, n;,for,(m=1; m10; m+),cout m; /*,打印表头*,/,coutendl;,for,(m=1; m10; m+),cout -;,coutendl;,for,(m=1; m10; m+),for,(n=1; n10; n+),cout m * n;,coutendl;,57,58,例,4.15,:打印下三角乘法九九表,58,59,#,include,main,(),int,m, n;,for,(m=1; m10; m+),cout m; /*,打印表头*,/,coutendl;,for,(m=1; m10; m+),cout -;,coutendl;,for,(m=1; m10; m+),for,(n=1; n=m; n+),cout m * n;,coutendl;,59,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!