前言
写在最前,本次内容是关于第五章和第六章的相关要点,相当于每学完一章的总结
关于i++和++i的一些知识点
1.++i和i++在同一个表达式中
int main()
{
int i = 1;
int y = (++i)+(i++);
cout << i << endl;
cout << y << endl;
}
int main()
{
int i = 1;
int y = (i++)+(++i);
cout << i << endl;
cout << y << endl;
}
输出结果都为
3
4
这是因为++i表示先把i的值+1,而i++表示先用此时的值计算表达式,然后等完整表达式结束再+1,所以此时i的值就为2,所以y=2+2=4,而i=1+1+1=3。
2.表达式中有i++时
int main()
{
int i = 1;
int y = (i++)+(i++);
cout << i << endl;
cout << y << endl;
}
输出结果为
3
2
这是因为i++表示先用当前值计算表达式,等完整表达式结束再对i+1,所以 int y = (i++)+(i++);
这个表达式计算y的值为1+1=2,而i的值在这个表达式结束后连续递增了两次,所以i=3。
3.表达式中有++i时
int main()
{
int i = 1;
int y = (++i)+(++i);
cout << i << endl;
cout << y << endl;
}
输出结果为
3
6
这是因为每遇到一个++i,i的值增加一次,int y = (++i)+(++i);
这个表达式中i被递增了两次。所以i的值为3,y=3+3=6。
总结就是一定要把一个表达式中的相同变量看做一个整体,如果其中一个变量使用了前缀格式,其他的相同变量的值也相应的改变,如果其中一个变量使用了后缀格式,不要忘记在表达式完成后,相应的变量值才进行改变。
1. If语句
语法形式如下
if(判断)
{
表达式;
}
流程图如下:
2. If …else语句
代码格式如下
if(判断表达式)
{
语句1;
}else{语句2}
流程图表示如下:
就如流程图而言,if else语句很容易理解,如果表达式正确那么执行语句块1,否则执行语句块2。
3. if else if…else语句
例如在网上购物时,选项不可能只有两种支付方式,你可以选择现金、微信扫码、花呗支付等等。
这时候你就要从三个及其以上的选项中选择一个,那么类比于购物,在编写程序时,遇到多选一的情况下就要用到if…else if…else语句,该语句的语句格式如下:
if(判决表达式1)
{
语句1;
}
else if(判决表达式2)
{
语句2;
}
else if(判决表达式3)
{
语句3;
}
...
else if(判决表达式k)
{
语句k;
}
else{语句n}
需要注意的是,if后面不管有几个else if,最后一定要加上else,只有在所以的if else中的判断语句都是假时,才执行else的语句n。
4. switch语句的用法
如果一个事件响应有非常多个的选项时,那么用if…else if…else语句会显得麻烦以及冗杂,那么为了简化这种编写代码的方式,我们可以采用switch语句,将判断动作组织起来,然后从中选择自己想要执行的那一个选项即可,这样可以大大增加代码的可读性。
switch语句的代码格式如下:
switch(判断参数)
{
case 数值1:
语句1;
break;
case 数值2:
语句2;
break;
...
case 数值n:
语句n;
break;
default:
语句n+1;
break;
}
从以上switch语句的基本代码格式中我们可以看到,使用switch语句的要点有以下3点
1.switch语句的判断参数必须是byte,sbyte,short,ushort,int,uint,long,ulong,char,string,bool等。
2.不管switch语句的大括号内有多少个case,最后一般都要加上default语句跳出switch判断防止出现死循环的情况,当然可以省略default语句,但是不建议这样做。
3.另外case后的数值各不相同,如果有相同的话会报错。
5. while循环和do…while循环语句的使用
while语句是"当型"循环结构,语法格式如下:
while(判断表决式)
{
语句;
}
判决表达式一般是一个bool型的值,或者一个逻辑表达式,当判断为真时,开始循环语句,反之则反。值得注意的是,while循环不管执行与否都会接下一条语句。一次执行只会循环一次。
而do…while语句不管while判断表决式真假与否,都会先执行循环体内容一次,很容易理解,do…while语句的形式如下:
do{
语句:
}while(判断表决式);
虽然do…while语句很容易理解,但是使用的时候我们要注意do…while语句后一定要加上分号";",否则会报错。
6.for循环语句
for循环是各种语言中最重要的一种循环结构。for循环的常用语法格式如下:
for(表达式1;表达式2;表达式3)
{
语句;
}
for循环的执行过程如下
1.定义表达式1;
2.判断表达式2,如果为真,则执行循环体内的语句,然后求解表达式3,然后继续判断表达式2,求解表达式3;
3.若表达式2为假则结束循环,执行for循环后的下一语句;
for循环还有很多变体,如省略表达式1、省略表达式2、省略表达式3、省略所以表达式只留下分号";",具体形式不多赘述。另外表达式1可以定义多个变量,这表示这多个变量都参与for循环语句的求解过程。
7.跳转语句
常见的跳转语句报break语句、continue语句、return语句。
1.break语句
break语句终止整个循环,跳出循环开始执行循环后的下一条语句.
2.continue语句
continue语句的作用是跳出本次循环,开始执行下一次循环.
3.return语句
return语句用于终止它出现在其中的方法的执行,并将控制返回给调用方法。
8.循环的嵌套
for循环语句、while循环语句和选择结构语句如if语句和swit语句可以循环嵌套实现较为复杂的结构模型设计。
总结
流程控制语句是任何语言最重要也是最基本的构成,要学好任何语言都需要掌握流程控制语句,以下是本章的知识框架: