2005年上半年程序员下午试题
试题一至试题三是必答题
试题一(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的值为\则函数返回值为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)___;
2005年上半年程序员下午试题



