首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下技术说明、流程图和C程序,根据要求回答问题1和问题2。 【说明】 如图6-13所示的程序流程图描述了对8位二进制整数求补的算法。该算法的计算过程如下:从二进制数的低位(最右位)开始,依次向高位逐位查看,直到首次遇到“1”时,停止查看。然
阅读以下技术说明、流程图和C程序,根据要求回答问题1和问题2。 【说明】 如图6-13所示的程序流程图描述了对8位二进制整数求补的算法。该算法的计算过程如下:从二进制数的低位(最右位)开始,依次向高位逐位查看,直到首次遇到“1”时,停止查看。然
admin
2009-02-15
65
问题
阅读以下技术说明、流程图和C程序,根据要求回答问题1和问题2。
【说明】
如图6-13所示的程序流程图描述了对8位二进制整数求补的算法。该算法的计算过程如下:从二进制数的低位(最右位)开始,依次向高位逐位查看,直到首次遇到“1”时,停止查看。然后,对该“1”位左面的更高位(如果存在的话),逐位求反,所得的结果就是对原二进制数求补的结果。例如:对二进制整数10010110求补的结果时01101010。
设8位二进制整数中的各位,从低位到高位,依次存放在整型数组BIT的BIT[1]~BIT[8]中。例如,二进制整数10010110存放在数组BIT后,则有BIT[1]=0,BIT[2]=1,…,BIT[7]=0,BIT[8]=1。若流程图中存在空操作,则用NOP表示。
以下待修改的【C程序】完成的功能是:对于给定的1个长正整数,从其个位数开始,每隔一位取1个数字(即取其个位、百位和万位等数字),形成1个新的整数并输出。例如,将该程序修改正确后,运行时若输入“9753186420”,则输出的整数为“73840”。
【C程序】
行号 C代码
01 #include <stdio.h>
02 int main()
03 { long n,num;
04 int i;
05 do {
06 printf("请输入一个正整数:");
07 scanf("%1d",n);
08 }while(n<=0);
09 k = 1;
10 for (i=1;n>=0;i++) {
11 if (i%2=1) {
12 num = num + (n%10)*k;
13 k = k*10;
14 }
15 n = n/10;
16 }
17 printf("新数据为:%d\n",num);
18 return 0;
19 }
选项
答案
(1)i:1,1,8 (2)1→sw (3)0→BIT[i] (4)NOP,或空操作 (5)1→BIT[i]
解析
由于题目中给出了对8位二进制整数求补的算法,并且指明将8位二进制整数中的各位,从低位到高位,依次存放在整型数组BIT的BIT[1]~BIT[8]中,因此,循环控制变量的初值应该为1(从二进制数中的最低位开始)、终值为8(二进制数中的每一位都要检查)、增量为1(每次检查1位),按照“循环变量名:循环初值,增量,循环终值”格式描述,则(1)空缺处所填写的内容为“i:1,1,8”。0
由题目中给出的算法可知,从最右位开始向左找到的第一个“1”及其右边的各位是不取反的,因此需要一个标志,sw起的就是这个作用。由于SW的初始值为0,因此在找到从右边数的第1个“1”之前,当BIT
等于“0”且SW=O时,则说明这些二进制位无须取反,对应于流程图的(4)空缺处的操作应为空操作(即NOP)。
当某个BIT
的值等于“1”且SW的值等于0,则说明找到了从右边数的第1个“1”,此时应将SW的值置为非“0”,因此流程图中(2)空缺处的操作要对SW置1,即该空缺处所填写的内容是“1→sw”。
最后,应将其余各位取反,即BIT
等于1时,要在流程图的(3)空缺处将其置0(即0→BIT
);反之,则要在流程图的(5)空缺处将其置1(即1→BIT
)。
转载请注明原文地址:https://kaotiyun.com/show/pEjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel中,若A1单元格的值为5,在B1单元格输入函数“=A1-10”,则B1单元格的值为______。
若要查询成绩为70-80分之间(包括70分,不包括80分)的学生的信息,以下查询准则设置正确的是()。
计算机网络有多种分类方法,下列叙述中不正确的是(15)。
可以将数据划分成有序数据和无序数据两类。以下几种数据中属于无序数据的是______。
社会问卷调查是一种常见的调查方法。设计问卷的注意事项中不包括(31)。
在PowerPoint2007中,若想在一屏内观看多张幻灯片的大致效果,可采用的方法是(52)________________。
为在Excel2010的A1单元格中生成一个60到100之间的随机数,则应在A1单元格中输入________________。
操作系统的资源管理功能不包括________________。
在Windows7中,磁盘文件类型可以根据______来识别。
在Word编辑状态下,有些英文单词或汉字下面会自动加上红色或绿色的波浪型细下划线。以下叙述中,“波浪型细下划线(44)”是错误的。
随机试题
腰上三角
委托人应当偿还()垫付的费用及其利息。
下列选项中,属于前列腺增生特点的是
抗心律失常药奎尼丁、利多卡因、普萘洛尔共有的电生理作用正确的是
可散瞳的药物是()
关于臀位,正确的是
皮革制急救药箱
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。()
Whydidthemanmakeaphonecall?
A、Forgivingoneselfisnotasbeneficialasforgivingothers.B、Thehealthbenefitofforgivenessvariesbysex.C、Thehealthbe
最新回复
(
0
)