齐乐娱乐在线 > 复习指导 > 2015年自考“高级语言程序设计”习题答案详解(36)
2014
10-30

2015年自考“高级语言程序设计”习题答案详解(36)

2015年自考“高级语言程序设计”习题答案详解(36) 7.函数my_cmp()的功能是比较字符串s和t的大小,当S等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s t时返回正值,当s T时返回负值。请填空。
my_cmp( char *s, char * t)
{while(*s==* t)
{ if(*s==‘’) return 0 ;
++s;++t;
}
return____________;
}
「解」两字符串大小比较必须从它们的首字符开始,在对应字将相等情况下循环,直至不相等结束。相等时,老字符率已到了字符串的结束标记符,则两字符率相同,函数退回0值;如还有后继字符,则准备比较下一对字符。对应字符不相同,循环结束。循环结束时,就以两个当前字符的差返回。所以在空框处应填入*s-*t,保证在s t时返回正值,当s T时返回负值。
6.3 程序分析题
1.阅读函数,写出函数的主要功能:
ch(int *p1,int *p2)
{ int p;
if(*pl *p2) { p=* pl;*pl=*p2;* p2=p; }
}
「解」函数办有两个指针形参p1和p2,函数体通过*pl和*p2间接引用它们所指变量。当pl所指变量的位大于p2所指变量的值时,交换两形参所指变量的值。所以函数的功能当形参1所指变量比形参2所指变量的值大时,交换这两个变量的值。调用该函数能保证形参1所指变量的值不大于形参2所指变量的值。
2.阅读函数,写出函数的主要功能:
float av(a,n)
float a[];
int n;
{ int i; float s;
for(i=0,s= 0;i N;I++) S=S+A[I];
return s/n;
}
「解」函数有一个数组形参a和一个整型形参n.函数首先用循环求数组a的前n个元素和,然后将和除以n.即求数组元素的平均值。
3.阅读下面程序,写出运算结果。
unsigned fun6( unsigned num)
{ unsigned k=l;
do { k*= num;num/=10;}
while(n) ;
return k;
}
main()
{ unsigned n=26;
printf(“%d\n”, fun6(n));
}
「解」函数有一个形参num,循环前变量 k置 1,循环中,表达式num是取num的个位,将num的个位值累乘于k中,然后num除以10.循环直至num为0结束,这是逐一求出num十进制表示的各位数字,并累乘于变量k的循环。函数最后返回k.函数fun6的功能是求整数的各位十进数字积。所以程序输出12.
最后编辑:
作者:齐乐娱乐在线