C++实验要点实验二要点数据类型、运算符和表达式1变量定义变量在程序中要先定义后使用,为变量取一个名字,并指定它的数据类型。一般格式为:数据类型变量名表;如:inta;floatx,y;doublea=5.3,b=1.9;2变量赋值把数据传送到变量所代表的存储空间的操作叫做变量赋值。一般格式为:变量名=表达式;如:PRICE=20;average=(n1+n2+n3)/3.0;Area=sqrt(s*(s-a)*(s-b)*(s-c));3符号常量(1)const常量的声明一般格式为:const数据类型说明符符号常量名=常量值;或数据类型说明符const符号常量名=常量值;如:constintPRICE=20;注意:const常量在声明时一定要赋值,且在程序执行过程中不能改变值。(2)宏定义常量宏定义命令是一条预处理命令,也就是在编译预处理阶段处理的命令。一般格式为:#define符号常量名字符串如:#definePRICE20注意:这不是语句,末尾不要加分号4基本赋值运算符及表达式由“=”连接的式子称为赋值表达式。一般格式为:变量=表达式;如:a=5;a+=5;x*=y+8;x%=3;实验三要点顺序结构设计顺序结构是程序设计中最简单、最常用的基本结构。在顺序结构中,语句是顺序排列的,执行的次序是自上而下。1、变量定义语句又称变量说明语句,用来定义程序中需要使用的属于某个类型的变量。变量定义语句的一般形式为:类型变量名列表;如:doublea,b,c;2、表达式语句的形式为:表达式;(1)运算符表达式语句运算符表达式语句由运算符表达式后跟一个分号组成,如:i++;//变量i的值增1--j;//变量j的值减1(2)赋值语句赋值语句由赋值表达式后跟一个分号组成,如:x=1;//给x赋值为1x=x*3*cos(x);//计算表达式的值,并赋给x3、空语句用一个分号表示,其一般形式为:;语法上占有一个简单语句的位置,即只有一个分号的语句,而执行该语句不做任何操作,空语句常用于循环语句中,构成空循环。4、复合语句的形式为:{[内部数据描述语句]数据操作语句1;…数据操作语句n;}具体参见教材P39例3.1C++中有丰富的标准函数库,可提供各类函数供用户调用,调用数学函数是为了得到函数的返回值,函数的调用出现在表达式中。标准库函数完成预先设定好的任务,可直接调用。如sin(x)、cos(x)、exp(x)、log(x)、sqrt(x)等常用的求数学函数值函数。调用标准库函数要在程序中包含相应的头文件math.h。实验四要点选择结构程序设计1、C++语言的关系运算符,如下:大于小于=大于等于=小于等于==等于!=不等于2、C语言为逻辑运算提供三种运算符,它们是:‖逻辑或&&逻辑与!逻辑非它们之间的优先权依次是:!、&&、‖。参与运算的量非0为真,0为假。3、条件运算由两个操作符“?”和“:”连起来,它的一般形式是:a?b:c例如:程序阅读(1)#includeiostream.hvoidmain(){inta,b,c;c=(a=5,b=2,ab?a++:b++,a+b);couta=aendl;coutb=bendl;coutc=cendl;}ab为真,执行a++ab为假,执行b++包含逗号运算符,得到的结果做为表达式的值。运行结果:a=6b=2c=84、if语句常见格式为:if(表达式){代码块}5、if-else语句基本格式为:if(表达式){代码块1}else{代码块2}6、if-else-if语句一般形式如下:if(表达式){代码块1}elseif(表达式){代码块2}elseif(表达式3){代码块3}…else{代码块n}7、switch语句格式如下:switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;…case常量表达式n:语句n;default:语句n+1;}实验五要点循环结构程序设计1、while循环结构语法为:while(表达式){循环体语句}2、do-while循环至少要执行一次循环语序。其语法为:do{循环体语句}while(表达式);3、for语句的一般形式为:for(表达式1;表达式2;表达式3){循环体语句}实验六要点循环嵌套的实现一个循环体内包含另一个完整的循环结构,构成双重循环结构,也称为循环的嵌套。如果内嵌的循环中还嵌套循环,这就是多重循环。三种循环(for循环、while循环、do-while循环)可以互相嵌套。continue语句continue语句用于while、do-while、for循环语句中,常与if条件语句一起使用,用来加速循环。当遇到continue语句,则跳过本次循环后面尚未执行的语句,提前结束本次循环,而强行执行下一次循环。break语句当break语句用于while、do-while、for循环语句中时,可使程序终止break语句所在层的循环,通常break语句总是与if语句连在一起,即满足条件时便跳出循环。区别:break语句用于跳出当前循环,而continue语句用于结束本次循环进入下一轮循环。goto语句goto语句是一种无条件转移语句。goto语句使用的一般格式为:goto语句标号;其中语句标号是一个有效的标识符,这个标识符加上一个“;”一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。【范例1】体会循环嵌套语句中continue、break的作用。程序阅读(1)阅读程序,体会循环嵌套语句中continue的作用。。实验七要点函数函数的概念、定义格式、声明格式、调用规则及调用过程中数据传递方法过程,函数的嵌套调用和递归调用。1、函数的定义函数定义的一般格式:类型标识符函数名([形式参数表])//函数首部{//函数体局部变量说明语句序列}说明:类型标识符是指函数的类型,即函数返回值的类型。2、函数的返回值return语句的一般形式为:return表达式;或return(表达式);说明:1)函数的值只能通过return语句返回主调函数;2)函数值的类型和函数定义中函数的类型应保持一致,若不一致,以函数类型为准进行自动转换;3)如果函数值为整型,在函数定义时可以省去类型说明;4)不返回函数值的函数,可以明确定义为“空类型”(void)。有返回值的函数,在函数体内必须有相应的返回语句return。3、函数的调用函数调用的一般形式函数名(实参列表);说明:如果实参列表包括多个实参,对实参求值的顺序与编译系统有关,大多数采用自右而左的顺序求值。4、函数原型函数的原型说明的一般形式如下:(1)函数类型函数名(参数类型1,参数类型2…);(2)函数类型函数名(参数类型1参数名1,参数类型2参数名2…);说明:先写主调函数,后写被调函数,需要有相应的函数说明。5、函数的嵌套调用(左图)和函数的递归调用(右图)实验八要点一维数组1、数组的概念数组是一组具有相同属性的数据的集合。每个元素用同一个名字,不同的下标来标识。通过数组名和下标,实现对数组的整体操作。2、一维数组的一般定义形式类型标识符数组名[常量表达式];说明:(1)类型标识符表明了数组元素的数据类型,可以是基本数据类型也可以是构造类型。(2)数组名遵循变量的命名规则,它代表数组的首地址。(3)方括号是必需的,不能是圆括号或花括号。方括号中的常量表达式表示数组元素的个数,即数组长度。数组元素的下标从0开始。(4)常量表达式可以是常量和符号常量,不能包含变量。3、一维数组元素的引用形式数组名[下标]下标用来标识元素在数组中的位置,可以是整型常量或整型表达式。如:a[0],a[i-1]......说明:(1)对于数值型数组,只能通过下标逐个引用数组元素,不能一次引用整个数组。(2)对单个变量能进行的操作(如输入、赋值、输出等),就能对数组元素实施,唯一的区别是使用数组元素时必须带下标。4、一维数组的初始化(1)对全部数组元素赋初值。如:a[3]={5,3,7};(2)对部分元素进行初始化。如:a[20]={5,3,7};5、一维数组元素的输入、输出由于数组元素下标排列的规律性,在程序中,通常通过循环变量控制一维数组的下标值,实现对数组的整体操作。如:inta[10];for(i=0;i10;i++)cina[i];//输入数组元素时,每个数值用空格隔开或者每个数值用Enter确认for(i=0;i10;i++)couta[i];6、与一维数组有关的算法(插入、删除、查找、排序等)排序和查找是建立在数组基础上的最重要的算法。排序的算法很多,最基本而常用的是冒泡排序法和选择排序法,教材中已经涉及。基本的查找方法有顺序查找和折半查找,顺序查找教材中有介绍,关于折半查找请看范例3。【范例1】运行结果:【范例2】运行结果:【范例3】数组a中的数据从小到大的顺序排列,从键盘输入一个数,判定是否在数组中,若在输出所在序号,若不在,输出相应信息。运行结果: