问题 填空题

下面程序段的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其他以此类推。
#include
main(int x,int b[])
int k=0,r,i;
scanf("%d",x);
do
r=x%2;
b[______]=r;/*第一空*/
x/=2;
while(______);/*第二空*/
for(______);i>=0;i--)/*第三空*/
printf("%d",b[i]);

答案

参考答案:k++/*第一空。将余数r赋值给数组元素b[k]并使k自加1,为下一次循环做准备*/
x/*第二空。当x=0时则终止循环。当算术运算获得的值小于1时,变量将被赋于0值*/
i=k-1/*第三空。在循环体内最高位获值后,k又自加1一次;故输出时需将k的值减1以使第一次输出能正确地输出最高位的值*/

单项选择题 A1/A2型题
单项选择题