2008年下半年软件考试因故推迟了,这未尝不是一件好事,对于那些准备还不够充分的考生来说,现在正是查漏补缺的好时机,本站为您整理了考前练习题,希望对您有所帮助,祝您考出好成绩!
1.若给fun函数的形参s传送字符串:"ㄩㄩ 6354abcc"(其中ㄩ表示空格字符),则函数的返回值是__________。
# include
long fun(char s[])
{ long n;int sign;
for(; isspace(*s); s++);
sign=(*s==’-’ )?-1:l;
if(*s==’+’ ||*s==’-’) s++;
for(n=0; isdigit(*s); s++) n=10*n+(*s-’0’);
return sign *n;
}
2.下面函数要求计算两个整数X、y之和,并通过形参Z传回该和值,请填空。
void add(int x,int y,________z)
{_________=x+ y; return;}
答案:
【解】函数fun的第一个for循环跳过字符串的前导空白符,接着分析第一个非空白符是否是负号,若是置变量sign为-1;否则,置变量sign为1。接着的if语句在第一个非空白字符是负号或正号时,跳过该字符。以后的for循环将后面的数字符当作十进制数的各位数字译出一个长整数n。遇字符a时,结束译数循环。最后,函数返回sign与n的乘积。所以若调用函数时提供的实参是"ㄩㄩ6354abc",函数返回值是整数6354。 3COME文档编辑
【解】函数希望通过形参z传送结果,形参z必须是指针类型的,由于返回整型结果,所以z的说明是int *z。函数返回前必须先把结果通过形参z间接引用(写成* z)传回。
3.阅读函数,写出函数的主要功能:
float av(a,n)
float a[];
int n;
{ int i; float s;
for(i=0,s= 0;i
return s/n;
}
【解】函数有一个数组形参a和一个整型形参n。函数首先用循环求数组a的前n个元素和,然后将和除以n。即求数组元素的平均值。
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/