c语言中顺序结构、条件结构和循环结构的理解

1、所谓的顺序结构,就是从上至下,从前至后的执行,也就是说,如果执行到下面的代码了,那么上面的代码肯定就已经执行结束了。

例如:

int *tep ;

int height = 100;

tep = &height;

int width = 200;

tep = &width;             //执行到这的时候,上述对tep的操作就结束了,可以继续对tep赋值。

 上述的代码与写在while循环里的情况类似,如下所示

int *tep ;
while(1)
{
    tep = new int;
    *tep = 100;
}
           

例如:

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/else也都是并列的,即每一次只能执行某一个if或else,这个可以通过画流程图或者想象成switch语句来理解)

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次,这一次,只能是满足条件或者是不满足条件,故两种语句只能二选一。

int i=2;
while(i)
{
    i--;
}

相当于
int i=2;
if(1)
i=1;

if(1)
i=0;

else//条件为0
//do sth.//while循环外的语句

 如上,while 相当于多个if条件成立的情况,跳出while循环的条件相当于那个else.

ps:其实从循环结构的框图中可以看出,else后什么都没做,,,(当然也可以do sth.),所以更确切的说,对应于while循环结构其实是多个if的叠加,且是不带else的if。

并且,while条件最终的值==退出while循环的那个值。

另外,while循环中一般会用到计数变量,顾名思义,就是用来计数的,即,计数器从0开始,循环体执行一次,计数器++,计数器跟循环体是对应的。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值