一、先看看逻辑运算符是啥:
逻辑“与”:同时满足。
逻辑“或”:一个满足即可。
逻辑“非”:1为真,0为假。在这里,1相当于为“是”,而0相当于为“非”。如果a是1,!a就是0,所以要输出“非”。
1、代码验证演示:
#include <stdio.h>
int main()
{
int a;
int b;
printf("请输入两个数a,b:\n");
scanf("%d%d",&a,&b);
if( a==1 && b==0){ //要注意==才是判断语句,=是赋值语句。
printf("逻辑“与”成功");
}
if( a==1 || b==0){
printf("逻辑“或”成功");
}
if( !a ){
printf("逻辑非");
}
return 0;
}
2、编译结果演示:
二、相亲案例:
1、代码演示:
#include <stdio.h>
int main()
{
int moneyYesOrNot;
int handsomeYesOrNot;
int puTianPeople;
puts("你是莆田的吗?不是的话扣1,是的话扣0");
scanf("%d",&puTianPeople);
if( !puTianPeople ){
puts("好女不嫁莆田男");
return -1;
}
puts("你有钱吗?有钱的话就扣1,没钱就扣0");
scanf("%d",&moneyYesOrNot);
puts("你好看吗?好看的话就扣1,不好看的话就扣0");
scanf("%d",&handsomeYesOrNot);
if(moneyYesOrNot==1 && handsomeYesOrNot==1){
puts("我要嫁给你");
}
printf("相亲结束");
return 0;
}
2、编译结果:
三、else语句
1、理解:不满足条件时,会有另外的选择输出。
2、题目:
输入一个字符,判别它是否为小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。
3、代码演示:
#include <stdio.h>
int main()
{
char cdata;
puts("请输入一个字母,大写小写都可以");
scanf("%c",&cdata);
if( cdata>=97 && cdata<=122 ){
printf("您输入的字母是%c\n",cdata); //联想起printf和puts的区别,puts不能输出混合型的,能输出字符串,且不需要换行符。
}else if(cdata>=41 && cdata<=90){ //else if 就有些嵌套的味道了。
printf("您输入的字母是%c\n",cdata+32);
}else{
puts("您输入的字母不合法");
}
puts("done");
return 0;
}
4、编译结果演示: