目录
1.关系运算符
使用关系运算符来比较两个数的大小关系:
- < 、<=、>、>=、(优先级相同,较高);
- ==、!=、(优先级相同,较低)。
关系运算符得到的值是逻辑值,只有真 或 假
2.关系表达式
用关系运算符将两边的变量、数据或者表达式连接起来,称之为关系表达式:
#include<stdio.h>
int main()
{
int a = 5, b = 3;
printf("%d\n",1 < 2);
printf("%d\n",a < b);
printf("%d\n",a <= b + 1);
printf("%d\n",'a' + 'b' <= 'c');//ASCII码 a、b、c分别对应数字97、98、99
printf("%d\n",(a=3)<(b=5));
return 0;
}
3.逻辑运算符
在C语言中,需要同时对两个或两个以上的关系表达式进行判断,此时需要用到逻辑运算符。
C语言总共提供了3种逻辑运算符:
运算符 | 含义 | 优先级 | 举例 | 说明 |
! | 逻辑非 | 高 | !a | 如果a为真,!a为假; 如果a为假,!a为真; |
&& | 逻辑与 | 中 | a&&b | 只有a和b同时为真,结果才为真; 只要a和b其中一个为假,结果为假; |
|| | 逻辑或 | 低 | a||b | 只要a和b其中一个为真,结果为真; 只有a和b同时为假,结果才为假; |
4.短路求值
- 又称为最小化求值,是一种逻辑运算符的求值策略。只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
- C语言对于逻辑与和逻辑或采用短路求值的方式。
#include<stdio.h>
int main()
{
int a = 3, b = 3;
(a = 0)&&(b = 5);
printf("a = %d,b = %d\n", a , b);
(a = 1)||(b = 5);
printf("a = %d,b = %d\n", a , b);
return 0;
}
5.if语句
-
if语句(1)
- if语句(1)
......//其它语句
if(表达式)
{
......//逻辑值为真所执行的语句、程序块
}
......//其它语句如果表达式为真,则执行大括号里的内容
#include<stdio.h>
int main()
{
int i ;
printf("您老贵庚:");
scanf("%d", &i);
if (i >= 18)
{
printf("进门左拐\n");
printf("天天开心\n");
}
return 0;
}
-
if语句(2)
- if语句(2)
......//其它语句
if(表达式)
{
......//逻辑值为真所执行的语句、程序块
}else
{
......//逻辑值为假所执行的语句、程序块
}
......//其它语句如果表达式为真,则执行第一个大括号里的内容;否则执行第二个大括号的内容
#include<stdio.h>
int main()
{
int i ;
printf("您老贵庚:");
scanf("%d", &i);
if (i >= 18)
{
printf("进门左拐\n");
printf("天天开心\n");
}
else
{
printf("请离开\n");
}
return 0;
}
-
if语句(3)
- if语句(3)
......//其它语句
if(表达式1)
{
......//逻辑值为真所执行的语句、程序块
}else if(表达式2)
{
......
}else if(表达式3)
{
......
}.
.
.
else if(表达式n)
{
......
}else
{
......
}
......//其它语句
做一个按分评级的程序:
——90分以上:A
——80~90分:B
——70~80分:C
——60~70分:D
——低于60分:E
#include<stdio.h> int main() { int i ; printf("请输入分数:"); scanf("%d", &i); if (i >= 90) { printf("A\n"); } else if(i >= 80 && i < 90) { printf("B\n"); } else if(i >= 70 && i < 80) { printf("C\n"); } else if(i >= 60 && i < 70) { printf("D\n"); } else { printf("E\n"); } return 0; }
6.switch语句
......//其它语句
switch(表达式)
{
case 常量表达式1:语句或程序块1; break;case 常量表达式2:语句或程序块2; break;
......
case 常量表达式n:语句或程序块n; break;
default: 语句或程序块n+1; break;
}
......//其它语句
#include <stdio.h>
int main()
{
char ch;
printf ("请输入成绩:")
scanf("%c, &ch");
switch(ch)
{
case 'A' : printf ("你的成绩在90分以上!\n"); break;
case 'B' : printf ("你的成绩在80~90之间!\n"); break;
case 'C' : printf ("你的成绩在70~80之间!\n"); break;
case 'D' : printf ("你的成绩在60~70之间!\n"); break;
case 'E' : printf ("你的成绩在60分以下!\n"); break;
default: printf("错误输入,请重新输入!"); break;
}
return 0;
}
(时隔很久的三更~)