A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大龄产妇 中级黑马   /  2014-4-25 11:25  /  872 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>
int main()
/*记录学过的两个选择语句句式,if & switch
岁数大了,记性就不好了。又没有写日记的权限,只能发帖子。
日后方便查询,也算和大家分享了。有错误,也请指出!
if 与 switch 是选择语句
句式结构如下:
*/
// if:
{
    if (条件){  //条件中要注意 当比较大小时常量值放左边,变量右边
        printf("语句一");
        }
    else if{
        printf("语句二");
        
        }
    else if{
       ....
        }
        .
        .
        .
    else   //<--------这里忘记左边要不要用冒号了?
        +结束语句   //以上条件都不符合,则执行最后的else
}
//switch:
{
    switch(条件){
        case(一)://case 后重新定义变量,需要用大括号。作用域问题
            printf("语句一");
            break;
        case(二):
            printf("语句二");
            break;
            .
            .
            .
        default:
            printf("语句N");
            break;
        }
}
//if能够做到的事情,witch都能够做到。

4 个回复

倒序浏览
if(n>1)。switch就跪了。
当比较大小时常量值放左边,变量右边这是为什么呀。
回复 使用道具 举报
gaoxinglei123 发表于 2014-4-25 12:04
if(n>1)。switch就跪了。
当比较大小时常量值放左边,变量右边这是为什么呀。 ...

单独一个等号是表示赋值的意思,赋值是由右边赋值给左边。只是因为if语句条件中变量经常夹杂着运算,再给这时的变量放左边,不合适!系统会报错。放在右边就没有问题。例如:if(a/10 = 1)   单独这么写系统会报错,把它反过来就可以了 if (1 = a / 10); 就随便举的例子,可能不成例子,大概意思就是这样了。不知道有没有帮助到你。
回复 使用道具 举报
大龄产妇 发表于 2014-4-25 13:27
单独一个等号是表示赋值的意思,赋值是由右边赋值给左边。只是因为if语句条件中变量经常夹杂着运算,再给 ...

貌似应该这样写if(a/10==1) if(1==a/10) =表示赋值 ==表示比较。
回复 使用道具 举报
blz01003hm 发表于 2014-4-25 15:12
貌似应该这样写if(a/10==1) if(1==a/10) =表示赋值 ==表示比较。

谢谢补充
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马