找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1995|回复: 15

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

[复制链接]
发表于 2009-5-26 23:17 | 显示全部楼层 |阅读模式
本帖最后由 xdlrz 于 2009-5-27 17:25 编辑
/ C/ Y* J$ c# u5 D) u0 q+ ~) B9 s& w
86、已知一函数中有下列变量定义,其中属于自动变量的有()  ~% {( c/ x1 W' O! p4 N
A、double k;
5 U8 b  o6 o' l& x3 i5 r' \B、register int i;
! H9 b, E/ _. p- z! d$ L5 G- xC、static char c;
4 k: n" Q1 S* N' J# K2 `$ P0 rD、auto long m;. `) V! _2 Q  Z- }
) R7 ~5 Y" j# v5 w: E. g) Z
——我选了AD【D肯定是,A不知道对不对】. Q5 {# S& @; ]; f# I( k7 v
. v& ]1 C% J, ?: c$ q8 }! h; D7 D% }

# _2 f* ~% f# H. b9 T$ [87、下面的说明中,正确的函数定义有()4 K1 y. f, G7 x6 @8 y
A、void f(void)% I0 R% i6 c) C& v! e
B、void f(void){}1 i4 h  f3 b+ w) }7 J
C、f(int s){}
. k+ m) k: t$ q' pD、f(int s){return s+1;}8 S9 Q& F8 D6 j" g' i
E、double f() {return 0.0;}! D; O6 ~. G5 f
F、double f(double d){cout<<d;}
: u7 L! Z( n2 N& s1 S& d4 P  K3 \: h1 k" y& G" j/ d
——我选了BCDEF【CD没返回类型但是我记得构造函数可以这样,F里面有cout不知道可不可以】
5 \0 i7 X5 l/ U: K, |: K0 {& ^" F7 y! g. A, V9 T3 V4 S* O% i
" ~) h1 z! t( L
88、从下列函数原型看,返回值类型为int的函数有()
4 |6 F' O( {% i  [  |6 IA、char F1(int n);
$ H, m- X$ e8 k" v. }B、int F2(char n);9 Q6 t9 ]: Y7 S. d1 F
C、F3(int n);
% Z; L! M- C. m6 lD、int *F4(int n);7 S9 n& O3 z) _) f5 q
7 W1 P5 _4 a5 }- c$ n- @" ]) D
——我选了B【好似C也是对的,不确定】
2 E6 E* x8 p1 B" @2 B- u9 [. C, U
89、已知数组D的定义式int D[4][8];现在需要把这个数组作为实参传递给以个函数进行处理,下列说明* r1 E' I) Y+ U5 H! M" G
中可以作为对应的形参变量说明的有()  [: |9 l8 y) o0 b
A、int D[4][]1 c9 C! v' E* W$ D% X
B、int *s[8]& l1 k$ o& K: W0 q( b+ E8 @$ h
C、int (*s)[8]
7 V2 U$ l  q. i7 ?' TD、int D[][8]/ v8 S% J9 w  S3 E& Z

) }; a, W# T% J! f+ u6 ]——我选了CD【没把握,反正都按原题抄在草稿纸上带出来了】
发表于 2009-5-26 23:55 | 显示全部楼层
纯属路过
回复 顶 踩

使用道具 举报

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

使用道具 举报

发表于 2009-5-27 00:11 | 显示全部楼层
87题:函数定义必须要有返回类型和以“{}”主体,
6 i/ A2 A' {& f/ o/ ]' m+ i) @88题,,,倒。看都知道是哪个啦。。。! L' t1 e9 s+ [& U5 f" o
89.二维数组的传递:) u4 j7 ~; I& o# M8 q/ }
你可以用数组名作为实参或者形参,在被调用func中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:. Q4 [& N- _) x5 r$ J
    void Func(int array[2][3]);
# N3 Z/ ^* k* j6 l- B    void Func(int array[][3]);' p' N" W; @# g, L) {0 A
" H2 q/ D8 k, i/ B* S9 K9 ~
二者都是合法且等价,但是注意,不能把第二维或者更高维的大小省略
# T! g$ X3 A9 X0 E1 O! @& N或者你使用指针传递,然后指明size即可。* e7 c! G, [/ R% V; ]9 K
eg:void Func(int **array, int rowSize, int colSize);
回复 顶 踩

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2009-5-27 17:15 | 显示全部楼层
87题:函数定义必须要有返回类型和以“{}”主体( m+ q2 K: ^# Y4 P: d/ t
zaijzhgh 发表于 2009-5-27 00:11

% h* K% D( v( W
: M5 f  M( s5 T. m. U' n2 s& P& U构造函数、复制构造函数、析构函数不用返回类型
回复 顶 踩

使用道具 举报

 楼主| 发表于 2009-5-27 17:16 | 显示全部楼层
88题,,,倒。看都知道是哪个啦。。。
: j6 }- a; y( R" k6 G4 {- D+ izaijzhgh 发表于 2009-5-27 00:11

" @: I! V4 |9 [( X4 R: _7 O* U) H. H# i+ A/ V' ]
88、从下列函数原型看,返回值类型为int的函数有()' n/ }2 e( O, t
A、char F1(int n);
. v6 l2 Y( v7 m/ t' lB、int F2(char n);$ s) {. E3 N$ [
C、F3(int n);
3 b' k! ^# \1 L0 Y% \" y% @& jD、int *F4(int n);" L* V- X+ j. ?/ q$ `2 b$ n$ e

  K) ]2 Z3 U1 W  f. y% p* `& l' s我知道B肯定对,AD肯定错
' {" j( ^) K2 G- L: R7 P% b是不知道C对不对···选择是不定选的
回复 顶 踩

使用道具 举报

 楼主| 发表于 2009-5-27 17:20 | 显示全部楼层
89.二维数组的传递:
# l0 p' y2 s2 a. g% w5 z0 `6 r% ]% r% f你可以用数组名作为实参或者形参,在被调用func中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:4 ]9 A# `) u: C9 X/ _& I( Q/ D. `3 ~( t# E
    void Func(int array[2][3]);6 _' c2 C, s: j9 D& I4 s8 @3 U; C/ C) R4 r# N  i6 i, @8 b
    void Func(int array[][3]);5 v3 d" X) S) _( _
二者都是合法且等价,但是注意,不能把第二维或者更高维的大小省略/ _- p) K* h6 M6 z, w. \: D$ Q
" |% X+ B/ H: J! G或者你使用指针传递,然后指明size即可。9 H/ l8 }" B! Y5 _. Y
: ~: H  Z9 F) A; j8 H/ }eg:void Func(int **array, int rowSize, int colSize);! E) n  r8 H8 k& w" o6 m
zaijzhgh 发表于 2009-5-27 00:11
5 ^6 n9 t) b3 u( F- t  a% h) F

- N( U2 W( g- g7 C) R3 K9 c* f" F+ `, b
89、已知数组D的定义式int D[4][8];现在需要把这个数组作为实参传递给以个函数进行处理,下列说明中可以作为对应的形参变量说明的有()( V- v9 A; p! v+ ~
A、int D[4][]! b0 u% L3 l$ [7 @/ Q9 |" `5 h  q
B、int *s[8]
# b$ ~! k" M# Y5 @- j& D0 P8 QC、int (*s)[8]9 e$ ]9 s. }& v# e5 u
D、int D[][8]5 {$ W1 @9 V7 F" ]. C" _% |* y& b

  l: D/ d/ A5 ~
) Q% `+ b8 |3 {, B6 z——反正我选了CD$ o' Y+ k8 C3 I5 m
如果是一维的,那很简单,如果数组时a[10],在实参传递a的话,我们形式参数可以是*a, 也可以是a[]* `8 L$ f+ ?4 _0 ^& w/ C
但是二维我以前没用过,不知道是不是CD那样?
回复 顶 踩

使用道具 举报

发表于 2009-5-27 19:14 | 显示全部楼层
89、
4 c% @( L: O5 G% I' ^c是指向数组的指针
! u9 ]& D6 v+ o+ {# r# x- ld是二围指针% }3 a$ R/ t8 c' E
我也觉得是cd
回复 顶 踩

使用道具 举报

发表于 2009-5-27 23:24 | 显示全部楼层
构造函数、复制构造函数、析构函数不用返回类型
# Q% {0 h1 i* Axdlrz 发表于 2009-5-27 17:15

9 |# z' p& L0 `0 H* \, n根据题目来说的嘛。。。它问的是返回类型的原型
6 u2 y! D* e2 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){}的话,我就觉得不应该选。  l7 x3 ]) V- b! C$ O
如果碰到个默认返回int的编译器的话,至少会给你一个warning吧?
回复 顶 踩

使用道具 举报

 楼主| 发表于 2009-5-28 10:06 | 显示全部楼层
如果是f(int s){}的话,我就觉得不应该选。: j; g; [- g( R4 f
如果碰到个默认返回int的编译器的话,至少会给你一个warning吧?& V3 M7 L. q  T! N) t
gyCai 发表于 2009-5-28 00:24
8 J. \# J" H$ e5 \+ U1 s

( s- Y, a1 p/ O: Z5 ]% B9 `: v, Y
# H7 h+ Y% n/ W$ S. G如果是* Y9 e; D0 C7 S$ Z. k  b
class f
- v8 ?5 z. j4 V3 @# B; G8 S{
( m* @# P6 ]( T. Opublic:6 D# u8 C+ X  E. k
    f(int s){}( K: P$ t: w; U8 ?. t
};
" {+ k: }0 s5 e! Y' c就不会警告呀
回复 顶 踩

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-11-8 20:12

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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