C++分支结构程序设计

C++分支结构程序设计
——知识点
一、运算符(优先级)
1、!(逻辑非)
2、算数运算符*、/、%、+、-
3、关系运算符<、>、<=、>=、、!=
4、逻辑运算符&&(逻辑与)、‖(逻辑或)
5、赋值运算符=
注:逻辑表达式是“短路运算”,在逻辑表达式的计算过程中,一旦能够确定整个表达式的值,就会立刻停止计算。
例:1、x大于y且x>z::x>y&&x>z
2、判断某一年份x是否是“闰年”:(x%400
0)‖((x%40)&&(x%100!=0))
3、!a等价于(a
0)
二、分支结构(选择结构)
1、if语句
格式一: 格式二:
if(表达式) if(表达式)
语句1; 语句;
else
语句2;
2、复合语句:
在执行数据交换时,需要用花括号“{ }”将语句括起来,这些括起来的语句组合称为“复合语句”。
例:输入a、b两个整数,如果a大于b,则交换a与b的值,再输出a与b的值。
if(a>b){
c=a;
a=b;
b=c;
}
3、if语句的嵌套
定义:在表达式成立与否所做的工作中又包含条件语句的结构称为分支结构的“嵌套”。
注:(1)、分支结构可以嵌套很多层。
(2)、if与else的配对关系:
程序中的else子句总是与离它最近的前面一个if子句配对。
(3)、编程要形成良好的代码风格:
采用“缩进”对齐格式,让同层的if子句与else子句对齐。
三、条件表达式
格式:<表达式1>?<表达式2>:<表达式3>
运算规则:首先计算表达式1的值,若表达式1的值为真(非0),则只计算表达式2的值,并将其结果作为整个表达式的值;否则,只计算表达式3,并将其结果作为整个表达式的值。
例:x%2==0?“x is even”:“x is odd”。
四、switch语句:
条件:(1)、有限个数据;
(2)、可用离散数值描述。
格式:
switch(表达式){
case常量表达式1:语句组1;break;
case常量表达式2:语句组2;break;

case常量表达式n:语句组n;break;
default:语句组n+1
}
执行过程:先计算表达式的值,然后从前往后依次与case子句中所列出的各个常量表达式的值进行比较,若表达式的值与常量中的值相等,就开始进入相应的case后面的语句组执行,遇到后续的case也不再进行判断(默认匹配),直至遇到break语句或switch语句结束。default表示表达式与所有常量表达式的值都不匹配,那么就执行其后面的语句组,通常将default放在最后。如果表达式与各分支常量表达式的值都不匹配时,不需要执行任何语句,则default可以省略。
注:1)、switch后面的表达式,取值只能是整型、字符型、布尔型或枚举型。case后面的常量表达式,其值类型要与switch后面表达式的类型一致。
2)、任意两个case后的表达式值必须各不相同,否则将引起歧义。
3)、语句组可以是一条语句,也可以是一个复合语句。
4)、多个case语句可以共用一组程序。
例: switch (ch){
case ‘A’:
case ‘B’:
case ‘C’:cout<<“pass”<<endl;break;
}
分析:因为三个case子句共用一个语句组,所以输出结果均为pass。
五、随机函数:
C++中的函数rand( )返回[0,RAND_MAX]之间的随机函数,其中,RAND_MAX一般为32767。但是,在调用rand( )之前一般要先设置"随机种子",通常可以用srand(time(0))来实现。函数rand( )和srand( )需要包含“cstdlib”头文件,函数time( )需要包含“ctime”头文件。
一般来说,产生a~b之间的随机函数可以表示为a+rand( )%(b-a+1)。
——收获
1、通过分支结构使更复杂的一些问题得以解决。
2、分支结构下的程序设计更符合现实情况。
3、明晰if语句与switch语句以及条件表达式各有各的不同与作用。
4、我学会了 if else 语句的使用 和使用if else 语句进行多分支判断。
5、学会使用switch语句 并了解了if else 语句和switch语句之间的区别,if else 语句适用于范围的判断,而switch语句适用于离散值判断。
——感想
1、通过编译计算机使得计算机可以为我们服务是计算机与我们人类而言的价值所在,然而现实生活中的问题是十分复杂多变的,仅仅通过顺序结构完全不足以满足我们的需求,有了分支结构的引入,使得计算机可以更好的为我们服务。
2、在实验过程中体会到if 语句和switch 语句的使用,为以后的学习打下了良好的基础。
3、在使用分支结构时要注意大括号{}的使用,否则将会使得程序输出的结果出现错误。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值