首页 > 代码库 > 2_C语言中的数据类型 (九)逻辑运算符与if语句
2_C语言中的数据类型 (九)逻辑运算符与if语句
1 条件分支语句
1.1 关系运算符
在C语言中0代表false,非0代表真
1.1.1 <
小于
1.1.2 <=
小于等于
1.1.3 >
大于
1.1.4 >=
大于等于
1.1.5 ==
等于
1.1.6 !=
不等于
1.2 关系运算符优先级
前四种相同,后两种相同,前四种高于后两种优先级
1.3 逻辑运算符
1.3.1 &&
与
当运算符左右都是真的时候,那么整个表达式的结果为真
只有左右有一个值为假,那么整个表达式的结果为假
1.3.2 ||
或
当运算符左右只要有一个值是真的时候,那么整个表达式的结果为真
除非左右两个值都是假,那么整个表达式的结果为假
1.3.3 !
非
当值为真的时候,表达式为假,
当值为假的时候,表达式为真
1.4 if
单分支
If (条件)
{
//复合语句
}
当条件是真的时候,复合语句才能被执行,如果条件为假的时候,复合语句不执行
1.5 if else
双分支
If (条件)
{
复合语句1
}
Else
{
复合语句2
}
如果条件为真,那么执行复合语句1,否则执行复合语句2
1.6 if else if
多重if
If (条件1)
{
复合语句1
}
Else if (条件2)
{
复合语句2
}
Else if (条件3)
{
复合语句3
}
Else
{
复合语句4
}
当有多个else的时候,else总是和上方最近的那个if语句配对。
#include <stdio.h> int main01(void) { int a, b; a = 10; b = 30; int i = a == b;//==是判断两个变量是否相等 i = 3 < 5 && 3 == 2; i = 3 <= 5 && 3 != 2; i = 1 == 3 || 3 < 7; i = !(3 > 5 || (a = b)); i = !a; a = 0; i = !a; i = !(a != b); printf("i = %d\n", i); return 0; } //int main()一个函数在C语言里面,如果只是空(),代表这个函数可以有参数,也可以没有参数 //int main(void)如果是(void),就是明确的表达,没有任何参数 int main03() { int a = 3; int b = 5; if (a != b && b > 10) { printf("hello world\n"); } if (0) { printf("true\n"); } else { printf("false\n"); } return 0; } int main() { int a = 0; int b = 0; printf("please input a:"); scanf("%d", &a); printf("please input b:"); scanf("%d", &b); if (a > b) { printf("a = %d\n", a); }else { printf("b = %d\n", b); } return 0; }
#include <stdio.h> int main01(void) { int a = 0; int b = 0; char c = 0; printf("please input a:"); scanf("%d", &a); getchar();//通过getchar这个函数将之前输入a时候用户按的回车键先收到 printf("please input operator:"); scanf("%c", &c);//通过键盘输入一个字符 printf("please input b:"); scanf("%d", &b); if (c == ‘+‘) { printf("a + b = %d\n", a + b); }else if (c == ‘-‘) { printf("a - b = %d\n", a - b); }else if (c == ‘*‘) { printf("a * b = %d\n", a * b); }else if (c == ‘/‘) { if (b == 0) { printf("error\n"); }else { printf("a / b = %d\n", a / b); } }else { printf("error\n"); } return 0; } int main02() { int i = 1; switch (i) { case 0: printf("i = 0\n"); break;//跳出switch的复合语句块 case 1: printf("i = 1\n"); break; case 2: printf("i = 2\n"); break; case 3: printf("i = 3\n"); break; case 4: printf("i = 4\n"); break; default://如果有所条件都不满足,那么执行default语句 printf("error\n"); } return 0; } int main03() { int i = 10; if (i == 0) { printf("i = 0\n"); } else if (i == 1) { printf("i = 1\n"); } else if (i == 2) { printf("i = 2\n"); } else if (i == 3) { printf("i = 3\n"); } else if (i == 4) { printf("i = 4\n"); } else { printf("error\n"); } return 0; } int main04(void) { int a = 0; int b = 0; char c = 0; printf("please input a:"); scanf("%d", &a); getchar();//通过getchar这个函数将之前输入a时候用户按的回车键先收到 printf("please input operator:"); scanf("%c", &c);//通过键盘输入一个字符 printf("please input b:"); scanf("%d", &b); switch (c) { case ‘+‘: printf("a + b = %d\n", a + b); break; case ‘-‘: printf("a - b = %d\n", a - b); break; case ‘*‘: printf("a * b = %d\n", a * b); break; case ‘/‘: switch(b) { case 0: printf("error\n"); break; default: printf("a / b = %d\n", a / b); } break; default: printf("error\n"); } return 0; } int main() { goto end;//无条件的跳转到一个标号去执行 int a = 0; int b = 0; scanf("%d", &a); scanf("%d", &b); // int c; // if (a > b) // { // c = a; // } // else // { // c = b; // } int c = (a > b) ? a : b; printf("c = %d\n", c); end://标号 printf("end\n"); return 0; }
资料来源:传智播客 仅供学习研究
2_C语言中的数据类型 (九)逻辑运算符与if语句
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。