逻辑与&& 逻辑或11 运算符的使用

本文详细介绍了C语言中的逻辑运算符&&和||,通过示例程序展示了它们在账号密码验证中的作用,以及逻辑与和逻辑或的三种判断情况。同时,还涉及到了清空输入缓冲区和逻辑或用于控制程序流程的应用。
摘要由CSDN通过智能技术生成

C语言逻辑运算符: && 和 ||

1. 简单介绍 && 和 ||

&& 和 || 是逻辑运算符,分别是逻辑与(&&)和逻辑或(||)

1) && (逻辑与):(三种)

① 当逻辑与左边为false(假),则不再进行逻辑与右边的判断,结果为false(假)

② 当逻辑与左边为true(真)则进行右边判断,右边为false(假),结果为false(假)

③ 当逻辑与左边为true(真)则进行右边判断,右边也为true(真),则结果为true(真)

2) || (逻辑或):(三种)

① 当逻辑或左边为false(假),继续逻辑或右边的判断,如果也为false(假),结果为false(假)

② 当逻辑或左边为false(假),继续逻辑或右边的判断,如果为true(真),结果为true(真)

③ 当逻辑或左边为true(真),则不再进行逻辑或右边的判断,结果为true(真)

2. && 和 || 的使用

1) && (逻辑与)

下面通过一个程序进行讲解:

#include <stdio.h>

#include <string.h> // strcmp所在头文件

int main(void)

{

char szAccount[] = "account";    // 设置的默认账号

char szPassword[] = "password";  // 设置的默认密码

char szInputAccount[32] = { 0 };  // 输入的账号

char szInputPassword[32] = { 0 }; // 输入的密码

// 获取输入的账号

printf("请输入账号: ");

scanf_s("%s", szInputAccount, 32);

// 获取输入的密码

printf("请输入密码: ");

scanf_s("%s", szInputPassword, 32);

// 通过strcmp函数进行比较输入的账号和密码是否跟我们设置的匹配

// 通过 &&(逻辑与) 进行判断,当账号和密码都正确才会打印出 "账号密码正确!"

if (strcmp(szInputAccount, szAccount) == 0 &&

    strcmp(szInputPassword, szPassword) == 0) {

printf("账号密码正确!");

}

else {

printf("账号或密码错误!");

}

return 0;

}

简单简介上面的程序:

定义了一个char(字符型)的数组变量szAccount,并且初始化为 "account"

定义了一个char(字符型)的数组变量szPassword,并且初始化为 "password"

定义了一个char(字符型)的数组变量szInputAccount,并将数组中的每个元素都初始化为0

定义了一个char(字符型)的数组变量szInputPassword,并将数组中的每个元素都初始化为0

printf 打印一条提示信息,提示用户输入账号

scanf_s 获取用户输入的数据,然后保存到对应的变量中,此处为szInputAccount

printf 打印一条提示用户输入密码

scanf_s 获取用户输入的数据,然后保存到对应的变量中,此处为szInputPassword

strcmp函数是比较两个传入的字符串,如果两个字符串是相同的则返回0(strcmp百度百科)

然后通过 &&(逻辑与)进行比较输入的账号和密码与默认设置的账号和密码比较,如果都相同则打印 "账号密码正确!",如果有其中一个不正确则打印 "账号或密码错误!"

2) || (逻辑或)

#include <stdio.h>

int main(void)

{

char c;

char c1;

do {

/**

* 进行输入账号和密码的操作和判断

**/

// 此处只是为了清空输入缓冲区

while ((c1 = getchar()) != EOF && c1 != '\n') {}

// 密码错误进行是否继续输入进行匹配

printf("是否继续匹配,继续匹配请输入(y或者Y)\n");

c = getchar();

} while ('y' == c || 'Y' == c);

return 0;

}

简单讲解上面程序:

定义了一个char(字符型)变量c

定义了一个char(字符型)变量c1

do...while循环不断进行账号密码的判断操作

while循环是为了清空输入缓冲区,因为不清空输入缓冲区的内容,下面的getchar就会获取不确定的内容

最后通过||(逻辑或)判断是否继续输入,如果输入的是 'y' 或者 'Y' 都将继续进行循环输入匹配

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值