C语言中!y与y!的区别

Python049

C语言中!y与y!的区别,第1张

!y是逻辑表达式,!是前缀一元操作符逻辑非,对于非零操作数结果为0,否则结果为1。这里如果y等于0那么!y等于1,如果y不等于零那么!y等于0。单独的y!不是C语言的合法表达式,因为C没有后缀一元操作符!。在数学中,若y是非负整数,则!表示阶乘,有如下定义:0!=1,x!=(x-1)!·x(x是正整数),即x!=1·2·3·...·x。

====

[原创回答团]

Y||y中,“||”表示逻辑操作符(或),所以意思是大写的Y或者小写的y。

“||”表示逻辑操作符(或),它的操作数是布尔型,即只有“0”(表示false)和“1”(表示true)两个数值。C语言规定,在逻辑运算中,所有非0的数值都被看成1处理。

布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非0,则其布尔型值为真。布尔型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。

1 、double类型的输入格式是%lf,不是%f,%f是float的格式

2、结构最好用if-else if-else

3、if(1<=x<3)改为else if(1<=x&&x<3)

4、都加上大括号限定一下:

5、公式错误

#include<stdio.h>

#include<math.h>

int main()

{

double x, y

printf("请输入一个数\n")

scanf("%lf", &x)

if (x < 1){

y = 8 * pow(x, 5) + 56 * pow(x, 4) +54*pow(x,3)+ 47 * pow(x, 2) + 83 * x + 24

printf("y=%.2f\n", y)

}

if (1<= x&&x < 3){

y = 41 * pow(x, 8) + 5 * pow(x, 6) + 4 * pow(x, 4) + 422 * pow(x, 2) + 8 * x + 4

printf("y=%.2f\n", y)

}

else if (x >= 3){

y = 21 * pow(x, 4) + 5 * pow(x, 3) + 4 * pow(x, 2) +42*x+ 77

printf("y=%.2f\n", y)

}

return 0

}