若有定义:int e=1,f=4,g=2; float m=10.5,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是
时间: 2024-04-05 20:29:11 浏览: 66
根据运算符的优先级和结合性,计算赋值表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m的步骤如下:
1. 先计算括号内的加法运算:e+f=1+4=5
2. 再将5除以g:5/2=2(整数除法,结果取整数部分)
3. 计算sqrt((double)n)的值:sqrt(4.0)=2.0
4. 将2.0乘以1.2:2.0*1.2=2.4
5. 将2除以g:2/2=1
6. 将m、2和2.4相加:10.5+2+2.4=14.9
因此,赋值表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m的结果是k=14.9。
相关问题
int e=1,f=4,g=2; float m=10.5,n=4.0,k; k=(e+f)/g+sqrt((double)n)1.2/g+m printf("");
这段代码存在语法错误,应该加上分号结束语句,并且在printf函数中应该填入要输出的内容。正确的代码应该是这样的:
```
#include <stdio.h>
#include <math.h>
int main() {
int e=1, f=4, g=2;
float m=10.5, n=4.0, k;
k = (e + f) / g + sqrt((double)n) * 1.2 / g + m;
printf("k = %f", k);
return 0;
}
```
运行结果是:
```
k = 18.900002
```
这是因为在计算时浮点数存在精度误差。
有定义:int a=10,b=5,以下不合法的c语言程序
以下是一些不合法的 C 语言程序:
1. 缺少分号:
```
int a = 10
int b = 5
```
2. 缺少变量类型:
```
a = 10;
b = 5;
```
3. 变量名不合法(包含非法字符):
```
int a# = 10;
int b$ = 5;
```
4. 变量名重复:
```
int a = 10;
int a = 5;
```
5. 变量名与关键字重复:
```
int int = 10;
int float = 5;
```
阅读全文