初次作业总结:

1、关于if else的匹配问题:

A:         if()    

                       语句1;

            else if()

                       语句2;

            else

                       语句3;

像这样的多分枝结构只能执行一个语句!

B:        if()

                语句1;

             if()

                       语句2;

               else()

                        语句3; 

vs默认两个if是并列结构,else与离得最近且未匹配的if匹配,如要表示else与第一个if1匹配需要写大括号,如下:

            if()

{

                       语句1;

                          if()

                             语句2;

}

          else

                        语句3;

2、||与&&的问题:

      int i=1,j=1,k=2;

            if((j++||k++)&&i++)

这里||前面的满足为真,则不执行后面的k++,如果&&前面的为假则不执行后面的i++

3、关于前置++与后置++在不同位置的作用:

始终记住i++是先赋值再自增,++i是先自增再赋值!!!

下面看几个例子:

A:  

       int i=1,j=1,k=2;

           if((j++||k++)&&i++)

                printf("%d,%d,%d\n",i,j,k);

由于j为真,j自增1(为假也要自增1)且不用处理k,i为真,i自增1(为假也要自增1),所以打印结果为 2,2,2

B:

    int x;

         scanf("%d",&x);//x=5

           if(x--<5)

                  printf("%d",x);

          else

                   printf("%d",x++);

x先与5比较,为假,执行else,且自减1,打印%d之后再x++(自增),所以结果还是4

4、算术操作符

int x;

         scanf("%d",&x);//x=5

           if(x--<5)

                  printf("%d",x);

          else

                   printf("%d",x+12);

x先与5比较,为假,执行else,且自减1,%d=x+12,但是x本身没有赋值

以上内容均为个人总结整理,如有错误,敬请指正。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值