《C Primer Plus》6.15 复习题

6.15 复习题

1.写出执行完下列各行后quack的值是多少。后5行中使用的是第1行quack的值。

int quack = 2;
quack += 5;//7
quack *= 10;//70
quack -= 6;//64
quack /= 8;//8
quack %= 3;//2

2.假设value是int类型,下面循环的输出是什么?

for (int value = 36; value > 0; value /= 2)
printf("%3d", value);
/*
output:
 36 18  9  4  2  1
*/

如果value是double类型,会出现什么问题?
如果value是double类型,即使value小于1,循环的测试条件仍然为真。循环将一直执行,直到浮点数下溢生成0为止。另外,value是double类型时,%3d转换说明也不正确。

3.用代码表示以下测试条件:
a.大于5 //x>5
b.读取一个名为 的类型值且失败 //scanf(“%lf”,&x)!=1
c.X的值等于5 // x==5

4.用代码表示以下测试条件:
a.成功读入一个整数 //scanf(“%d”,&x)==1
b.不等于 //x!=5
c.大于或等于 //x>=5

5.下面的程序有点问题,请找出问题所在。

#include <stdio.h> 
int main(void)
{
                     /* 第3行 */
int i, j, list(10);       /* 第4行 */
for (i = 1, i <= 10, i++)    /* 第6行 */
{
                   /* 第7行 */
list[i] = 2*i + 3;      /* 第8行 */
for (j = 1, j > = i, j++)  /* 第9行 */
printf(" %d", list[j]); /* 第10行 */
printf("\n");        /* 第11行 */
}                  /* 第12行 */
//改正后
#include <stdio.h> 
int main(void)
{
                     /* 第3行 */
int i, j, list[10];       /* 第4行 */
for (i = 0; i < 10; i++)    /* 第6行 */
{
                   /* 第7行 */
list[i] = 2*i + 3;      /* 第8行 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值