工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1694|回复: 15

[面筋] 几个笔试题求解(C/C++类)

[复制链接]
发表于 2009-5-26 23:17 | 显示全部楼层 |阅读模式
本帖最后由 xdlrz 于 2009-5-27 17:25 编辑 ) a2 }. V$ f2 s6 T5 _- b
+ V' N# V  _8 g: L
86、已知一函数中有下列变量定义,其中属于自动变量的有()
5 a( G2 M: q3 P6 w5 a' PA、double k;4 X$ Z6 H6 y0 z: d  q
B、register int i;
$ P4 `8 K" ~1 Q, s& T; a/ S# g# hC、static char c;
7 ~. G2 I. w- \# j: WD、auto long m;, K, E. P. A2 Y! \' j0 G

; N% j! X; G5 |——我选了AD【D肯定是,A不知道对不对】
+ L; L6 ~" ^  n2 H5 p
0 }; P0 j9 p( K& V
/ x# |2 Q1 A8 q& z6 n87、下面的说明中,正确的函数定义有()8 a- p7 T9 |1 o9 E2 H
A、void f(void)
! X( C8 n1 {- ]8 R3 I& I9 c4 @B、void f(void){}/ X5 T9 o$ O0 R2 ]1 z0 S; I
C、f(int s){}+ h3 ?1 Z$ h1 J
D、f(int s){return s+1;}
# U, Q; }& v( g3 Y+ _& A" J7 t- rE、double f() {return 0.0;}4 Z& q& O: [* ^
F、double f(double d){cout<<d;}
! D& ^3 K0 V  I7 \& \# Q& O- X- i7 ]- ~7 h
——我选了BCDEF【CD没返回类型但是我记得构造函数可以这样,F里面有cout不知道可不可以】, O4 Q8 N. J  W8 w4 S0 b4 r

, _* V' v1 d) P! b) k: w
2 Q0 V% Z  L8 b0 `88、从下列函数原型看,返回值类型为int的函数有()) L8 I$ m. Q+ t
A、char F1(int n);' }% N$ N) f& P( V
B、int F2(char n);3 C1 K8 n- r; O4 |2 N
C、F3(int n);
! E' l$ |, S9 S# |7 p/ ^D、int *F4(int n);) `9 z+ i7 }/ a$ G6 K8 m8 L

' \! H; L! w. @3 D$ ]——我选了B【好似C也是对的,不确定】! o- w& H7 [/ Y# K
5 S0 [" }) H: U% ~
89、已知数组D的定义式int D[4][8];现在需要把这个数组作为实参传递给以个函数进行处理,下列说明
# D* B; o+ I9 A1 ~中可以作为对应的形参变量说明的有()' {$ {) j$ d, j* g$ `) \
A、int D[4][]) A2 s5 m6 y/ e4 N4 v+ h
B、int *s[8]$ ]+ n0 n+ V0 Y5 f4 H# y( L( t' W
C、int (*s)[8]
; ]2 u/ D, X- |9 s- n8 h; l7 w7 ]" ND、int D[][8]0 }) {4 Q4 e3 {! `; M0 V0 P

, Q' `4 t/ b; y' k——我选了CD【没把握,反正都按原题抄在草稿纸上带出来了】
发表于 2009-5-26 23:55 | 显示全部楼层
纯属路过
回复

使用道具 举报

发表于 2009-5-27 00:03 | 显示全部楼层
AD ,bde, bc, cd
回复

使用道具 举报

发表于 2009-5-27 00:11 | 显示全部楼层
87题:函数定义必须要有返回类型和以“{}”主体,
  N' D2 `1 I. I6 G6 E! t88题,,,倒。看都知道是哪个啦。。。
/ E! T9 P3 I) x& `% J7 A89.二维数组的传递:! x& _1 V5 Y) p9 B
你可以用数组名作为实参或者形参,在被调用func中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:
3 c# ~: a( n3 M% G1 [    void Func(int array[2][3]);
$ j' T& D5 r$ t: m; \1 k    void Func(int array[][3]);. J2 ]7 d' ?4 n& O3 W

4 O6 q# _4 c% M, T: n' t% c二者都是合法且等价,但是注意,不能把第二维或者更高维的大小省略) Q9 |! R- T8 {
或者你使用指针传递,然后指明size即可。
) C& g" q* E) k" Leg:void Func(int **array, int rowSize, int colSize);
回复

使用道具 举报

发表于 2009-5-27 00:13 | 显示全部楼层
LZ,你不会是笔试的时候不会做吧?要是的话我可要为你汗一把了。。。
回复

使用道具 举报

 楼主| 发表于 2009-5-27 17:15 | 显示全部楼层
87题:函数定义必须要有返回类型和以“{}”主体
8 M1 ^; z, j* ]4 k' X5 R3 _6 [zaijzhgh 发表于 2009-5-27 00:11

0 \7 a! D- z: X
" f* x6 R& R, f2 X构造函数、复制构造函数、析构函数不用返回类型
回复

使用道具 举报

 楼主| 发表于 2009-5-27 17:16 | 显示全部楼层
88题,,,倒。看都知道是哪个啦。。。
# J. l' D! R" F& J8 J5 czaijzhgh 发表于 2009-5-27 00:11

" c( Q+ Y. P) P! t/ m7 {1 x* W+ T) b/ X1 m# j
88、从下列函数原型看,返回值类型为int的函数有()- h' l) A1 ]# d& }/ R# l7 G: v# x
A、char F1(int n);9 _! m5 U/ _* ~4 G
B、int F2(char n);, h3 m" l- o/ ?1 L1 V/ h
C、F3(int n);
# c9 V9 t# u- q" a* B1 R4 {D、int *F4(int n);
. Q: f- D# f2 H1 s) G3 z/ c1 i# z
0 b5 U! Y! c" ]. ]+ S/ \( g我知道B肯定对,AD肯定错
1 C1 |# L6 T4 U5 a9 @' W; P/ d% T是不知道C对不对···选择是不定选的
回复

使用道具 举报

 楼主| 发表于 2009-5-27 17:20 | 显示全部楼层
89.二维数组的传递:1 R* u4 _# E$ c# K
0 `6 r% ]% r% f你可以用数组名作为实参或者形参,在被调用func中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:4 ]9 A# `) u: C9 X/ _& I( Q
* m0 D+ c8 s2 P! n  w) C    void Func(int array[2][3]);6 _' c2 C, s: j9 D& I
) W' T( h. Z' e& V! w) I    void Func(int array[][3]);
: j9 ]" Z  w( w& V& d二者都是合法且等价,但是注意,不能把第二维或者更高维的大小省略/ _- p) K* h6 M6 z, w. \: D$ Q5 ^, b- ^' R9 E1 }
或者你使用指针传递,然后指明size即可。9 H/ l8 }" B! Y5 _. Y" S4 {- n7 o  B) Y$ N- b
eg:void Func(int **array, int rowSize, int colSize);
6 ~+ g8 ]- T+ j' m" gzaijzhgh 发表于 2009-5-27 00:11
* p2 B; v) C+ P. ^0 g) @0 K
7 S- B/ x7 y) T
6 P9 ~, |* d4 m' }. l, u. [
89、已知数组D的定义式int D[4][8];现在需要把这个数组作为实参传递给以个函数进行处理,下列说明中可以作为对应的形参变量说明的有(): W  N2 u2 m1 X0 Q/ p
A、int D[4][]9 i0 @* e7 c: w2 C! I* Q& ^
B、int *s[8]3 g& _; \6 P, D, |
C、int (*s)[8]
! e% V, d8 ?' e- u6 T: d) QD、int D[][8]  Y5 F& W! S$ W# V% C  T& _2 x

" j/ i2 p+ n5 K& b6 f* ~1 W' J, L* B; h  O/ [9 f
——反正我选了CD
2 H) l! c$ I8 [# g  {' f如果是一维的,那很简单,如果数组时a[10],在实参传递a的话,我们形式参数可以是*a, 也可以是a[]# `( H- L/ J! `+ [" f( Y! y/ i
但是二维我以前没用过,不知道是不是CD那样?
回复

使用道具 举报

发表于 2009-5-27 19:14 | 显示全部楼层
89、& c9 {& N* E- b$ c& A% Z) i7 S/ g8 h
c是指向数组的指针; `, K; B' u6 W, J
d是二围指针
; X$ B+ ]) P9 L. _我也觉得是cd
回复

使用道具 举报

发表于 2009-5-27 23:24 | 显示全部楼层
构造函数、复制构造函数、析构函数不用返回类型$ G7 f9 x% p5 `
xdlrz 发表于 2009-5-27 17:15

, p1 h. e, L* ?( z) Q0 A+ P根据题目来说的嘛。。。它问的是返回类型的原型
( ^* H# S% H0 D5 M# d4 u/ K在早期C中,可以不用返回类型,好像默认返回类型为空。但是现在的编译器是不能这样的了。。。针对的是一般情况下的函数。构造函数之类除外。
回复

使用道具 举报

发表于 2009-5-27 23:30 | 显示全部楼层
默认是 int
回复

使用道具 举报

发表于 2009-5-27 23:35 | 显示全部楼层
声明有返回值的函数也可以没有 return语句(在某些时候写代码会遇到这样的警告,xxx 被声明为int但没返回值)
回复

使用道具 举报

发表于 2009-5-28 00:10 | 显示全部楼层
默认是不是int跟编译器有关。如果是我回答,没有指定类型的我不会选。
回复

使用道具 举报

发表于 2009-5-28 00:24 | 显示全部楼层
如果是f(int s){}的话,我就觉得不应该选。
1 w$ X; v- g' X3 j6 r+ Y如果碰到个默认返回int的编译器的话,至少会给你一个warning吧?
回复

使用道具 举报

 楼主| 发表于 2009-5-28 10:06 | 显示全部楼层
如果是f(int s){}的话,我就觉得不应该选。6 M8 M3 Q. m$ x4 _# a
如果碰到个默认返回int的编译器的话,至少会给你一个warning吧?' o0 R1 w7 n; J1 C
gyCai 发表于 2009-5-28 00:24
+ d4 a+ R' Z" A
; ~7 `" S! N: O) }
8 H* k0 }# ?8 b/ s$ P- q; i7 g) i8 J1 N
如果是+ ^- i1 {. T" B0 i" \
class f" j. x( C" f9 T
{4 q3 X3 t3 K% z0 G! Y
public:0 o3 Y. `5 K3 Y  U: y5 F8 C& z. @
    f(int s){}' s. B7 e) w2 t- k
};, t* v+ F6 `$ l/ v
就不会警告呀
回复

使用道具 举报

发表于 2009-5-30 23:01 | 显示全部楼层
看不懂了,你要加油!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-8-15 22:56

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表