a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 75|回复: 0

[Visual Basic] 2012年计算机等级考试二级VB考点及习题(7)

[复制链接]
发表于 2012-7-31 22:10:12 | 显示全部楼层 |阅读模式
2012年计算机等级考试二级VB考点及习题(7)
" R0 I9 ~2 G: o7 V+ @- N; V
. U5 u1 [3 z8 E6 [6 g: t注意:1 G5 @$ F9 v' }: g! c5 E
  F按值传递参数
! r5 K+ e  s( ?$ w  形参和实参的类型不一定要统一,VB自动进行数据的转换。
* q' A# U& Q1 A" Z  –例如:Private Sub Form_Click()
* E, @( A: {# P* Z  Dim a As String : a = 2# M3 V0 \  ]" {$ I5 n2 M6 [
  Call sub1(a)$ o5 W8 G! Z9 F
  Print a" A* i8 h) k/ M  U
  End Sub
; w2 |7 c& X( K# E: Z  Private Sub sub1(ByVal b As Integer)
3 G& u  V; X& Y" U+ B  b = b + 1 : Print b! t. p" U6 U( z4 \8 w8 k
  End Sub% g) {" @* k, n, M& E
  F按地址传递参数4 K" j( n2 y6 w; A3 a  E8 @5 M! ?
  –当实参是变量时:如果形参规定了类型,则实参必须跟形参保持一致) X5 v# [+ T" |
  如果形参没有规定类型,则VB按要求进行数据类型转换& R& ]: }/ k% |6 \$ k1 P) m
  –当实参是常量或表达式时:
  D0 i+ C; s8 |5 C+ W$ u  VB自动用“按值传递”的方式进行处理,如果数据类型不统一,VB自动进行数据转换5 T/ d3 `5 t8 x- U
  例如:1、在应用程序中用“Private function Fun(X as integer,Y as single)”定义了函数Fun。调用函数Fun的过程中的变量I、J均为Integer型,能正确引用函数Fun的是( )  x2 I$ [  V2 P4 r0 w9 ~' c! }
  A.Fun(I,J) B.Call Fun(I,3.56) C.Fun(3.14,234) D.Fun("245","231.5")9 i& @2 C% W( d, x6 D
  2.程序中的不同过程之间,不能通过_________进行数据传递。9 F6 q  j7 g8 g* O* `& y
  ①全局变量 ②窗体或模块级变量 ③形参与实参结合 ④静态变量
$ T+ [* j9 y/ @! u4 r# k5 P  A. ①②④ B. ①②③ C.②④ D.④
9 I, \$ O# R7 B! T, v9 w7 H6 r  二级考试必考题型:(课后习题)
1 h) J/ n1 T5 N$ n8 I  传值 传地址 Static变量 同名变量 递归过程7 \, J4 F, F1 {' c
  例如:% U+ w5 g" k& l2 ?. K- B* i
  1、以下有关变量作用域的说法中,错误的是( )% E2 A5 r0 `* a: E
  A. 只有在标准模块中用public语句说明的变量才是全局变量
* W7 w) Z' I  Y/ P1 D+ ^  B. 在过程中不能使用public语句说明全局变量
5 ]/ t; S& c7 A. E  C. 在标准模块的通用声明处可用private语句说明模块级变量+ f' y$ j0 n6 P! s
  D. 在窗体的通用声明处可用private语句说明窗体级变量$ i0 M: }4 j0 P5 C2 g
  2.一个名为frm1的窗体,在窗体通用声明处和过程sub1中分别定义:public k as integer、dim k as integer如何在sub1中访问全局变量k( )7 Y" C% E# T: {1 J7 P" W6 n8 T
  A.frm1.k B.form.k C.form1.k D.k
. v( e5 Z; `4 T0 o  L9 j  例:阅读程序,给出输出结果:
4 b, T3 y% o6 g  (1)字符串处理(数组参数)+ q5 Y8 T3 n0 U) j9 W1 v
  Option Base 1, m8 ^4 F9 x$ Q" S* |2 p
  Private Sub Form_Click()
( p  G' H& A; k' k8 O9 H  Dim st As String, char As String
; j0 f# |. o6 n- f  Dim data() As String, i As Integer, j As Integer4 Q0 o0 P: m. K3 D+ P& X9 W
  st = "10281018123811181038"% t! P* i* W* U6 w+ S: a
  For i = 1 To Len(st)' C( `; C( S3 [, p2 _( a
  If Mid(st, i, 1)  "8" Then
$ S- [0 L3 B- H# Z- ~: @  char = char & Mid(st, i, 1)
, m& ^6 ~2 V- T  n7 N8 v  Else0 S& w& H! k1 f7 V( k
  j = j + 1
+ e8 R. H# ~" v0 j& D5 c/ n  ReDim Preserve data(j): R2 G% p/ j% a) B1 u" `4 f
  data(j) = char
- P6 v5 I* ^3 q7 F" W2 @0 Q  char = ""/ v* I3 f; p" d  n+ p! a
  End If) Z$ n& Y) u# g/ u2 ?
  Next i, Q/ H' Y- w" v# O4 A! K
  Call conver(data, char)
3 Z# [! e- G- T; `  Print char
# D5 Z1 ^7 h  |% N3 y9 K% w  End Sub5 I% M& P' z( ~
  Private Sub conver(a() As String, ch As String)
- O% O. O( U. {1 }" I& U  Dim i As Integer, j As Integer
% T: ~9 X8 u+ P2 Z6 ^% h5 y  Dim n As Integer, dec As Integer
, J  C" o$ @  ]) P1 t- u6 K& y; w) E  For i = 1 To UBound(a)1 `4 l( R5 Y3 U; p
  n = Len(a(i))
$ ?4 }! X8 }% `* Q  For j = 1 To n
0 S" B: e3 M4 ]( b  dec = dec + Val(Mid(a(i), j, 1) * 8 ^ (n - j))& o7 G3 v+ X# E/ S. N' O) R
  Next j
. V( X: Z2 _/ T# h& r) i) @# w  ch = ch & Chr(dec)
! O; h8 D% Y6 W( D  dec = 09 q" k9 K5 \# B9 i! Z
  Next i
8 R, F! E  f8 Z: ?9 X: F" H  End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 12:22 , Processed in 0.484809 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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