需要用c语言编写除法表达式

需要用c语言编写除法表达式,c,codeblocks,C,Codeblocks,如何在c语言中定义此类表达式: x+(x^2)/(2*2-1) 其中,x是实数 我试图按原样输入表达式,但没有用 问题是我不想使用任何自定义函数,只想使用循环 有什么想法吗 在C中,^是按位异或运算符。没有操作员的“权力” 因此C等价物如下所示: x+(x*x)/(2*2-1) 运算符优先级与数学相同,因此请注意,上面的运算符优先级等同于 x + ( (x*x) / ((2*2)-1) ) 如果您需要一个变量“将x提升到y的幂”,不幸的是,只有pow()函数可以处理浮点变量,因此有点臃肿和

如何在c语言中定义此类表达式:

x+(x^2)/(2*2-1)
其中,
x
是实数

我试图按原样输入表达式,但没有用

问题是我不想使用任何自定义函数,只想使用循环


有什么想法吗

在C中,
^
是按位异或运算符。没有操作员的“权力”

因此C等价物如下所示:

x+(x*x)/(2*2-1)
运算符优先级与数学相同,因此请注意,上面的运算符优先级等同于

x + ( (x*x) / ((2*2)-1) )

如果您需要一个变量“将x提升到y的幂”,不幸的是,只有
pow()
函数可以处理浮点变量,因此有点臃肿和低效。但是,编写自己的整数版本很简单。

首先,在代码中,您必须为显示所需结果奠定基础。在c代码中键入表达式“原样”对您没有任何帮助。下面是一个简单c程序的示例,它将执行您想要的操作:

#include <stdio.h>

int main (void) {
int x, result;
x = 10; // x is 10 for this example, but you may assign any number where both x and result are within the range of integers
result = x + ( x * x ) / ( 2 * 2 - 1 );
printf("The result is : %d", result);
return 0;
}
#包括
内部主(空){
int x,结果;
x=10;//x在本例中为10,但您可以指定x和result都在整数范围内的任何数字
结果=x+(x*x)/(2*2-1);
printf(“结果是:%d”,result);
返回0;
}
这里的要点是:

  • c编程中的^2并不代表计算能力,它是 而是按位异或
  • 通过基础数学,a^2可以简化为a*a
  • 要用c语言计算一个数字,你需要实际计算它,而不仅仅是 计算它(例如printf语句将它打印到 运行程序的控制台(在我的示例中)

  • “/”运算符是表示除法的正确运算符。你说“那没用”是什么意思?您得到了什么错误?可能运算符错误是带“^”的?在C中,插入符号
    ^
    是按位异或运算符,它只能对整数类型进行操作。没有幂运算符,但您可以将x²计算为
    x*x
    ,或使用
    中的
    pow(x,2)
    。感谢您指出这一点,这也是我所寻找的部分内容