引例
例4.1
代码#include<stdio.h>
#include<math.h>
int main() {
int a, b, c;
float area;
double s;
printf("请输入三角形的三条边长:");
scanf_s("%d,%d,%d", &a, &b, &c);
s = (a + b + c) / 2.0;
if (a + b <= c || a + c <= a || a + c <= b) {
printf("不构成三角形\n");
}
else {
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("三角形的面积是:%f", area);
}
return 0;
}
运行结果
流程图
例4.2
代码
#include<stdio.h>
int main() {
int x;
float y;
printf("输入x的值:");
scanf_s("%d",&x);
if (x!=0) {
y = 1.0 / x;
}
else {
y = 0;
}
printf("%d,%f",x,y);
return0;
}
流程图
运行结果
关系运算符、逻辑运算符、条件运算符
1.关系运算符
关系运算符用于判断两个操作数的大小关系。
2.关系表达式
用关系表达式将两个表达式连接起来的式子称为关系表达式。
例4.3
代码#include<stdio.h>
int main() {
char c = 'm';
int i = 10, j = 20, k = 30;
float x = 13e+5, y = 10.85;
printf("%d,%d,",'a'+5<c,-i-2*j>=k+1);
printf("%d,%d,", 1<j<5,x-5.25<=x+y);
printf("%d,%d,", i+j+k==-2*j,k==j==i+5);
return 0;
}#include<stdio.h>
int main() {
char c = 'm';
int i = 10, j = 20, k = 30;
float x = 13e+5, y = 10.85;
printf("%d,%d,",'a'+5<c,-i-2*j>=k+1);
printf("%d,%d,", 1<j<5,x-5.25<=x+y);
printf("%d,%d,", i+j+k==-2*j,k==j==i
运行结果
流程图
逻辑运算符和逻辑表达式
1.逻辑运算符
&&和||都是双目运算符!为单目运算符
2.逻辑表达式
将两个表达式连接起来的式子称为逻辑表达式
真或假既为1或0
例4.5
代码#include<stdio.h>
int main() {
int a = 3, b = 3, c = 2, d;
printf("%d,",!a&&!b&&c);
printf("%d,",!a||!b||c);
printf("%d\n",a>=b&&b>c);
d = c-- || (b = 6) && a++;
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
return 0;
}
运行结果