0. 请问下边代码将打印多少个 'A'?
答:十个,外层循环只执行一次。
1. 请问下边代码会打印多少个 'B'?
答:i++是后加一,也就是while会先判断i是0进不去循环,所以不会打印B,要验证的话可以
<code>
...
while(i++||printf("i=%d",i));
...
</code>
2. 请写出表达式 a = b = c = 5 中的"l-value"?
答:a
3. 请问表达式 a = (b = 3, 4, c = b++ + 5, ++c + ++b); 执行后,整型变量 a、b、c 的值是?
答:先执行b=3,然后执行c=b++ + 5,b++是后加一,也就是说此时c=3+5=8,然后b再加一为4,
然后再执行++c + ++b,++在前面是变量先加一再进行四则运算则是c为9,b为5之后再相加得到a为14,
综上所述:a为14,b为5,c为9.
4. 请使用条件运算符求出变量 x 的绝对值,并存放到变量 z 中。
答:z=a<0?-a:a
5. C 语言其实在大部分情况下不使用 goto 语句也能做得很好,请尝试将下列代码段写成不带 goto 语句的版本。
答:A:...
if (size > 12)
{
cost = cost * 1.05;
flag = 2;
}else{
bill = cost * flag;
}
...
B:...
if (ibex > 14)
{
sheds = 3;
}else{
sheds = 2;
help = 2 * sheds;
}
...
C:...
do{
scanf("%d", &score);
count++;
}while(!(score < 0))
printf("count = %d\n", count);
...
0:
答:[code]
#include <stdio.h>
#include <math.h>
//单利息即每年的利息均为投资额 * 利率;复合利息则是每年的本息所得作为第二年的投资额。
int main(){
float xjy_bj = 10000, hy_bj = 10000,hy_lx = 0.00;
float sum1 = 0,sum2 = 0;
int year = 0;
while(1){
year++;
sum1 = xjy_bj * 0.1 * year ;
sum2 = hy_bj * pow((1 + 0.05),year) - hy_bj;
if(sum2 > sum1){
printf("%d年后黑夜手头上的Money才会超过小甲鱼!\n",year);
printf("此时小甲鱼手上的钱%.2f元!\n",xjy_bj + sum1);
printf("此时黑夜手上的钱%.2f元!",hy_bj + sum2);
break;
}
}
return 0;
}
1.答:#include <stdio.h>
#include <math.h>
int main(){
float xjy_zje = 4000000,sum = 0;
int year = 0;
while(1){
year ++;
sum += xjy_zje * 0.08 ;
xjy_zje += xjy_zje * 0.08 - 500000;
if(xjy_zje <= 0 ){
printf("%d年之后,小甲鱼败光了所有家产,再次回到一贫如洗!",year);
break;
}
}
return 0;
}
|