全国软件专业人才设计与开发大赛题目样例 — c 语言
1. 单选样例
int k = x>y? (x>z?x:z) : (y>z?y:z) 语句的目的是:
(A) 求 x, y, z 最大值
(B) 求 x, y, z 最小值
(C) 求 x, y, z 中间值
(D) 求 x, y, z 平均值
答案:A
定义:char p[20]; 则,&p, p, &p[0] 的区别是:
(A) &p, &p[0] 不能作为左值变量,而 p 可以。
(B) 它们所表达的数值不同。
(C) p 在栈中,而 p[0]在堆中
(D) 没有区别
答案:D
2. 多选样例
如何让一个函数返回大量的数据?
(A) 使用公开的静态空间
(B) 定义大量的形参
(C) 让被调函数申请空间并返回该指针,主调函数用后负责释放该空间。
(D) 让主调函数申请空间并传入该指针,被调函数用后负责释放空间。
(E) 让主调函数传入指向指针的指针。
答案:A, C, E
3. 程序填空题样例
如果只提供加减乘除的基本运算能力,你能实现求平方根吗?可以的!先随便猜
一个根,用它试除目标数字,如果结果恰好等于所猜的数,则问题解决。否则用结果与所
猜的数字的平均值再去试除….
假设待开方的数字为 double a;
double t = a / 2 ;
double t2;
for(;;){
t2 = a / t;
if(fabs(t-t2)<0.001) break;
t = _________;
}
答案: (t+t2)/2
第 1/3 页