|
吉大11春学期《计算机可视化编程》在线作业一
+ c) h% O. Z! ~' c* Q; o# B试卷总分:100 测试时间:--
( H6 ~7 @$ s( Q单选题 判断题 5 h2 {/ s3 @ V; f& B
& r$ B3 V& d& F# o& q6 Y- M! l( ~4 {$ G一、单选题(共 20 道试题,共 80 分。)V 1. 下面的标识符正确的是( )。
5 q9 f3 \, J/ X4 B6 TA. student name' E8 s9 V9 K" T6 U) p V
B. 3type2 a* R: `! u$ s8 V( Z
C. _above( E% B- ?" ^4 q5 o1 n! |6 ~
D. a>b6 \9 o+ E& R9 v5 w/ [' ^
满分:4 分4 J& ]) a( d0 V. [0 A8 m5 n" Q
2. 下面有关重载函数的说法中正确的是$ m/ V5 S9 n. h0 h
A. 重载函数必须有不同的返回值类型
, r2 z$ J, W' j" @B. 重载函数形参个数必须不同0 t% h( ?- W0 E: [( G
C. 重载函数必须有不同的形参列表
. S* ^7 |' ?' I6 ED. 重载函数名可以不同6 Q! P" ^1 T0 F1 X+ Y
满分:4 分
+ S3 ?$ @# q5 W; Y! |3. 下列路径中哪一个不是动态链接库加载时的搜索路径
% h- C8 I; s H. ZA. 包含可执行文件的目录
" W3 f4 m) J; g( c% P3 L9 yB. Windows目录
3 f4 R5 h o# k% e6 U( b/ aC. 进程的当前目录
$ \$ h. w# f- ZD. Windows应用程序目录(Program Files)
- V- W2 x, R8 G 满分:4 分
" r; j, m3 ?/ r" P4. 下列选项中哪一个不是命令消息的产生途径" j2 Y' [" R/ ^2 i! K5 @
A. 选择菜单项
9 C, b. O' W f7 I0 ~B. 单击工具栏! u$ K) E( ]/ Q/ ^% N0 q
C. 点击对话框的按钮) a6 N! t$ v" K8 S- ^
D. 程序产生命令
! F! b; W3 |) ]+ c8 Z7 A/ ^. j$ e 满分:4 分
2 c4 [, R. S3 V o! t! ~7 f9 n" a' w" `5. 下列对于WinMain函数的描述中,错误的是) t' \) q, `% c: I1 A0 ^
A. WinMain函数的名称是固定的
, u4 L/ L! @7 B. S* D8 X0 fB. WinMain函数是Windows程序的入口点(该函数被系统调用,作为一个32位应用程序的入口点)
% e+ J: P1 }- u) vC. WinMain函数不能有参数(四个参数)% W( X) ~) i: g; J0 U4 Q L% z" e
D. 窗口函数与WinMain的关联是通过窗口类的注册实现的3 x! o' t1 a* M6 i8 e4 a
满分:4 分5 D1 |; Z$ U2 y* b% L: n$ {% X
6. 下面有关运算符的说法错误的是( )。
* x! K- s9 _" f8 r* FA. 算术运算符不能对布尔类型、String*和Object*进行算术运算
7 b @1 R' V! U! B% r( RB. 关系运算符中的“==”和赋值运算符中的“=”是相同的
I" b3 K" B: T$ S' n& h# H1 A) `; NC. sizeof运算符是用来查询某种数据类型或表达式的值在内存中所占的内存空间大小: q) g& O5 ^) m( y* O0 B0 ?
D. 括号()在运算符的优先级中是最高的,它可以改变表达式的运算顺序
1 G5 ~6 k- A# M3 H 满分:4 分
! D9 I+ E ?$ p1 b& L: C7 U y7. 下列关于构造函数的描述中,错误的是
* }& O. j2 y) A7 Y2 z8 GA. 构造函数可以设置默认参数
$ f: c: p8 r$ g9 Q0 lB. 构造函数在定义类对象时自动执行
/ p9 W$ H) r' G1 A' `# A# V( FC. 默认构造函数可以没有
2 E$ R2 W9 N1 l; }/ P: tD. 构造函数不可以重载
! c, F% B% Q' B: a 满分:4 分
0 m9 N- E- ]+ [: g8. 下列关键字中哪一个不是用于类的访问控制的. l3 g7 | L. U% ~& l
A. public$ ?8 y$ Z1 ^) F/ @' v" }
B. friend1 y! f1 l1 L2 I
C. private
- b' f2 D) E/ bD. protected
% a" B2 J1 ]0 X 满分:4 分
2 H% I. I$ U2 t6 @/ j% N& ?9. 有关跳转语句的说法正确的是( )0 X" T( m) X1 O+ t0 r1 J/ }$ \
A. 跳转语句的作用是实现程序执行过程从一处跳转到另外一处
* u. F: j& G9 V* z& i0 q, ^B. break主要用于跳出循环语句
4 V; A& Y5 z! {3 nC. continue语句用来终止整个循环5 L% x+ F5 X9 `: [3 X
D. continue和break语句都只能用于循环体内2 w' D& B. S( q9 ]8 x
满分:4 分
7 E4 s) E6 e/ y2 m/ O10. 给出如下类定义和函数f class Date{ private: int d,m,y; public: Date(int dd,int mm,int yy); void add_year(int yy); void add_month(int mm); void add_day(int dd); } #include "Date.h" void f() { Date today=Date(15,8,2004); //1 Date this_day(15,8,2004); //2 Date other_da1 _. c6 F# K- c' H4 D! |6 P; I
A. 第1行
) N& ^% F: }1 C& B- Z. ~$ gB. 第2行) Z& |; z; Q+ t! h7 i. a
C. 第3行
- g }% J4 X3 h% jD. 第4行/ p: B% Q. ^" P0 s( W7 _
满分:4 分
* d3 s& c4 _1 z0 { y11. 以下四个关于类的访问控制的描述哪一个是错误的
) m! G8 [# h; y0 I+ |A. 子类不能访问其父类的私有数据成员和成员函数
1 I) q' h. j' x( y2 e7 eB. 子类的对象不能访问其父类的保护数据成员或者成员函数' ?; S3 C* }+ {7 V2 |! z% B
C. 类的对象不能访问类的保护数据成员或者成员函数5 E# v3 N4 @& L9 |) ^
D. 类的成员函数不能访问类中的私有数据
9 k% e" N1 y; d O9 g 满分:4 分
3 h5 |& u/ r& ]( `) U12. 下列类中哪一个不是GDI对象类& I+ _: R' W+ p4 V, G
A. CPen4 J4 t2 A/ c. B- F, ~. ~
B. CWnd
3 E0 C% L7 m# K& Q$ a3 T/ qC. CBrush$ L9 z- u, f: ?# T D* j/ i2 C; Q
D. CRgn( D2 b- ~- G9 t
满分:4 分( w+ R5 n' d+ H% V' ?+ |
13. ODBC体系结构中不包括下列哪个组件
; o6 S2 T; n2 X; j5 f' {A. ODBC管理器) I9 e+ |- X: o+ ?+ Q+ E) z
B. 数据源
+ a f( y1 Y( x- c6 e% l: U( f8 eC. 驱动程序管理器: C; N: x, E9 f! k' s* N
D. 数据库管理系统DBMS+ F6 ?$ S( R/ _, t) Q
满分:4 分
9 ?, v0 v: l0 E# k8 d" w3 y14. MFC常规动态链接库中不能导出的是
1 x: V' I+ x. e5 s# \- ]A. 风格函数
8 r6 A+ K9 [& aB. 全局变量+ l* }$ X: W9 Y
C. 资源
6 ~/ t- b1 x3 i; iD. 基于MFC的C++类4 v2 s0 x( m; m% s
满分:4 分" H q; O! e! I2 R! \
15. 函数调用的整个过程就是栈空间操作的过程。下面不属于栈操作过程的是( )
% N& d% d! J' a' s5 @$ Q% {A. 把被调函数的栈空间收回6 C0 a" f% j% D8 s
B. 保护调用函数的运行状态和返回地址# p& x |5 h& L- o3 D
C. 传递参数0 I: `' ~! `5 H; H( s- B
D. 将控制转交被调用函数
2 v6 V9 v. g, c X" a 满分:4 分3 ~) t9 Q5 }" N! ]5 [
16. 下面四个MFC类中哪一个是管理MFC应用程序的( v# R4 k- {5 d/ e5 I6 y; b
A. CWinApp z* I8 g u" Q0 C% @$ {
B. CMainFrame& s/ e& Z0 Z3 A9 _
C. CDocument
- v; n- j1 k9 `4 k( ^8 @2 LD. CView
+ z( [5 j0 [8 p3 A( o 满分:4 分
; i8 {1 _( l* M+ V. T% l; F% @$ M: [ h17. 对GetMessage和PeekMessage的叙述正确的是
& J% k; h% t& B7 f3 q3 B! vA. GetMessage不等待消息到达7 V4 G1 E* u: q9 u; W
B. PeekMessage在无消息时不等待! C1 e- G+ h; o/ F
C. PeekMessage总是从消息队列中删除消息,但WM_PAINT消息除外6 W, G# Q7 p; {$ `6 F. L
D. GetMessage总是从消息队列中删除消息,包括WM_PAINT消息
- J( E: \# q% ~% K4 ^4 y7 P2 ]! X 满分:4 分
( z, |# g# u/ h- y: m9 K18. 下列类中不属于MFC框架基本类的是5 S* E/ ^3 l0 T/ u1 i! [' i
A. CWinApp
5 w; ^1 q/ b% ~( E& S; C( IB. CFrameWnd2 @; z9 j/ W1 L3 R; |
C. CView
8 _: k# m) {6 uD. CObject7 }1 k* z J( H7 M
满分:4 分/ P0 J4 a4 }( c3 I
19. 以下四个特性中哪一个不属于面向对象的三大特性
* l: o# f6 q0 g# e' RA. 封装性B. 多态性0 u, x7 Q1 o/ @$ U; G
C. 抽象性
- R/ w9 X( {2 u. A$ z# B" a$ w5 CD. 继承性- A$ \" `& _' e% ]7 @$ \4 M
满分:4 分! P( I: Q* |2 _3 g
20. 有关for循环的语法形式:for([表达式1];[表达式2];[表达式3]) <语句>,说法错误的是( )! ?8 {. `; R P. E# d# s" t% O1 S
A. 若表达式1省略时,需要在for循环语句前面给控制循环是否继续执行的变量(一般是循环变量)赋值
, N! j2 Z5 R# W# ^B. 若表达式2省略,则循环语句中必需包含结束循环的跳转语句,如break" d. W" `# l/ N2 @9 r
C. 若表达式3省略时,需要在循环体语句中改变循环变量的值,保证可以形成循环结束的条件,否则回形成死循环4 }4 ~( G+ s. `) U4 Q3 Z
D. 表达式1、2、3都可以省略,中间的两个“;”也可以省略
) C' k+ _& K+ y: v* _* B% p$ e3 i! G 满分:4 分
3 F7 {. `; N$ U% D吉大11春学期《计算机可视化编程》在线作业一, ^1 S1 X: `+ C& `9 x
试卷总分:100 测试时间:--
% J# }6 j" g7 J$ @% m8 [单选题 判断题 0 I: N( `2 a: l9 x6 M
2 F2 t, |6 ^7 e: Z- u二、判断题(共 5 道试题,共 20 分。)V 1. 所有的表达式都有值。3 }6 M+ Z' n. I2 I
A. 错误) [" k. i2 v$ A; z+ O
B. 正确
1 ^- [. L% s/ W6 [1 M# T: c 满分:4 分
% V6 t2 F- v( y1 |0 i2. 说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。
" a% V' k5 }" A- B" c4 XA. 错误
: Z$ f; z* t% b. P& XB. 正确# s) P1 z% g+ u6 D
满分:4 分+ ]* M: e9 P: }: V4 f5 c
3. 基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。
2 A$ n" K- ^' w- c1 z7 pA. 错误
; g4 j0 H) u1 e# N6 c( @ Q# zB. 正确
' q8 u7 L* c" X; }' V 满分:4 分% a5 s1 ?; c0 E
4. 类的静态数据成员需要在定义每个类的对象时进行初始化。: H* K/ M: B. a' a |
A. 错误
/ G! d) l& ?5 MB. 正确
. k7 B/ j4 i- Y% d- l# p B& k/ k 满分:4 分& n$ w7 x0 G9 F6 G
5. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序000所带来的编译工作量。) n1 e) C# T8 }) |3 j
A. 错误3 _# s1 P: q3 J# f, Z4 j( w' U1 d
B. 正确, {1 s) b& D- F/ o
满分:4 分 $ R ?, ^! L1 `% C; P
吉大11春学期《计算机可视化编程》在线作业二( f8 R0 ^; r+ o" M* Y) L* y5 C, n! t
试卷总分:100 测试时间:--9 ~. D( N. u' \* i. V" C
单选题 判断题
. |) ?! A p# w- M* X. L) Y3 I1 B. ^( t$ A) q! z3 a3 B; H
一、单选题(共 20 道试题,共 80 分。)V 1. OpenFileDialgo和SaveFileDialog控件的( )属性控制显示的文件类型。! Q7 y E3 U- T' r" p+ Y3 r# m( i* ^
A. Selection, |1 e2 W6 u5 j+ H4 U
B. Filter. z) c9 X5 M2 g* d8 J
C. Index6 z/ t7 E; L3 ] u
D. FileType) m0 y; Q# h% h' O. ^! Y
满分:4 分; R8 Q j* v9 }; v- p
2. 下面选项中,( )正确描述了DataSet和DataTable之间的关系。
2 `, M W* Q9 yA. 一个DataSet包含一个或者多个DataTable对象4 ~* h5 _% a9 x# A- ?# D1 Z
B. 一个DataSet只能包含一个DataTable对象
5 @& P- c1 z3 KC. 一个DataTable包含一个或多个DataSet对象+ Y0 r; b% P) ]+ S! x7 I
D. DataTable和DataSet没有任何关系
: f: [% D9 |7 X% p/ n 满分:4 分
( k& |3 S4 I" H/ R2 u9 z- N# K3. OleDbParameter的作用是( ): Z3 ]1 r7 F6 M% X0 h' o' V
A. 它用来配置要检索道DataSet中的列
) r, J4 u# t8 m5 iB. 它用来动态配置OleDbConnection的ConnectionString属性
$ z: f" K8 y5 G% n, s. PC. 当OleDbCommand使用参数化查询语句时,为参数化查询语句提供参数值
( w% {* `- U( f8 k E: [D. 上述都对1 K$ i2 Z5 s! d" V0 S
满分:4 分+ ~: ^, X) t3 Q$ t3 z& b
4. 下列有关Directory类的描述中,( )是正确的。
3 Y, j: A! s6 W' z, ^A. Directory类的方法是静态的,因此要调用其方法,需要创建Directory类的实例
4 Z# A9 Y. D( N% n$ XB. 要删除一个目录,可以调用Directory类的RemoveDirectory方法
, d2 B; T+ p3 x7 Y6 Y2 XC. 要删除一个目录,该目录必须为空% O) u' {, u- _& b, |
D. 以上都不对
1 N/ b! q; l7 a$ _- B 满分:4 分4 X# R/ k* z$ `: `/ ?, `
5. 下面( )正确描述了随机访问文件。! [8 u+ h$ l" W8 ^
A. 随机访问文件与顺序文件的工作方式相同,读写随机文件的方法与顺序文件也相同
( T& a$ q5 n! [# u& a- ?B. 当读取随机文件时,必须读取第一个记录,它定义了后续记录的长度* G4 B' [7 f. j. s9 w8 d; S
C. 随机文件中的每一个记录都有一个前缀来指示记录的长度,允许文件中的记录的长度不同
: U% j: q( L; F2 R* C! i) ?D. 以上都不对
; B- }. b8 V' c* [. A 满分:4 分4 _* @- B* `* w9 `: I! N& ^" j
6. 要使某个菜单项无效变为灰色,应该将其( )属性设置为False
1 O/ `& ~* B/ |7 e+ CA. Visible
# W* `/ q. U( _B. Checked& N% s1 A& U! V
C. RadioCheck: b& ?9 k, Q6 T3 g
D. Enable
3 p/ g. S' ]: A9 l 满分:4 分# p& z# w0 ~4 D( P8 J' w6 g4 O* T* k
7. 抽象类不具有的特点是( )7 Y( ^3 v9 J& c/ w+ T; I4 Q* k) M: B
A. 抽象类可以实例化对象
* ?6 t7 d/ E2 G7 D, e, rB. 抽象类只能作为基类使用6 u" }+ U$ G3 _" e6 l
C. 抽象类不能定义对象变量
# g6 Z4 [! t' L: d, E& MD. 可以声明一个抽象类的指针和引用 ? @/ q6 | z4 }
满分:4 分
* i# d W, m h# ]5 J8. 下面选项中,( )正确描述了向DataTable添加新的DataRow的步骤。/ ^; `; b7 U9 A! K1 D
A. 首选调用DataTable的Add方法,然后在相应当列中保存数据, K. U$ f$ T- n7 A7 K E$ ?
B. 创建DataRow类的新实例,然后向DataTable的Row集合添加新行
5 R# I; U7 z0 [" j! r# GC. 首选调用内部的DataTable的NewRow创建行,然后在新行的相应列中保存数据,最后向DataTable的Rows集合添加新行1 X! f Y0 P' y3 Z( b
D. 上述都对
2 i5 E" e4 K; T( `, k9 O 满分:4 分- {$ J2 N6 s" q; E+ a( h
9. 下列方法中设置MDI父窗体正确的是( )
O, o( a, ^ {+ R0 AA. 调用指定为MDI父窗体的Show方法,使用参数的枚举值MdiParent$ U# I" k6 i& ?) R" J
B. 使用“项目”属性对话框,设置IsMdiApplication属性为True,然后设置用作父窗体的窗体的启动对象' }2 Z& c9 K2 q: V: F% S
C. 对于指定为父窗体的窗体设置MdiParent属性为True4 x ^# Y8 O* u. W; m
D. 创建一个MDI应用程序项目,而不是创建Windows窗体应用程序项目1 V) j# Q1 L6 l0 F
满分:4 分6 t4 {; s' M# G% I( ^6 _" F+ X+ X/ }
10. 下面( )是GroupBox和Panel控件的区别。4 Q, b' K7 E2 A8 q
A. GroupBox和Panel控件都是容器控件
! s5 ` r2 T, k1 ~( B5 Y/ QB. GroupBox控件的Text属性包含描述性提示% M& P: ]1 `1 b4 {, ?5 O
C. 动态的添加控件! c& C2 v8 u- I0 ?0 |6 A! m, Q
D. 动态的删除控件3 I) N: ]! G1 e0 t
满分:4 分. t# Q/ Z. ^) u
11. 如何向数据集DataSet填充数据?( ). Q! E$ }$ I5 ], N' N& P4 t
A. 创建DataSet对象之后以OleDbDataAdapter实例作为参数,调用Load方法
$ b3 |1 c* J/ }5 b% F$ S3 JB. 调用其构造函数创建DataSet时使用OleDbDataAdapter为参数
7 }6 c+ G: b2 ~2 CC. 调用OleDbDataAdapter的Fill方法,使用DataSet作为方法的参数5 R1 @3 E: }3 j M' u a
D. 创建DataSet对象,然后对于DataSet中每一个想生成的表,创建一个DataTable对象$ d: q( O0 K5 J: t1 g( d( N
满分:4 分& y. l7 V% J, F P
12. 下面选项中,( )正确描述了数据绑定
* u* z; a2 ^5 E, I/ gA. 从Binding类创建绑定时指定一个数组作为参数,该数字包含对每一个要绑定的控件实例的引用; v {/ N- p: L9 l. J
B. Binding构造函数创建绑定,通过创建绑定,控件可以和DataSet中数据表的指定列相关联# I& e, y3 p! r2 E" m
C. Binding构造函数创建绑定,但是,对于与特定控件实例相关联的绑定,必须添加到该控件的DataBindings集合/ q% h0 S8 S& a- j
D. 可以把控件绑定到DataSet中的DataTable,但是绑定不能与其他对象相关联,如ArrayList
% W3 J; d4 ^$ o! Y 满分:4 分0 c2 `) o: o9 R1 ~! _0 M
13. Timer控件的( )属性控制Tick事件的触发时间间隔0 R1 C: ~5 y" N4 W) i. h) f: f- }
A. Container
- X" Q |( w1 m; w" G8 o/ OB. Enabled
8 V3 }* q o% g3 qC. Interval$ Q% O k; g- {# p8 d
D. Name
4 U7 q: e6 z! B7 w9 q1 n% h 满分:4 分
* }$ B6 @2 v0 C% F; r/ j& }14. 下列描述正确的是( )。. l: d& @5 M2 V2 a% r+ S# w
A. 构造函数可以重载,析构函数不能重载0 E* D; T4 S' G9 S5 A
B. 构造函数不能重载,析构函数可以重载
9 | b+ b( e1 ?/ V# xC. 构造函数和析构函数均可重载: }' k) L2 z3 @4 z) x# a b
D. 构造函数和析构函数均不可重载
7 ]$ e* S# d! M! I7 Z. i$ ] 满分:4 分. `" ~, Q1 B, r' h
15. 用来把DataSet中的000保存回数据库,可以调用OleDbDataAdapter中的什么方法?( )
: F0 y X" ?; L3 p5 GA. Save
. i- r5 {1 E: X: `' }; D( EB. GetChanges
9 Z+ \. m0 u7 UC. Update
, A6 m6 |# M3 `9 b' \% L8 iD. AcceptChanges- J7 `; V' {4 C1 |4 @3 f
满分:4 分; n8 ~' B. O4 U/ s8 I$ ^4 e% Q
16. 下列有关MDI应用程序中窗体间的关系描述正确的是( )# N. D1 l- w( P; Y2 v6 R
A. DI应用程序中只有一个窗体可以指定为MDI子窗体
5 l. U8 L" V/ ~4 P' hB. 标准窗体必须出现在MDI父窗体的可视区域之内* Y$ m5 a1 z1 Y# f9 a) d' I
C. MDI子窗体总是带有菜单+ a, |2 C L) R2 \+ X' g# T
D. MDI子窗体必须出现在MDI父窗体的可视区域之内
$ y2 g( _, {, _1 d2 Z* F8 e: c. j 满分:4 分
1 k# G9 g9 \2 S4 g, s/ ?; ~17. 列有个虚函数说法不正确的有( )。4 Z% m) O- `4 \( W# O# V, C% b, Y
A. 虚函数是静态的$ g* _/ J! M2 r! F( {
B. 虚函数声明只能出现在类定义的函数原型声明中$ O; A7 S8 f& l0 p
C. 一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性- ?+ D1 N. a3 s' H$ j$ A
D. 定义了虚函数后,程序中声明的指向基类的指针就可以指向其派生类# U3 f% {" {/ F, `
满分:4 分 |
|