《编程基础知识》PPT课件.ppt
C+简单程序设计,复习内容,C+语言程序设计,2,本章主要内容,运算符与表达式算法的基本控制结构结构体,算术运算符与算术表达式,基本算术运算符+-*/(若整数相除,结果取整)%(取余,操作数为整数)优先级与结合性先乘除,后加减,同级自左至右+,-(自增、自减)例:i+;-j;,Page 3,基本数据类型和表达式,赋值运算符和赋值表达式 简单的赋值运算符=,举例n=n+5表达式的类型等号左边对象的类型表达式的值等号左边对象被赋值后的值,Page 4,基本数据类型和表达式,5,赋值运算符和赋值表达式 复合的赋值运算符,复合运算符:+=,-=,*=,/=,%=,例a+=3 等价于 a=a+3x*=y+8 等价于 x=x*(y+8),基本数据类型和表达式,6,逗号运算和逗号表达式,格式表达式1,表达式2求解顺序及结果先求解1,再求解2,最终结果为表达式2的值例a=3*5,a*4 最终结果为60,Page 6,基本数据类型和表达式,7,关系运算与关系表达式,关系运算是比较简单的一种逻辑运算,优先次序为:=!=优先级相同(高)优先级相同(低)关系表达式是一种最简单的逻辑表达式其结果类型为 bool,值只能为 true 或 false。例如:a b,c=a+b,x+y=3,基本数据类型和表达式,8,逻辑运算与逻辑表达式,逻辑运算符!(非)&(与)|(或)优先次序:高 低逻辑表达式 例如:(a b)&(x y)其结果类型为 bool,值只能为 true 或 false,基本数据类型和表达式,9,条件运算符与条件表达式,注意:条件运算符优先级高于赋值运算符,低于逻辑运算符例:x=a b?a:b;,基本数据类型和表达式,10,sizeof 运算符,语法形式sizeof(类型名)或 sizeof 表达式结果值:“类型名”所指定的类型或“表达式”的结果类型所占的字节数。例:sizeof(short)sizeof x,基本数据类型和表达式,基本输入输出,输入/输出格式定义如下:向标准输出设备(显示器)输出例:int x;cout x;,cin变量名;cout变量名或常量;,开发环境,例1-2 创建一个控制台应用程序,当其运行时在屏幕上显示“Hello,World!”。,#include void main()coutHello World!endl;/在屏幕上输出“Hello World!,14,顺序结构分支结构循环结构,算法的基本控制结构,15,如何解决多分支问题?,例输入两个整数,比较两个数的大小。,算法的基本控制结构,#includeusing namespace std;int main()int x,y;coutxy;if(x!=y)if(xy)coutyendl;else coutxyendl;else coutx=yendl;,16,运行结果1:Enter x and y:5 8xy,17,18,一般形式switch(表达式)case 常量表达式 1:语句1 case 常量表达式 2:语句2 case 常量表达式 n:语句n default:语句n+1,switch 语句,执行顺序以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个case分支最后应该加break语句。,19,特殊的多分支结构,例输入一个06的整数,转换成星期输出。,#include using namespace std;int main()int day;cin day;switch(day)case 0:cout Sunday endl;break;case 1:cout Monday endl;break;case 2:cout Tuesday endl;break;case 3:cout Wednesday endl;break;case 4:cout Thursday endl;break;case 5:cout Friday endl;break;case 6:cout Saturday endl;break;default:cout Day out of range Sunday.Saturday endl;break;return 0;,21,while 语句,形式while(表达式)语句,执行顺序先判断表达式的值,若为 true 时,执行语句。,算法的基本控制结构,22,do-while 语句,一般形式do 语句while(表达式),执行顺序先执行循环体语句,后判断条件。表达式为 true 时,继续执行循环体与while语句的比较:while 语句执行顺序 先判断表达式的值,为true时,再执行语句,算法的基本控制结构,对比下列程序:,程序1:#include using namespace std;int main()int i,sum=0;cin i;while(i=10)sum+=i;i+;cout sum=sum endl;return 0;,算法的基本控制结构,程序2:#include using namespace std;int main()int i,sum=0;cin i;do sum+=i;i+;while(i=10);cout sum=sum endl;return 0;,23,24,for 语句,for(初始语句;表达式1;表达式2)语句,算法的基本控制结构,例:for(i=1;i=10;i+)cout*;for(i=1;i=10;i+)cout*;cout$;,25,break 和 continue 语句,break语句使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用在别处。continue 语句结束本次循环,接着判断是否执行下一次循环。,算法的基本控制结构,26,关于break 和 continue 语句的例子,#include using namespace std;void main()int x=1;for(int i=0;i6;i+)if(i%2)continue;if(i%3)break;x+;couti=i;x=xendl;,27,函数的声明,函数是面向对象程序设计中,对功能的抽象函数声明的语法形式类型标识符 函数名(形式参数表)语句序列,函数的声明与使用,是被初始化的内部变量,寿命和可见性仅限于函数内部,若无返回值,写void,28,例 编写一个求x的n次方的函数,#include double power(double x,int n);int main()cout5 to the power 2 is power(5,2)endl;double power(double x,int n)double val=1.0;while(n-)val=val*x;return(val);,函数的声明与使用,29,运行结果:5 to the power 2 is 25,例 编写一个求x的n次方的函数,函数的声明与使用,30,结构体结构的声明,结构的概念结构是由不同数据类型的数据组成的集合体。声明结构类型 struct 结构名 数据类型 成员名 1;数据类型 成员名 2;:数据类型 成员名 n;;,自定义数据类型,31,结构体结构的声明,举例:struct student/学生信息结构体 int num;/学号 char name20;/姓名 char gender;/性别 int age;/年龄 float score;/成绩 char addr30;/住址;,自定义数据类型,32,结构体结构变量说明,变量说明形式结构名 结构变量名;注意:结构变量的存储类型概念、它的寿命、可见性及使用范围与普通变量完全一致。结构变量说明在结构类型声明之后,二者也可同时进行。结构变量占内存大小可用 sizeof 运算求出:sizeof(运算量),自定义数据类型,33,结构体结构变量的初始化和使用,初始化说明结构变量的同时可以直接设置初值。使用结构体成员的引用形式:结构变量名.成员名,自定义数据类型,34,例,结构体变量的初始化和使用#include#include using namespace std;struct student/学生信息结构体 int num;/学号 char name20;/姓名 char gender;/性别 int age;/年龄stu=97001,Lin Lin,F,19;int main()coutsetw(7)stu.numsetw(20)stu.name setw(3)stu.sexsetw(3)stu.age;,自定义数据类型,运行结果:97001 Lin Lin F 19,作业,求表达式1-2+3-4+99-100的值。编程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积的值后将其显示出来。,35,作业,编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。系统函数pow(x,y)计算xy的值,注意包含头文件math.h。,36,