试题一(15分,每空3分) 阅读以下说明和流程图,回答问题1至问题2将解答填入答题纸的对应栏内。 [说明] 设8位二进制代码 B0B1...B7中的最高位B0为奇偶校验位。对于任何给定的代码B1B2...B7,可按下式计算偶校验位: B0= B1⊕B2⊕…⊕B7 其中," "表示"异或"运算。 下面的流程图描述了计算偶校验位的过程。 [流程图]
注:流程图,循环开始的说明按照"循环变量名:循环初值,循环终值,增量"格式描述。 [问题1] 将流程图中的(1)~(4)处补充完整。 [问题2] 若按下式计算奇校验位,则上述流程图中的(1)处应填(5) 。 B0= B1⊕B2⊕…⊕B7⊕1
试题二(15,每空3分) 阅读以下函数说明和C语言函数,将应填入___(n)___处的字句写在答题纸的对应栏内。 [函数2.1说明] 函数int funl (int m, int n)的功能是:计算并返回正整数m和n的最大公约数。 [函数2.1] int funl (int m, int n) { while (___(1)___){ if(m﹥n) m=m-n; else n= n-m; } ___(2)___; } [函数2.2说明] 函数long fun2(char*str)的功能是:自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数(最多8位)。 例如,若字符串str的值为"f3g8d5.ji2e3p12fkp",则函数返回值为3852312。 [函数2.2] long fun2(char *str) { int i=0; long k=0; char *p=str ; while (*p != '/0'&& (3) ) { if(*p ?='0'&& *p ?='9'){ k=___(4)___+*p-'0'; ++i; } ___(5)___; } Return k; }
|