C语言逻辑判断与选择结构

1.关系运算

语法格式:

<表达式> 关系运算符 <表达式>

双目运算符:

>(大于),<(小于),>=(大于等于),<=(小于等于),优先级相同

==(等于等于),!=(不等于),优先级相同且低于以上四个运算符的优先级

2.逻辑运算

语法格式:

1.<表达式> 逻辑运算符 <表达式>

2.!<表达式>

逻辑运算符:

单目:!(优先级最高)

双目:&&(逻辑与),||(逻辑或)

例如:打印1000年到2000年之间的闰年



//打印1000年到2000年之间的闰年
#include<stdio.h>
int main()
{
    int i = 0;
    for (i = 1000; i <= 2000; i++)
    {
            //闰年条件:1.能被4整除,不被100整除。2.能被400整除
            if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0))
            printf("%d ", i);
    }
    return 0;
}

3.条件运算

三目运算法

语法格式:

<表达式1>  ?<表达式2> :<表达式3>

例如:输入两个整数,比较大小

#include<stdio.h>
int main()
{
  int a ,b ,max ;
  scanf("%d %d",&a,&b) ;
  (a>b) ? (max=a):(max=b) ;//比较a,b大小,大的放入max
  printf ("大的数是%d\n" ,max) ;
  return 0 ;
}

4.if  语句

a.单分支选择结构

语句格式:

if(表达式)

语句块;

为避免出错,建议语句块加括号:

if(表达式)

{

语句块;

}

例题:你是天才吗?输入你的智商,如果>=140,则打印“Genius”


//你是天才吗?
 #include <stdio.h>


int main()
{
	int n = 0;
	while (scanf("%d", &n) != EOF)//多组输入,输入错误,EOF=-1,结束程序
	{
		if (n >= 140)
			printf("Genius");
	}
	return 0;
}

b.双分支选择结构

语句格式:

if(表达式)

{

语句块;

}

else

{

语句块;

}

例如

if(grade>=60)
     printf("%d,passed\n",grade);
else
     printf("%d,failed\n",grade);

c.多分支选择结构

例如:


    if (条件表达式1)
    {
        语句块1
    }
    else if (条件表达式2)
    {
        语句块2
    }
     
     ……
    else
    {
        语句块3
        
    }

5.switch 语句

格式:
         switch(表达式)

{
             case 值1:
                            语句体1;
             break; 

             case 值2:
                            语句体2;
             break;
             ...
             default;
                           语句体n+1;
             break; 
         }

   
//例题:星期
#include<stdio.h>
int main(){
        int week;
        scanf("%d",&week);
		switch(week){
			case 1://注意“:”不要写成“;”
			    printf("星期一\n");
				break;
			case 2:
			    printf("星期二\n");
				break;
			case 3:
			    printf("星期三\n");
				break;
			case 4:
			    printf("星期四\n");
				break;
			case 5:
			    printf("星期五\n");
				break;	
			case 6:
			    printf("星期六\n");
				break;	
		    case 7:
			    printf("星期日\n");
				break;
			default:
			    printf("你输入的星期数有误\n");
				break;
           }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值