C++支持三种格式的循环控制语句:while、do和for语句。图1.3while语句的执行过程编写一个程序,将用户输入的整数反向显示出来。解:程序如下:3.for语句for语句通常用于预先知道循环次数的情况,其一般形式为:for语句;其中,“初始化语句”可以是一个定义语句或表达式语句,一般用于对一组变量进行初始化或赋值。“表达式2”在每次循环执行完成后执行,一般用于改变控制循环的变量。......
2023-11-07
除简单的顺序控制语句外,C++还定义了一些可以控制程序执行流程的语句,这些语句提供对控制流的选择和循环功能。C++中,语句默认都是顺序执行,如果碰到选择或循环语句,顺序执行的规则就要改变。
C++中的选择控制语句有if语句、if...else语句、if...else if语句和sw itch语句。
1.if语句
if语句用于在程序中有条件地执行某一语句序列,它的基本语法格式如下:
if(条件表达式)语句;
其功能是:当“条件表达式”为真时执行后面的“语句”,其中“语句”既可以是单个语句,也可以是复合语句。
【例1.8】编写一个程序,显示用户输入数值的绝对值。
解:程序如下:
2.if...else语句
如果希望在“条件表达式”为真和为假时分别执行不同的语句,则用else来引入条件表达式为假时执行的语句序列,这就是if...else语句,它根据不同的条件分别执行不同的语句序列,其语法形式如下:
其功能是:当“条件表达式”为真时执行“语句1”;当“条件表达式”为假时执行“语句2”。这些语句均可以是复合语句。
当多个if...else语句嵌套时,else与哪个if匹配呢?为解决语义上的这种歧义性,C++中规定,else总是与最后一个出现的还没有else与之匹配的if匹配。
对于简单的if...else语句,可以使用条件运算符来代替。条件运算符是具有三个操作数的三目运算符,由?和:组成,其一般语句格式如下:
表达式1?表达式2:表达式3
其执行过程是,先计算“表达式1”的值,若为真,则计算“表达式2”的值并作为整个条件表达式的值;若“表达式1”的值为假,则“计算表达式3”的值并作为整个条件表达式的值。
【例1.9】编写一个程序,显示用户输入数值的绝对值。
解:程序如下:
上述程序中的if...else语句采用条件运算符实现如下:
if...else if语句用于进行多重判断,其语法形式如下:(www.chuimin.cn)
其中,if、else if、else都是关键字。“条件表达式l”、“条件表达式2”、…“条件表达式n”是作为判断条件使用的各种表达式,常用的是关系表达式或逻辑表达式,其他表达式也可以,不要用赋值表达式。“语句1”、“语句2”、…“语句n+1”既可以是单一语句,也可以是复合语句。
该语句功能如下:先计算“条件表达式1”给出的表达式值。如果该值为真,则执行“语句l”,执行完毕后转到该条件语句后面继续执行其后的语句;如果该值为假,则继续计算“条件表达式2”给出的表达式值。如果该值为真,则执行“语句2”,执行完毕后转到该条件语句后面执行其后语句;如果该值为假,则继续计算“条件表达式3”给出的表达式值,依此类推。如果所有条件中给出的表达式值都为假,则执行else后面的“语句n+1”。如果没有else,则什么也不做,转到该条件语句后面的语句继续执行。
【例1.10】编写一个程序,将用户输入的分数转换成等级:A(≥90),B(80~89),C(70~79),D(60~69),E(<60)。
解:程序如下:
4.switch语句
sw itch语句也称为开关语句,用于有多重选择的场合,测试某一个变量具有多个值时所执行的动作。sw itch语句的语法形式为:
sw itch语句的执行顺序是:首先计算sw itch语句中“整型表达式”的值,然后在case语句中寻找值相等的整型常量表达式,并以此为入口标号,由此开始顺序执行。如果没有找到相等的整型常量表达式,则从“default:”开始执行。
使用sw itch语句应注意下列问题:
◇整型表达式包括字符型或枚举型表达式。
◇各常量表达式的值不能相同,但次序不影响执行结果。
◇每个case分支可以有多条语句,但不必用{}。
◇每个case语句只是一个入口标号,并不能确定执行的终止点,因此每个case分支的最后应该加break语句,用来结束整个sw itch结构,否则会从入口点开始一直执行到sw itch结构的结束点。
◇当若干分支需要执行相同操作时,可以使多个case分支共用一组语句。
【例1.11】编写一个程序,输入课程后显示相应的学分:数学(代号为m,8学分)、物理(代号为p,5学分)、化学(代号为c,5学分)、语文(代号为w,8学分)、英语(代号为e,6学分):
解:程序如下:
本程序的执行结果如下:
课程代号:c↙
5学分
有关C++程序设计基础教程的文章
C++支持三种格式的循环控制语句:while、do和for语句。图1.3while语句的执行过程编写一个程序,将用户输入的整数反向显示出来。解:程序如下:3.for语句for语句通常用于预先知道循环次数的情况,其一般形式为:for语句;其中,“初始化语句”可以是一个定义语句或表达式语句,一般用于对一组变量进行初始化或赋值。“表达式2”在每次循环执行完成后执行,一般用于改变控制循环的变量。......
2023-11-07
前面介绍的switch语句中也用到了break语句,那时它表示终止当前switch语句的执行,接着运行switch后的语句。解:程序如下:3.goto语句goto语句也可以跳出循环和switch语句。......
2023-11-07
为此,C++提供了一个更好的方法,就是利用类的构造函数来初始化类的数据成员。构造函数具有如下几个特点:构造函数名与类名相同,且没有返回值,不能指定函数类型。构造函数通常被声明为公有属性,但它不能像其他成员函数那样被显式地调用,它是在创建对象时被系统自动调用的。例如,可以将例2.1的MyClass类扩展为MyClass2,使其包含两个构造函数:上述类中包含两个构造函数:一个没有参数,另一个有两个参数。......
2023-11-07
程序设计是指设计、编写和调试程序的方法与过程。由于程序是软件的本体,因此软件的质量主要通过程序的质量体现,因此,研究一种切实可行的程序设计方法至关重要。继承是面向对象程序设计方法的一个重要标志,利用继承机制可以大大提高程序的可重用性和可扩充性。......
2023-11-07
表8.2流格式状态标志续表2.设置流格式状态标志的成员函数虽然无法直接对流格式状态标志进行操作,但可以使用ios类提供的公有成员函数来操作这些标志。例如,以下程序用成员函数setf设置ios∷left标志,用unsetf清除ios∷left设置:程序执行结果如下:默认对齐456.23456.23左对齐456.23456.23恢复默认齐456.23456.23采用setiosflags/resetiosflags操纵符是等价的。......
2023-11-07
因此,局部变量只能在定义它的函数体或块内部使用,而不能在其他函数或块内使用这个变量。在不同的函数中可声明具有相同变量名的局部变量,系统会自动进行识别。这种全局变量称为“外部变量”。例如:上述程序的输出结果为8,因为main函数中的局部变量a屏蔽了全局变量a。static局部变量在整个程序结束才会释放其存储空间。......
2023-11-07
声明函数模板的一般格式如下:template<模板参数表>函数返回值类型函数模板名(形参表)函数模板定义由关键字template开头,表示声明一个模板。模板参数表写在尖括号<>中,参数一般由关键字class或typename后加一个标识符构成。Class和typename的意义相同,表示后面的标识符是一个参数类型,代表一个潜在的标准类型或用户定义的类型。例如,定义max函数模板求两个数中的较大者。如下面的声明是错误的:可以看出,用函数模板比函数重载更方便,程序更简洁。......
2023-11-07
在类声明中,public、private和protected是关键字,称为成员访问限定符,它们分别表示公有、私有和保护的成员访问权限。其他函数不能访问该类的保护数据成员,也不能调用该类的保护成员函数。◇一旦给出了成员访问限定符,它后面的成员都具有这个成员访问权限,直到出现另一个成员访问限定符或类声明结束为止。类的成员函数可以访问类的所有成员,没有任何限制,而类的对象对类的成员的访问是受成员访问控制符制约的。......
2023-11-07
相关推荐