如果正、负号运算符的优先级低于加、减号运算符,那么 -3 + 5 的值应该是多少?
答:-8,因为C语言规定优先级高的先进行运算,因此表达式是先计算 3 + 5 的和,再取负号。当然,这样的结果明显不符合逻辑,所以C语言规定正、负号运算符的优先级是高于双目的算术运算符的优先级。
请问下边程序会显示什么内容?
#include <stdio.h>
int main()
{
int a = 2, b = 1;
printf("%d\n", a / 'b');
return 0;
}
答:0,因为字符 'b' 对应的 ASCII 值为 98,a / 'b' == 2 / 98 == 0
如果不上机实验,你知道下边代码会输出什么吗?
#include <stdio.h>
int main()
{
int a;
(a = 2) + 3 * 4;
printf("a = %d\n", a);
return 0;
}
答:a = 2版权属于:
}3 o`5!2D]{u1~bZtL_9Ic)Y>r
如果不加小括号,那么变量 a 的值最终应该是 14 才对,因为赋值运算符的优先级要低于算术运算符,所以先计算,后赋值。[.@v3
但这里我们使用了优先级最高的小括号将赋值运算的过程括起来,因此先将变量 a 赋值为 2,再进行计算(计算结果不再赋值给变量 a)。
请写出下边表达式的值(如果结果为浮点数,请保留六位小数):
答:Powered by
A. 5 / 3 = 1 // 整型除以整型,结果为整型,直接舍弃小数8g4 yb3
B. 1 / 0 出错 // 除数不能为 0ji' =y3[
C. 1.2 + 3 = 4.200000 // 浮点型加整型,编译器会自动将“精度较小”的类型先转换为“精度较大”的类型,再进行运算,所以结果为浮点型 =>]Q,+
D. 1.2 * 0 = 0.000000 // 同上8R9dQ>~P
E. 6.0 / 2 = 3.000000 // 同上)j-dJ
F. 10 / 6.0 = 1.666667 // 结果为无限循环小数,小数点后第六位四舍五入[b|W.FVp
G. 3 / 5 = 0 // 同 A
下边代码中存在两处错误,请指出:
#include <stdio.h>
int main()
{
int a = (5 + 1.2) % 2;
printf("%d\n", a);
}
答:来自:
1. 求余运算符两边要求均为整型,5 + 1.2 的结果为浮点型;tnvNY)`W
2. printf() 函数后边的分号写成了中文的分号(;),大部分新手经常遇到这样错把中文符号当代码的问题,请重视!
下边代码是实现摄氏度转换为华氏度,公式没错,但结果却并不正确(输入 32 摄氏度,转换后正确的结果应该是 89.6 华氏度),请修改。
#include <stdio.h>
int main()
{
float fah, cel;
printf("请输入摄氏度:");
scanf("%f", &cel);
fah = 9 / 5 * cel + 32;
printf("转换为华摄度是:%.2f\n", fah);
return 0;
}
答:虽然公式是正确的,但代码中忽视了 9 / 5 的结果会舍弃小数,等于 1,所以得到的答案偏差比较大。W&?FMq[LtK
应该这么改:
#include <stdio.h>
int main()
{
float fah, cel;
printf("请输入摄氏度:");
scanf("%f", &cel);
fah = 9.0 / 5.0 * cel + 32;
printf("转换为华摄度是:%.2f\n", fah);
return 0;
}
“买房难,难于上青天……”(算了,不吐槽了o(╯□╰)o)
HVesb^w
new,R.S}6?NFfU5&b-O+@o
请根据下边的提示,写一个等额本息的还款计算器。swS;+5=z
S[kf:p!]R2*z&$bu(YUvBV.O`=XQ
小知识:
等额本息还款法,也称定期付息,即借款人每月按相等的金额偿还贷款本息,其中每月贷款利息按月初剩余贷款本金计算并逐月结清。
- 月均还款 = 贷款本金 * (月利率 * (1 + 月利率)^还款月数) / ((1 + 月利率)^还款月数 - 1)
- 总利息 = 还款月数 * 月均还款 - 贷款本金
- 贷款本金 = 房款总额 * 按揭成数
程序要求用户输入房屋单价、面积、按揭成数、按揭年数以及基准利率,然后计算并显示等额本息还款法需要偿还的房款总额、首期付款、贷款总额、支付利息以及每月需要还款多少各项数据。)?jR[
-cwheGL4n>)&x~A$0#r9F
程序实现如下:
有 10000 元,想存 5 年,分别求出以下三种方法存得的本息和:TX28k%Ip
- 一次性定期存 5 年;
- 先存 3 年定期,到期后本息再存 2 年定期;
- 存 1 年定期,到期后本息再存 1 年定期,连续存 5 次。
附:存款利率表
注:r 为年利率,n 为存款年数,则计算本息和的公式如下0k6V?s!vp$
- 1 年本息和的计算公式:P = 10000 * (1 + r)
- n 年本息和的计算公式:P = 10000 * (1 + r * n)
- n 次 1年的本息和的计算公式:P = 10000 * (1 + r)^n
Powered by
来自
BLXAq&<