找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1902|回复: 15

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

[复制链接]
发表于 2009-5-26 23:17 | 显示全部楼层 |阅读模式
本帖最后由 xdlrz 于 2009-5-27 17:25 编辑   ^2 h7 ?/ ~% ^6 t
2 M1 t" t% e0 b! I; Z  V5 s2 Z0 n
86、已知一函数中有下列变量定义,其中属于自动变量的有()
5 P: g( u2 i* h! b1 N  l' N- CA、double k;
3 e: ?% S1 c, V, g! f& pB、register int i;
) F+ F! T! q* ?: k9 dC、static char c;
& o8 h# K" \% Z9 t+ ]' O) JD、auto long m;
- |% Y* f& Q% ]9 c  F% O+ {$ ?
# G1 R% g# f5 V6 W9 m4 ]——我选了AD【D肯定是,A不知道对不对】
* u0 K" `) D* u9 M5 S3 X
; U, ^0 ]' ~1 s, U! V$ t* Q9 ]4 J' q" W  y, k% @
87、下面的说明中,正确的函数定义有()& [  {9 u# i. m5 z' w
A、void f(void)
) H8 v4 e5 t% I2 d! c( oB、void f(void){}/ E) r! Y/ B& Y- G- B5 `/ M
C、f(int s){}
; o1 K! P9 [) k3 T. B$ x' y& LD、f(int s){return s+1;}2 u: }. D6 K- A2 \  o( F( L' Y# A% z& E
E、double f() {return 0.0;}. L( |# w+ G0 u
F、double f(double d){cout<<d;}  W- g  w# T3 z

5 ~* ?# S. ~) ?7 T; P" f' W——我选了BCDEF【CD没返回类型但是我记得构造函数可以这样,F里面有cout不知道可不可以】( @8 m9 l! J  }% [6 x
7 \; [. P5 `) ~# h

- j+ [- G  W+ S% r* o7 u88、从下列函数原型看,返回值类型为int的函数有(), N% @$ y/ m7 ]3 M
A、char F1(int n);6 n& _+ F+ a% {$ N
B、int F2(char n);
$ i3 M" R' w9 l8 B# P  sC、F3(int n);- W" R  |8 y5 j6 m5 o
D、int *F4(int n);
) q3 q* X4 |% v' V0 j7 c( |4 f' _9 c/ A! z" J0 l# [( F% g
——我选了B【好似C也是对的,不确定】$ L; B8 ~+ p! m6 {; r, g

+ U0 J1 u% o. @89、已知数组D的定义式int D[4][8];现在需要把这个数组作为实参传递给以个函数进行处理,下列说明
6 b5 ^3 x; Z3 [0 ^( F  c中可以作为对应的形参变量说明的有()
9 t# ~8 V8 b7 k9 |A、int D[4][]
+ ]# z" g8 @- J$ p2 K% y, b0 NB、int *s[8]8 \3 q% `/ ]+ L. A* @) V" g
C、int (*s)[8]: D; b7 B9 E+ Y1 y& E
D、int D[][8]
! U3 ]4 `/ C5 Q( i( X, e8 j3 T0 J  k9 H$ }6 r7 R3 i3 C
——我选了CD【没把握,反正都按原题抄在草稿纸上带出来了】
发表于 2009-5-26 23:55 | 显示全部楼层
纯属路过
回复

使用道具 举报

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

使用道具 举报

发表于 2009-5-27 00:11 | 显示全部楼层
87题:函数定义必须要有返回类型和以“{}”主体,
/ o4 c, h/ W6 R% r# y88题,,,倒。看都知道是哪个啦。。。
: T5 N( w) a8 T  o3 J89.二维数组的传递:
1 k) o! x& ^. H% A, Y* D; I* c你可以用数组名作为实参或者形参,在被调用func中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:
+ [6 H* N5 F, Z0 f- n' [( y    void Func(int array[2][3]);
5 X' F+ O* J' j, c    void Func(int array[][3]);
% l7 N; i. A: }3 o& i& t7 G- u. j% ?$ }: f( g5 ^* d
二者都是合法且等价,但是注意,不能把第二维或者更高维的大小省略
$ h6 r" f  P4 b! m, b2 o0 k) z, p8 N或者你使用指针传递,然后指明size即可。, h6 Z3 d4 r# I
eg:void Func(int **array, int rowSize, int colSize);
回复

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2009-5-27 17:15 | 显示全部楼层
87题:函数定义必须要有返回类型和以“{}”主体9 X8 k" W/ n$ t- w8 c
zaijzhgh 发表于 2009-5-27 00:11
5 F" x$ N5 G4 Z/ j
0 H* M6 z' O- j' S
构造函数、复制构造函数、析构函数不用返回类型
回复

使用道具 举报

 楼主| 发表于 2009-5-27 17:16 | 显示全部楼层
88题,,,倒。看都知道是哪个啦。。。
7 ^/ {3 q' K  ?9 v5 k. q" q" pzaijzhgh 发表于 2009-5-27 00:11

# e9 U7 R3 E! H% E/ i: u9 L" q: G/ s3 G' ?- x; u' F# Z  b
88、从下列函数原型看,返回值类型为int的函数有()
$ O* a) m9 }; K3 ]7 s3 o4 `) ]A、char F1(int n);
. l9 s: i" Z. A, p/ vB、int F2(char n);* Y- G9 D8 w- }! r$ w$ t% o4 s
C、F3(int n);
+ P, F' q, q* \D、int *F4(int n);7 d: T: u5 W) W

* X" z7 U, h/ r' M我知道B肯定对,AD肯定错
- O( W, o& m& X/ J, |  i是不知道C对不对···选择是不定选的
回复

使用道具 举报

 楼主| 发表于 2009-5-27 17:20 | 显示全部楼层
89.二维数组的传递:! ~& i* G( _. ^, H6 `* R% }4 L% C+ ^
0 `6 r% ]% r% f你可以用数组名作为实参或者形参,在被调用func中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:4 ]9 A# `) u: C9 X/ _& I( Q0 G! [. W  p2 R% W# i% z* ~  ]
    void Func(int array[2][3]);6 _' c2 C, s: j9 D& I& x8 C& \/ R0 K/ |1 C3 F3 x$ z
    void Func(int array[][3]);
& D! q7 u9 L1 r  ?% l% a二者都是合法且等价,但是注意,不能把第二维或者更高维的大小省略/ _- p) K* h6 M6 z, w. \: D$ Q, A* k' `( }. R) ]
或者你使用指针传递,然后指明size即可。9 H/ l8 }" B! Y5 _. Y
) O9 B" ?! V9 w' b2 T# Z8 veg:void Func(int **array, int rowSize, int colSize);
6 X' U8 Q2 M4 L" I* N; Uzaijzhgh 发表于 2009-5-27 00:11

& i  F  C+ v; t4 l3 N" G5 X
+ A0 R% F$ z8 k! }! y
5 s. i1 r/ S! T& F& ^/ }2 s) _89、已知数组D的定义式int D[4][8];现在需要把这个数组作为实参传递给以个函数进行处理,下列说明中可以作为对应的形参变量说明的有()# }3 i- Q" `- y" D- z3 h
A、int D[4][]
2 Y: B' n! |6 mB、int *s[8]
! s! P6 u3 V9 F: U7 U" {C、int (*s)[8]
0 e8 v* j. e4 `# k( k, eD、int D[][8]
, h( M" a, F3 B" v5 }  u1 s. W- n3 |/ x6 B( x" |
! V1 ]# ]" ^8 M  J! k7 P& K
——反正我选了CD
8 i( e4 s4 V* _/ A* I  G1 m如果是一维的,那很简单,如果数组时a[10],在实参传递a的话,我们形式参数可以是*a, 也可以是a[]
! I% x' k- P; W. w2 q: [5 T但是二维我以前没用过,不知道是不是CD那样?
回复

使用道具 举报

发表于 2009-5-27 19:14 | 显示全部楼层
89、4 p6 r) P$ w& W# v: w: y9 L
c是指向数组的指针! J$ d, x- h* t7 f# q+ ]# J
d是二围指针
2 Q, L' b! A3 F/ U, M# ~! G我也觉得是cd
回复

使用道具 举报

发表于 2009-5-27 23:24 | 显示全部楼层
构造函数、复制构造函数、析构函数不用返回类型
6 K0 \- h5 q9 v' bxdlrz 发表于 2009-5-27 17:15
# y2 `% i" F+ c. x9 x# n
根据题目来说的嘛。。。它问的是返回类型的原型; f. W4 t! z, ~8 ^$ E5 H# g+ A
在早期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){}的话,我就觉得不应该选。
' w; L) C1 R5 x1 P3 Q8 d如果碰到个默认返回int的编译器的话,至少会给你一个warning吧?
回复

使用道具 举报

 楼主| 发表于 2009-5-28 10:06 | 显示全部楼层
如果是f(int s){}的话,我就觉得不应该选。' H% ]$ y: s+ ?' A
如果碰到个默认返回int的编译器的话,至少会给你一个warning吧?* f- n5 \8 }: O8 O; N
gyCai 发表于 2009-5-28 00:24

; ^6 {. ^1 @- t2 z# y" j% M) k+ l' L) k* }! w' V2 S; _5 [
, Q% W4 t& Y: P) s0 Q" C2 d: R
如果是
  w, b6 z: y1 b9 z- yclass f& H  n0 ~- C" X/ t( Z' F" [. _$ Z
{4 S* e0 w- |# {* e3 P% c& W
public:$ t9 H; a4 ]8 y$ m4 w$ v
    f(int s){}
% K' S4 n( g- t! R7 e" [};) O1 r3 h9 ^# n. B! J
就不会警告呀
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-4 18:41

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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