C Programming学习笔记【谭浩强老师编】(第四章选择结构程序设计)02 逻辑运算符和逻辑表达式

在这里插入图片描述



一、逻辑运算符和逻辑表达式

在这里插入图片描述优先次序:!(非)→&&(与)→‖(或), 即“!”为三者中最高的; 逻辑运算符中的“&&”和“‖”低于关系运算符,“!”高于算术运算符
在这里插入图片描述在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。

在这里插入图片描述举个小例子
判别用year表示的某一年是否闰年,可以用一个逻辑表达式来表示。闰年的条件是符合下面二者之一: ①能被4整除,但不能被100整除,如2008。②能被400整除,如2000。

(year % 4 == 0 && year % 100 != 0) ‖ year % 400 == 0 

在这里插入图片描述

二、条件运算符和条件表达式

在这里插入图片描述表达式1 ? 表达式2 : 表达式3

条件运算符的执行顺序: 先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。

在这里插入图片描述在这里插入图片描述

举例2.1

输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;
如果不是,不转换。然后输出最后得到的字符。

#include <stdio.h>
int main()
{
   
   
	char ch;
	scanf("%c",&ch);
	ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
	printf("%c\n",ch);
	return 0;
}

在这里插入图片描述

三、选择结构的嵌套

在这里插入图片描述

if与else的配对关系。
else总是与它上面的最近的未配对的if配对。
在这里插入图片描述
编程序者把else写在与第1个if(外层if)同一列上,意图是使else与第1个if对应,但实际上else是与第2个if配对,因为它们相距最近。

如果if与else的数目不一样,为实现程序设计者的思想,可以加花括号来确定配对关系。
在这里插入图片描述

举例3.1

在这里插入图片描述在这里插入图片描述
算法步骤

S1:输入x
S2:若x<0,则y=-1
S3:否则
S4:若x=0,则y=0
S5:否则(即x>0),则y=1
S6:输出y

方法1.无嵌套

#include <stdio.h>
int main()
{
   
   
	int x,y;
	scanf("%d",&x);
	if(x<0) y=-1;
	if(x==0) y=0;
	if(x>0) y=1;
	printf("x=%d,y=%d\n",x,y);
	return 0;
}

方法2.嵌套

#include <stdio.h>
int main()
{
   
   
	int x,y;
	scanf("%d",&x);
	if(x<0)
		y=-1;
	else 
		if(x==0) y=0;
		else y
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值