|
发表于 2021-7-19 00:55:10
|
显示全部楼层
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;
- }
复制代码
|
|