xdlrz 发表于 2009-5-26 23:17

几个笔试题求解(C/C++类)

本帖最后由 xdlrz 于 2009-5-27 17:25 编辑

86、已知一函数中有下列变量定义,其中属于自动变量的有()
A、double k;
B、register int i;
C、static char c;
D、auto long m;

——我选了AD【D肯定是,A不知道对不对】


87、下面的说明中,正确的函数定义有()
A、void f(void)
B、void f(void){}
C、f(int s){}
D、f(int s){return s+1;}
E、double f() {return 0.0;}
F、double f(double d){cout<<d;}

——我选了BCDEF【CD没返回类型但是我记得构造函数可以这样,F里面有cout不知道可不可以】


88、从下列函数原型看,返回值类型为int的函数有()
A、char F1(int n);
B、int F2(char n);
C、F3(int n);
D、int *F4(int n);

——我选了B【好似C也是对的,不确定】

89、已知数组D的定义式int D;现在需要把这个数组作为实参传递给以个函数进行处理,下列说明
中可以作为对应的形参变量说明的有()
A、int D[]
B、int *s
C、int (*s)
D、int D[]

——我选了CD【没把握,反正都按原题抄在草稿纸上带出来了】

heizixiong 发表于 2009-5-26 23:55

纯属路过

jacklam200 发表于 2009-5-27 00:03

AD ,bde, bc, cd

zaijzhgh 发表于 2009-5-27 00:11

87题:函数定义必须要有返回类型和以“{}”主体,
88题,,,倒。看都知道是哪个啦。。。
89.二维数组的传递:
你可以用数组名作为实参或者形参,在被调用func中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:
    void Func(int array);
    void Func(int array[]);

二者都是合法且等价,但是注意,不能把第二维或者更高维的大小省略
或者你使用指针传递,然后指明size即可。
eg:void Func(int **array, int rowSize, int colSize);

zaijzhgh 发表于 2009-5-27 00:13

LZ,你不会是笔试的时候不会做吧?要是的话我可要为你汗一把了。。。

xdlrz 发表于 2009-5-27 17:15

87题:函数定义必须要有返回类型和以“{}”主体
zaijzhgh 发表于 2009-5-27 00:11 https://www.gdutbbs.com/images/common/back.gif

构造函数、复制构造函数、析构函数不用返回类型

xdlrz 发表于 2009-5-27 17:16


88题,,,倒。看都知道是哪个啦。。。
zaijzhgh 发表于 2009-5-27 00:11 https://www.gdutbbs.com/images/common/back.gif

88、从下列函数原型看,返回值类型为int的函数有()
A、char F1(int n);
B、int F2(char n);
C、F3(int n);
D、int *F4(int n);

我知道B肯定对,AD肯定错
是不知道C对不对···选择是不定选的

xdlrz 发表于 2009-5-27 17:20


89.二维数组的传递:
0 `6 r% ]% r% f你可以用数组名作为实参或者形参,在被调用func中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:4 ]9 A# `) u: C9 X/ _& I( Q
    void Func(int array);6 _' c2 C, s: j9 D& I
    void Func(int array[]);
二者都是合法且等价,但是注意,不能把第二维或者更高维的大小省略/ _- p) K* h6 M6 z, w. \: D$ Q
或者你使用指针传递,然后指明size即可。9 H/ l8 }" B! Y5 _. Y
eg:void Func(int **array, int rowSize, int colSize);
zaijzhgh 发表于 2009-5-27 00:11 https://www.gdutbbs.com/images/common/back.gif


89、已知数组D的定义式int D;现在需要把这个数组作为实参传递给以个函数进行处理,下列说明中可以作为对应的形参变量说明的有()
A、int D[]
B、int *s
C、int (*s)
D、int D[]


——反正我选了CD
如果是一维的,那很简单,如果数组时a,在实参传递a的话,我们形式参数可以是*a, 也可以是a[]
但是二维我以前没用过,不知道是不是CD那样?

Coolneed 发表于 2009-5-27 19:14

89、
c是指向数组的指针
d是二围指针
我也觉得是cd

zaijzhgh 发表于 2009-5-27 23:24



构造函数、复制构造函数、析构函数不用返回类型
xdlrz 发表于 2009-5-27 17:15 https://www.gdutbbs.com/images/common/back.gif
根据题目来说的嘛。。。它问的是返回类型的原型
在早期C中,可以不用返回类型,好像默认返回类型为空。但是现在的编译器是不能这样的了。。。针对的是一般情况下的函数。构造函数之类除外。

iptton 发表于 2009-5-27 23:30

默认是 int

iptton 发表于 2009-5-27 23:35

声明有返回值的函数也可以没有 return语句(在某些时候写代码会遇到这样的警告,xxx 被声明为int但没返回值)

gyCai 发表于 2009-5-28 00:10

默认是不是int跟编译器有关。如果是我回答,没有指定类型的我不会选。

gyCai 发表于 2009-5-28 00:24

如果是f(int s){}的话,我就觉得不应该选。
如果碰到个默认返回int的编译器的话,至少会给你一个warning吧?

xdlrz 发表于 2009-5-28 10:06

如果是f(int s){}的话,我就觉得不应该选。
如果碰到个默认返回int的编译器的话,至少会给你一个warning吧?
gyCai 发表于 2009-5-28 00:24 https://www.gdutbbs.com/images/common/back.gif


如果是
class f
{
public:
    f(int s){}
};
就不会警告呀

ophelia1022 发表于 2009-5-30 23:01

看不懂了,你要加油!
页: [1]
查看完整版本: 几个笔试题求解(C/C++类)