收藏 分享(赏)

c++程序设计初步.ppt

上传人:无敌 文档编号:1410193 上传时间:2018-07-13 格式:PPT 页数:92 大小:339.50KB
下载 相关 举报
c++程序设计初步.ppt_第1页
第1页 / 共92页
c++程序设计初步.ppt_第2页
第2页 / 共92页
c++程序设计初步.ppt_第3页
第3页 / 共92页
c++程序设计初步.ppt_第4页
第4页 / 共92页
c++程序设计初步.ppt_第5页
第5页 / 共92页
点击查看更多>>
资源描述

1、1,第一章 C+程序设计初步,2,1.1 C+的基本结构1.2 常量与变量1.3 运算符与表达式基础1.4 语句及其流程控制,3,/* filename:ex111.cpp 这是一个求两个数和的例程 */#include int main() int x=0,y=0,sum=0; /声明三个代表整数的符号,x,y为两个被加的数,/sum为和,它们的初值都为0 coutxy; sum=x+y;cout“The sum is ”sumendl;return 0;,1.1.1 一个简单的C+程序,4,1、C+程序由注解、编译预处理和程序主体三部分组成。2、“/* . */”是按段注释,“/”只支持按

2、行注释。 3、“iostream.h”是C+的标准输入输出头文件,cin、cout是“iostream.h”中定义的C+标准输入输出设备标识符。 4、C+的程序入口必须从main()开始,称为主函数,其返回类型默认为整型。,5,5、每个C+语句以“;”作为一个语句的结束。6、C+程序文件名以CPP作为扩展名。7、C+所有过程都用函数来实现,每个函数都有一个名字,函数体用一对花括号括起来。,6,1.1.2 C+基本数据类型,在C+中,任何数据在使用之前都要进行数据类型的定义,然后才能使用。所谓基本数据类型是一种程序设计语言预先定义好的数据类型。C+的基本数据类型分为三大类,即整型、浮点型和字符型

3、。,7,-,8,0,9,1.1.3 C+的标识符,C+的标识符只能由下边三种字符组成:大小写字母下划线数字09,10,标识符只允许字母或下划线打头,长度不限,但只有前32个字符有效。C+对字母的大小写是有区别的。通常也不常用下划线打头。(C+是大小写敏感语言)例如: DrawCircle、DrawRectangle、var123、i_v_1等都是合法的标识符。 标识符主要用来标识常量、变量以及函数等等 。,11,1.2 常量与变量,1.2.1 常量 常量是指在程序运行过程中保持不变的量 。C+有如下几种常量: 整型常量 如 2、100、-1等。实型常量 如 3.14159、2.0、-1.0等。

4、,12,字符型常量 如 A、 a、 0、 7 、n、 a等字符串常量 如 “The area is :”、 “Beijing”,“Hello,World!n”等,13,符号常量 符号常量是用标识符表示的常量,用关键字const声明。如:const double Pi=3.14159;const int MAXINT=32767,14,例1.2.1/filename:ex2_1.cpp#includevoid main() const double Pi=3.1415926, r=2.0; double area,circum; area=Pi*r*r; coutThe area is :are

5、aendl; circum=2.0*Pi*r; coutThe circumference is :circum =|&赋值运算符 =条件运算符 ? :,17,逗号运算符 ,指针运算符 *&字长运算符 sizeof强制类型转换运算符(类型)分量运算符.-下标运算符 其它如函数调用运算符,18,1.3.1 算术运算符,1. 双目算术运算符 + - * / %,19,/ 整除5/2=25.0/2.0=2.5若 /的操作数都为整数,则为整除。例: int i=15;float f;f=i/10;结果:f=1如果将第三条语句改为: f=(float )i/10或f=i/10.0;则结果为 f =1.5

6、,20,% 取余(余的符号与被除数相同,不允许对浮点数操作)3%4=3 4%4=0,21,#include void main()int n;n=40%5;cout40%5: nendl;n=40%7;cout40%7: nendl;n=40%-7;cout40%-7: nendl;n=-40%7;cout-40%7: nendl;n=-40%-7;cout-40%-7: nendl;,40%5: 0 40%7: 5 40%-7: 5 40%7: -5 40%-7: -5,22,例:1.3.1#include main( ) int i=3;float r=2.0;cout2*-i:2*-ie

7、ndl;i=r/i;couti=r/i:iendl;r=r/(i+3);coutr=r/(i+3):rendl;i=2%3;cout2%3:i = c; / a的值为0,30,1.3.3 逻辑运算符,C+有三个逻辑运算符,它们是: 逻辑与& 逻辑或| 逻辑非! !为单目运算符,其运算方向是自右向左结合的; &和|为双目运算符,其运算方向是自左向右结合的。,31,例1.3 写出描述点A(x,y)落在图1.1中阴影部分的C+表达式。解:-21,32,注意:(1)= = 与 = if ( x= =9)cout“x is not on”; if (x=9) coutax 6 (!cx)ax-6 !(c

8、xax-6)(4)10=x=5若写成 5=5 & x=10,34,例 : ay | ay) |( ab?a:b;,36,注意: 条件运算符优于赋值运算符,比关系运算符和算术运算符都低例 max=(ab)?a:b+1(2)条件运算符的结合性为从右到左 ab?a:cd?c:d 即 ab?a: (cd?c:d)(3)表达式2、3的类型可以不同,条件表达式的最终类型为2和3中较高的类型。,37,1.3.5 位运算符,C+中的位运算符有以下两类: 按位逻辑运算符:位与( /求反后a的值为10011000,38,(2)双目位逻辑运算对两个整数(int或char)的对应位进行逻辑运算,(a)按位与:对两个操

9、作数的各位分别进行“与”运算,即只有对应位都为1时结果为1,否则为0例如: a:10101101 0255 (8进制)&)b: 11001011 0313 (8进制) 10001001 0211 (8进制),39,用途:将某一位置0,其它位不变,例如将char 型变量a的最低位置0:a=a,40,(b) 按位或。两操作数的对应位中有一个1,则结果的对应位也为1,否则为0 a: 00010001 021 |) b:00110100 064 00110101 065用途:将某些位置1,其它位不变例如:将int型变量a 的低字节置1A=a|0xff,41,(c) 按位异或 判断两操作数对应位是否相同

10、,若不相同,则结果数的对应位取1,否则为0。 如a: 00010101 025 ) b: 00110100 064 00100001 041,42,用途:使特定位翻转(与0异或保持原值,与1异或取反)。例如:使01111010低4位翻转01111010 ) 0000111101110101,43,2.移位运算 左移运算() 右移后,低位:舍弃高位:无符号数:补0 有符号数:补符号位,44,1.3.6赋值运算符,1.赋值运算 赋值运算符用于将一个数据传给一个变量。 例如: int x; x=5;将值5传给变量x。其中=号即赋 值运算符。(1)双目运算符,从右到左 d=a=b (2) 赋值操作是一

11、个表达式 每个表达式在求值后都有一个确定的值,其值为赋值号左边表达式的值。 例 cout(x=5)endl; (3) 当赋值号两边类型不一致时,根据左边类型转换,45,Int a=10; float x=70000.5; x=a; 将a的值10赋给x,x的值为10.0。a=5a=b=c=5a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2),46,2.复合赋值运算符x=x+y x+=y变量=变量 运算符 表达式变量 运算符= 表达式a+=a-=a*a 相当于 a=a+(a=a-a*a),47,1.3.7逗号运算符及其表达式,格式:表达式1,表达式2求解顺序及结果:先求解1,

12、再求解2,最终结果为表达式2的值。例1a=3*5, a*4 最终结果为 60例2int a,b,c,d;d=(a=1,b=a+2,c=b+3);coutdxy; couty)coutxendl; elsecoutyxyz; couty)if(xz) coutxendl; else coutzz) coutyendl; elsecoutz=85 ,55,1.4.3 switch选择结构,switch (开关表达式)case 常量1:语句序列;case 常量2:语句序列;.default:语句序列;,56,例1.4.3/ filename:ex143.cpp/ 测试输入的字符是否数字的程序#inc

13、ludeint main() char c; coutc; coutIt is a:;switch(c) case 0: case 1: case 2:,57,case 3: case 4: case 5: case 6: case 7: case 8: case 9: coutdigiter.endl; break; default: coutnon-digiter.c; coutIt is a ; switch(c) ,60,if (c0) coutdigiter.n; break; default: coutnon-digiter.n; break; return 0; ,61,2)各c

14、ase常量与开关表达式的类型要一致,且只能是整型、字符型或枚举型。3)switch结构与if else 的重要不同是:他只能进行相等与否的判断,而if else可以进行大于、小于的判断。4)在同一个switch结构中,不能有重复的case 常量。5)每个case 后面可以是一个语句序列。6)一个switch结构可以作为另一switch结构的子结构。,62,int i,j;switch(i)case 1: .;case 2: .;case 3:switch(j)case 1: case 2: .case 4: ,63,1.4.4 while重复结构,while (条件表达式)语句; /循环体,N

15、,Y,64,/ filename:ex144.cpp/ 计算1到100的整数和的程序#includeint main() int i=0, sum=0; while(i+100)sum+=i; coutThe sum is:summn;u=m; v=n;if(u*v!=0),67,while(r=u%v)u=v; v=r;coutThe ged is:vendl;elsecoutDivided by zero!number;coutThe Fibonacci series are:;,70,while(+n=number)if(n3)fib=fib1=fib2=1;elsefib=fib1+f

16、ib2;fib1=fib2;fib2=fib;coutfib,;coutendl;return 0;,71,1.4.5 do . while重复结构,do语句;While (条件表达式);do . while结构的特点是先执行,后判断。,72,例1.4.7/ filename:ex147.cpp/ 求1到100的和#includeint main()int i=1;int sum=0;dosum+=i;while(i+100);coutThe sum is:sumendl;return 0;,73,1.4.6 for循环结构,for(表达式1;表达式2;表达式3) 语句; /循环体,74,“假

17、”for(初始化表达式; 判断表达式; 修正表达式) “真” 循环体,75,for(int i=1;i=n;i+) sum+=i;等价于 for (int i=1;i=n;sum+=i,i+)或 int i=1;for(;i=n;) sum+=i+;,76,或int i=1;for(; ;)if(i=n)sum+=i+;elsebreak;,77,#include int main()int i,j;/ 打印表头cout |;for(i=1;i=9;i+) coutit;coutendl;/ 打印表线cout-|;for(i=1;i=9;i+) cout-;coutendl;,78,/ 打印表

18、体for(i=1;i=9;i+)couti |;for(j=1;j=9;j+)couti*jt;coutnumber;for(unsigned int n=2;n=number/2;n+)if(number%n=0)f=0;break;coutfendl;,82,(2) continue语句 continue 语句称循环继续语句。它只能用在重复结构中,作用是将流程转入下一轮循环的入口,相当于把当前一轮中其后面的循环体语句短接。例 1.4.14,83,#include void main()coutThe primers from 3 to 100 is: endl;for(int m=3;m=

19、100;m+)int f=1;for(int n=2;n=m/2;n+)if(m%n=0)f=0;break;if(f=0) continue;coutm,; coutf;if(f0)coutIllegal digiter!endl;exit(-1);coutThe square root is:sqrt(f)endl;return 0;,87,#include void main()int a=5;char b=m;coutb?a:b)endl;,88,1、编程求 1!+2!+3!+15!。2、编程求“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是水

20、仙花数,3、求满足不等式 的最大n值。,89,1.#includevoid main()long Sum=0,sum1=1;for(int i=1;i=15;i+)for(int j=1,sum1=1;j=i;j+)sum1*=j;Sum+=sum1;coutSumendl;,90,1. #includevoid main()long Sum=0,sum1=1;int j=1;for(int i=1;i=15;i+)for(;j=i;j+)sum1*=j;Sum+=sum1;coutSumendl;,91,2.#includevoid main()int i,j,k;for(int x=100;x1000;x+)i=x%10;j=(x/10)%10;k=x/100;if(i*i*i+j*j*j+k*k*k=x)coutx,;coutendl;,92,3.#includeint power(int m); void main() int sum=0;for(int k=2;k1000)break;coutk-1endl;,

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

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报