C语言-选择控制结构

C语言选择控制结构

用于单分支控制的条件语句

if(表达式P) 语句A
#include<stdio.h>
main()
{
    int a,b,max;
    printf("Input a,b:");
    if(a>b) max = a;
    if(a<=b) max = b;
    printf("max = %d\n",max); 
}

可以只有if,但是不能只有else


用于双分支控制的条件语句

if(表达式P) 语句1
else        语句2
#include <stdio.h>
main ()
{
    int a,b,max;
    printf("Input a,b:");
    scanf("%d,%d",&a,&b);
    if(a.b) max = a;
    else    max = b;
    printf("max = %d\n",max);
}

用于多分支控制的条件语句

if (表达式) 语句1
else if(表达式2) 语句2
.
.
.
else if (表达式m) 语句m
else 语句+1

所有的else if语句同时判断,如果某一个else if 语句达到要求就不会运行其他的判断语句
调用函数exit()需要在程序开头包含头文件stdlib.h
函数exit()的作用是终止整个程序的执行,强制返回操作系统


用于多路选择的switch语句

switch (表达式)
{
    case 常量1:
                可执行语句序列1
    case 常量2:
                可执行语句序列2
    .
    .
    .
    case 常量2:
                可执行语句序列n
    default:
                可执行语句序列n+1
}

switch 语句相当于一系列的if-else语句,被测试的表达式写在关键字switch后面的圆括号中,表达式只能是char型或int型,这在一定程度上限制了switch语句的应用

注意,常量与case中间至少有一个空格,常量后面是冒号,常量的类型与switch后括号内表达式的类型一致

#include <stdio.h>
main ()
{
    int data1,data2;
    char op;
    printf("Please enter an expression:");
    scanf("&d&c&d",&datal1,&op,&datal2);
    switch(op)
    {
        case'+':
            printf("%d+%d =%d\n",datail1,datal2,datal1+datal2);
            break;
        case'-':
            printf("%d-%d =%d\n",datail1,datal2,datal1-datal2);
            break;
        case'*':
            printf("%d*%d =%d\n",datail1,datal2,datal1*datal2);
            break;
        case'/':
            if(0==datal2)
                printf("Division by zero!\n");
            else
                printf("%d/%d =%d\n",datail1,datal2,datal1/datal2);
            break;
        default:
            printf("Invalid operator!\n");
    }
}

逻辑运算符和逻辑表达式

“|” (按位或)(1)
“&” (按位与)(0)
“||” (或)
“&&” (且)
“!” (非)
if(!n)等价于if(n!=0)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值