1、所谓的顺序结构,就是从上至下,从前至后的执行,也就是说,如果执行到下面的代码了,那么上面的代码肯定就已经执行结束了。
例如:
int *tep = new int;
int height = 100;
tep = &height;
int width = 200;
tep = &width; //执行到这的时候,上述对tep的操作就结束了,可以继续对tep赋值。
例如:
int ret ;
ret = func1();
if(ret == -1)
cout << “func1出错了”<<endl;
ret = func2(); //ret变量进行重新赋值,重新初始化
if(ret == -1)
cout << “func2出错了”<<endl;
小结:
程序中定义了一个变量,当变量值不再使用的时候,可以对变量进行重新初始化,这样只用一个变量就可以,既减少了内存空间的使用,程序代码显得也很简洁(比如上述的ret两次都是用来表示函数返回值,且第一次用完后,变量功能已经结束了,此时就可以重新初始化使用)。
2、条件结构
条件结构是if-else组成;if和else两条语句是并列的,关系对等,满足条件执行语句1,不满足条件执行语句2;也就是说两条语句不能同时执行;只能执行一条语句。
if...else 的嵌套:
if(x>=0)//错误写法
if(x>0) y =1;//此条语句需要用大括号括起来,否则就跟下面的else组成一对了。
else y = 0;
if(x>=0)
{if(x>0) y =1;}//正确写法
else y = 0;
小结:else 子句总是与前面最近的不带else的if组合组成if-else形式!
3、循环结构
循环语句与条件语句有相似的地方:满足条件执行循环体,不满足条件,执行循环体外的语句;while循环的判断条件是多次的if;
循环语句与条件语句不同的地方:满足条件执行的语句与不满足条件执行的语句二者不是并列对等的;执行完满足条件的语句会继续执行不满足条件的语句。另外,从程序框图上看,条件语句都是下箭头,开环的,而循环语句是有上箭头,即构成了一个闭环。
补充:循环结构之所以满足条件和不满足条件的语句均会执行,是因为判断了n次,即执行了n次,这n次中前n-1次是满足条件的;第n次是不满足条件的。所以,两种语句都会执行。而条件语句则是因为只执行了1次,这一次,只能是满足条件或者是不满足条件,故两种语句只能二选一。
另外,假设循环语句的判断条件只能进行判断一次,则此时的循环语句就是条件语句!!即:或者执行循环体语句,或者执行循环体外的语句。(把循环语句的上箭头转向为下箭头,跟条件语句一模一样了。)
总结:循环语句是1-n个条件语句的叠加。