黑马程序员技术交流社区

标题: 选择结构句式(c语言初学) [打印本页]

作者: 大龄产妇    时间: 2014-4-25 11:25
标题: 选择结构句式(c语言初学)
#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都能够做到。
作者: gaoxinglei123    时间: 2014-4-25 12:04
if(n>1)。switch就跪了。
当比较大小时常量值放左边,变量右边这是为什么呀。
作者: 大龄产妇    时间: 2014-4-25 13:27
gaoxinglei123 发表于 2014-4-25 12:04
if(n>1)。switch就跪了。
当比较大小时常量值放左边,变量右边这是为什么呀。 ...

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

貌似应该这样写if(a/10==1) if(1==a/10) =表示赋值 ==表示比较。
作者: 大龄产妇    时间: 2014-4-25 15:53
blz01003hm 发表于 2014-4-25 15:12
貌似应该这样写if(a/10==1) if(1==a/10) =表示赋值 ==表示比较。

谢谢补充




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2