文档视界 最新最全的文档下载
当前位置:文档视界 › C与VB

C与VB

C与VB
C与VB

7月5日

VB与C 的区别(2)

表格左边是VB内容,右边是C语言的内容,下同。

基本认识

VB是面向对象的,基于windows操作平台下的可视化编程语言。用户可以用鼠标编写代码。

C语言是面向过程的程序语言。

Turbo C是基于DOS平台的C编译系统。用户无法使用鼠标块操作。

Ctrl+KB块头标记;

Ctrl+KK块尾标记;Ctrl+KC块复制;

Ctrl+KH取消;Ctrl+KV块移动

快捷键

打开工程Ctrl+O

新建工程Ctrl+N

保存Form1:Ctrl+S

退出:Alt+Q

运行:F5 装载文件(Load ):F3 Alt+F5: 查看结果

保存(Save): F2 激活主菜单:F10

退出TC返回DOS(Quit): Alt+X

Ctrl+F9:编译+连接+运行

Esc: 返回上一级菜单

运算符

①算术运算符(^幂-取负*乘法/浮点除法\整数除法Mod取模+加法-减法)

②字符串连接运算符(&、+)

③关系运算符(=相等<>或><不等<小于>大于<=小于或等于>=大于或等于……)

④逻辑运算符(Not And Or Xor Eqv Imp)C语言的运算符可分为以下几类:

①算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

②关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。

③逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

④位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

C共有34种运算符。运算符丰富是C语言的一个很重要的特点。C把括号、赋值、强制类型转换等都作为运算符处理,从而使C的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。

⑤赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

⑥条件运算符:这是一个三目运算符,用于条件求值(?:)。

1234⑦逗号运算符:用于把若干表达式组合成一个表达式(,)。

⑧指针运算符:用于取内容(*)和取地址(&)二种运算。

⑨求字节数运算符:用于计算数据类型所占的字节数(sizeof)。

⑩特殊运算符:有括号(),下标[],成员(→,.)等几种。

注:VB中模运算符为Mod,在C语言中为%

VB中没有赋值运算符。C语言中“=”为赋值运算符,“==”为关系运算符(相当于VB中的“=”)。在其它高级语言中,赋值构成了一个语句,称为赋值语句。而在C中,把“=”定义为运算符,从而组成赋值表达式。凡是表达式可以出现的地方均可出现赋值表达式。

VB中用><或<>表不等关系,C语言中用符号“!=”。

VB中逻辑运算符Not、And、Or对应C语言中的!、&&、||。

VB中And和Or可用于对数值(须转化为二进制数)进行位运算,分别为“逻辑与”和“逻辑或”。C语言中有专门的位运算符(《》~ | ^ &)。

变量的赋值

VB中不允许连等。

每次只能给一个变量赋值。C语言中存在“赋值表达式”。

格式为:<变量><赋值运算符><表达式>。

如“a=5“是个赋值表达式。

对赋值表达式求解的过程是:将赋值运算符右侧的“表达式”的值赋给左侧的变量。赋值表达式的值就是被赋值的变量的值。

实例:a=b=c=5(赋值表达式的值为5,a、b、c值均为5)a=(b=10)/(c=2)(表达式值为5,a等于5,b等于10,c等于2)。

数据类型

字符串型(String)是VB基本数据类型之一。字符串是放在双引号内的若干个字符,其中长度为0(即不含任何字符)的字符串称为空字符串。

实例:

“Hello! Good Morning!”

“123”

“”(空字符串)字符型(char)是C语言基本数据类型之一。C的“字符常量”是用单撇号括起来的一个字符。字符型变量是用来存放字符常量的。

注意:字符变量只能存放一个字符,不能存放字符串。

另外,C语言还允许使用“字符串常量”。

字符串常量是一对双撇号括起来的字符串。不能把一个字符串赋给一个字符变量。

C规定:在每一个字符串的结尾加一个“字符串结束标志\0“,以便系统据此判断字符串是否结束。字符串长度不包括那个结束标志。

C语言中没有专门的字符串变量(不同于VB),若想将一个字符串存放在变量中,必须使用字符型数组。字符型数组元素可以整体访问。非字符型数组元素不可以整体访问。

自定义数据类型的定义

格式:

Type 自定义数据类型名

成员名1 As 类型名

成员名2 As 类型名

……

成员名n As 类型名

End Type

实例:

Type Student

num As String*6

name As String*8

sex As String*1

age As Integer

End Type 格式:

①先定义结构,再说明结构变量。

struct 结构体名

{类型名成员名1;

类型名成员名2;

类型名成员名n;}

②在定义结构类型的同时说明结构变量。

struct 结构名

{成员表列

}变量名表列;

③直接说明结构变量。

struct

{成员表列

}变量名表列;

易混淆语句

用DefType语句定义变量类型:

格式:DefType 字母范围

注意:Def和类型标志之间不要有空格。字母范围用“字母—字母”的形式表示。

实例:DefDbl A-B, X-Z把以字母A、B、X、Y、Z开头的所有变量名定义为双精度类型。

用typedef声明新的类型名来代替已有的类型名。

实例:typedef int INTEGER;

typedef float REAL;

则:以下两行等价:

a) int i, j; float a, b;

b) INTER|GER i, j; REAL a, b;

用typedef亦可声明结构体类型。

注释语句

注释部分对程序的运行不起作用。

VB中的注释是“Rem”或一个撇号“’”。注释部分必须用“/*”和“*/”括起来。

“/*”和“*/”必须成对地出现,“/”和“*”之间不可有空格。可多行注释。

程序语句的书写格式

在一般情况下,程序语句要按照“一行一句,一句一行”的规则书写。

但VB允许使用复合语句行,即把几个语句放在一行中,各语句之间用冒号(:)隔开。在输入程序时,也可以通过续行符把程序分别放在几行中。VB中续行符是下划线(_)。注意:续行符与它前面的字符之间至少要有一个空格。C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。C程序没有行号。

标点

一般在一行输入一条语句,每条语句行以回车键结束。Print方法:

格式:[对象名.]Print[表达式表][,|;]

使用逗号:标准输出格式,又称分区输出版式,以14个字符宽度划为一个区段,每个数据项位置占一个区段。

使用分号:以紧凑输出格式输出,每个数值数据前面有一个符号位,后面有一个空格。

每个语句和数据定义的最后必须有一个分号。

分号是C语句的必要组成部分。分号不可少。即使是程序中最后一个语句也应包含分号。关于标点的几个注意事项

注意:参数缺省时逗号不可丢。

MsgBox ( “除数为0”, , “运算提示”)

提示信息图标按钮类型值缺省标题注意:不要在不该加分号的地方加分号。在if、for、while语句中,不要画蛇添足多加分号。

错误:if (a>b);…

for (; ; );…

while (i<100);…

注:表达式省略标点符号不可丢for(; ;)语句

输入输出方式

VB中数据的输入输出有:

Print方法,Debug.Print,

MsgBox语句,InputBox函数,

等方式。C语言本身设有输入输出语句。C对输入输出实行“函数化”。

C语言函数库有有一批“标准输入输出函数”,其中有:

putchar(输出字符),getchar(输入字符),printf(格式输出), scanf(格式输入),

puts(输出字符串),gets(输入字符串)。

数据类型转换

数据类型转换函数:

CInt(x) CLng(x) CDbl(x) CSng(x)

常用字符串函数:Str$(num) V al(str) 强制类型转换:可以利用强制类型转换运算符将一个表达式转换成所需类型。

格式:(类型名)(表达式)

实例:(double) a ( int )( x + y ) (float)(5%3)

除法

整数除法(注意和浮点除法区分):格式:a\b

当除数或被除数带有小数时,先四舍五入为整数或长整数,再进行整除运算。其运算结果被截断为整数,不进行舍入处理。5\3=1 “/”除法运算符:两整数相除结果为整数。如5/3=1舍去小数部分。

取模运算

取模运算:结果为一整型数值,这个值是整数除法的余数。

31.77 mod 5.88 = 2

(32) (6) 32 \ 6=5 余2 此时C语言不进行自动类型转换,因此要强制类型转换。

“%”运算符要求其两侧均为整型量。

若x为float型,则“x % 3”不合法,必须用“(int)x %3”。

(强制类型转换运算,优先于%运算)。

VB与C的区别(3)

符号常量的定义

格式:

Const 常量名=表达式[,常量名表达式]……

实例:

Const PI=3.141593, COUNTRY$=”China”①用宏命令方式定义:

#define 符号常量常量

(注意:无分号,不可放在函数内)

②语句定义:

const 数据类型符号常量=常量;

(有分号,是个语句,可放在函数内)

变量

VB中变量可以不经定义而直接使用,系统视该变量为变体型变量。C语言规定,程序中所有要用到的变量必须“先定义,后使用”,否则会报错。

变量命名规则

①只能由字母、数字和下划线组成。

②第一个字符必须是英文字母,最后一个字符可以是类型说明符。

③长度不得多于255个字符。

④不能是VB的保留字,但可以是嵌入保留字的字符串。

实例:Print和Print%是非法的,而Print_Text 是合法的。①只能由字母、数字和下划线组成。

②第一个字符必须是字母或下划线。

③ANSI C标准没有规定标识符的长度(字符个数),但各个C编译系统都有自己的规定。有的系统(如IBM PC的MS C)取8个字符,如果变量名长于8个字符,则只有前面8个字符有效,后面的将不被识别。Turbo C则允许32个字符。

不能是C语言中的关键字,最好不用C语言中的预定义标识符(如printf、define等)。如果变量与预定义标识符相同,系统并不报错,只是该预定义标识符将失去原定含义,代之以用户确认的含义或者会引发一些运行时错误。

大小写

①VB不区分变量名和其他名字中字母的大小写。

②为了便于阅读,每个单词开头的字母一般用大写。

③习惯上,符号常量一般用大写字母定义。①C语言对大小写敏感,大写字母和小写字母被认为是两个不同的字符。

②一般变量名用小写字母表示。

③习惯上,符号常量名用大写,变量名用小写,以示区别。

④为了便于区别全局变量和局部变量,在C程序设计人员中有一个不成文的约定(但非规定),将全局变量名的第一个字母用大写表示。

定义变量的格式

Dim/Static/Public/Private 变量名As类型

实例:

Dim a As String, I As Single

变量可用类型说明符来标识:

%整型;&长整型;!单精度浮点数;#双精度浮点数;@货币型;$字符串型。

Dim a, b, c, d As Integer 注意区别

定义a,b,c为变体型,d为整型。实例:int a, b, c, d=5; unsigned u;

float a, b; float f = 3.56;

chat c1=?a? , c2;

int a=3, b=3, c=3;

C语言允许在定义变量的同时使变量初始化。(VB不允许)

int a, b, c, d;

定义a, b, c, d都为整型变量。

变量的生存期

根据变量的生存期,变量分为动态变量和静态变量。

使用Static关键字的变量为静态变量。

实例:

Static a As Integer

Static Function 函数过程名([形参表])[As 类型]

Static Sub 子程序过程名[(形参表)] 变量的存储类别:分为两大类:静态存储类和动态存储类。

具体包含四种:自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern)。

根据变量的存储类别,可以知道变量的作用域和生存期。

注意:VB中Static语句只能出现在事件过程,Sub过程或Function过程中。在过程中的Static 变量只有局部的作用域,即只在本过程中可见,但可以和模块级变量一样,即使过程结束后,其值仍能保留。而在C语言中,用static不仅可以声明局部变量,还可以声明外部变量。

VB与C 的区别(4)

四.循环控制

循环控制

VB提供了3种不同风格的循环结构,包括计数循环(For-Next循环)、当循环(While-Wend 循环)和Do循环(Do-Loop循环)。其中For-Next循环按规定的次数执行循环体,而While-Wend循环和Do循环是在给定的条件满足时执行循环体。

当循环控制结构:

格式:While 条件

循环体

Wend

Do循环控制结构:

格式:(1)Do

循环体

[Exit Do]

Loop [ While|Until 循环条件]

(2)Do [While|Until 循环条件]

循环体

[Exit Do]

Loop

For循环控制结构:

格式:For循环变量=初值To 终值[Step步长] 循环体

[Exit For]

Next循环变量-

循环次数=Int((终值-初值)/步长+1) while语句:

格式:while (表达式) 循环体

do-while语句:

格式:do

循环体

while(表达式);

for语句:

for(表达式1;表达式2;表达式3)语句

相当于:表达式1;

while(表达式2)

{语句

表达式3 ;}

for语句最简单的应用形式也就是最易理解的如下形式:

for(循环变量赋初值;循环条件;循环变量增值) 循环体

跳出语句

Exit For:退出循环,提前结束循环,在For-Next循环中,可以含有多个Exit For语句,并且可以出现在循环体的任何位置。

Exit Do:跳出循环。在同一个Do-Loop循环中可以有多个Exit Do语句,当执行到该语句时,强行把程序的流程转移到Loop后面的语句。在多重循环中,Exit Do只能退出该语句所在的当前循环。

VB中的出口(Exit)语句:

Exit For Exit Do

Exit Sub Exit Function break语句:

1)使流程跳出switch结构,继续执行switch语句下面的一个语句;

2)用来从循环体内跳出循环,即提前结束整个循环,不再判断执行循环的条件是否成立,接着执行循环下面的语句。

break语句只能用于循环语句或switch语句。

格式:break;

continue语句:作用为结束“本次”循环。即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。执行continue语句并未使整个循环终止。格式:continue;

五.数组

数组定义

数组定义的第一种格式:

Dim数组名(下标上界)As 类型名称

Dim数组名(第一维下标上界,第二维下标上界)As 类型名称

第二种格式:

Dim数组名([下界To]上界[,[下界To]上界]……)As 类型名称

实例:

Dim a (10) As Integer

表示a(0)至a(10)11个元素。

Dim a(3,4) As float

定义a为4×5的数组,4行(0~3),5列(0~4)

Dim a (4 To 8, -2 To 3) 共5×6=30个元素。一维数组的定义:

类型说明符数组名[常量表达式];

常量表达式表示元素的个数,即数组长度。

二维数组的定义:

类型说明符数组名[常量表达式][常量表达式];

实例:int a[10];

表示a[0]至a[9]10个元素。

注意不能使用数组元素a[10]。

float a [3][4],b[5][10];

定义a为3×4(3行4列)的数组,b为5×10(5行10列)的数组。

注意不可写为:float a[3,4],b[5,10];

注意:要注意区分“可以使用的最大下标值”和“元素个数”两个概念。

“可以使用的最大下标值”指的是下标值的上界,而“元素个数”则指数组中成员的个数。VB中数组定义指定的是可以使用的最大下标(或最小下标)

而C语言中数组定义指定的是数组元素个数。

数组下标

一般情况下,下标的下界默认为0。如希望下标从1开始,可通过Option Base语句来设置,其格式为:Option Base n(注意中间有空格)。格式中的n为数组下标的下界,只能是0或1,如果不使用该语句,则默认为0。C语言中,下标从0开始。

数组的初始化

格式:

数组变量名=Array(数组元素值)

Array函数只能对一维数组进行初始化,不能对二维或多维数组进行初始化。

实例:

Dim a As V ariant, b As V ariant

a= Array (1,2,3,4,5,6,7)

b=Array (“One”, “Two”, “Three”)

注意“数组变量”的概念,即作为变量定义(只能是变体型),但作为数组使用。实例:int a[10]={0,1,2,3,4,5,6,7,8,9};

将0至9依次赋值给a[0]至a[9]。

int a[10]={0,1,2,3,4};后5个元素值为0。

int a[5]={1,2,3,4,5};

int a[ ]={1,2,3,4,5};在对全部数组元素赋初值时,可以不指定数组长度。花括号中有5个数,系统会据此自动定义a数组的长度为5。

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 以上三种初始化等价。

int a[3][4]={{1},{0,6},{0,0,11}};

int a[3][4]={{1},{ },{9}};

int a[ ][4]={{0,3,3},{ } {0,10}};

如果对全部元素都赋初值(即提供提供初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

char c[ ]={…I?,?a??m?,?h?,?a?,?p?,?p?,?y?,?\0?};

char c[ ]={“I am happy”};

char c[ ]=”I am happy”; 字符串常量的最后由系统加上一个‘\0’,故上面三者等价。

默认初值

VB中数值就是未赋初值则系统默认为0,字符串变量未赋初值系统默认为空字符串。C

语言变量若未赋初值则为随机数。(数组时不同。)因此特别注意当进行累加、累乘运算时,赋初值sum=0,sum=1,i=1等。

四.循环控制

循环控制

VB提供了3种不同风格的循环结构,包括计数循环(For-Next循环)、当循环(While-Wend 循环)和Do循环(Do-Loop循环)。其中For-Next循环按规定的次数执行循环体,而

While-Wend循环和Do循环是在给定的条件满足时执行循环体。

当循环控制结构:

格式:While 条件

循环体

Wend

Do循环控制结构:

格式:(1)Do

循环体

[Exit Do]

Loop [ While|Until 循环条件]

(2)Do [While|Until 循环条件]

循环体

[Exit Do]

Loop

For循环控制结构:

格式:For循环变量=初值To 终值[Step步长] 循环体

[Exit For]

Next循环变量-

循环次数=Int((终值-初值)/步长+1) while语句:

格式:while (表达式) 循环体

do-while语句:

格式:do

循环体

while(表达式);

for语句:

for(表达式1;表达式2;表达式3)语句

相当于:表达式1;

while(表达式2)

{语句

表达式3 ;}

for语句最简单的应用形式也就是最易理解的如下形式:

for(循环变量赋初值;循环条件;循环变量增值) 循环体

跳出语句

Exit For:退出循环,提前结束循环,在For-Next循环中,可以含有多个Exit For语句,并且可以出现在循环体的任何位置。

Exit Do:跳出循环。在同一个Do-Loop循环中可以有多个Exit Do语句,当执行到该语句时,强行把程序的流程转移到Loop后面的语句。在多重循环中,Exit Do只能退出该语句所在的当前循环。

VB中的出口(Exit)语句:

Exit For Exit Do

Exit Sub Exit Function break语句:

1)使流程跳出switch结构,继续执行switch语句下面的一个语句;

2)用来从循环体内跳出循环,即提前结束整个循环,不再判断执行循环的条件是否成立,接着执行循环下面的语句。

break语句只能用于循环语句或switch语句。

格式:break;

continue语句:作用为结束“本次”循环。即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。执行continue语句并未使整个循环终止。格式:continue;

五.数组

数组定义

数组定义的第一种格式:

Dim数组名(下标上界)As 类型名称

Dim数组名(第一维下标上界,第二维下标上界)As 类型名称

第二种格式:

Dim数组名([下界To]上界[,[下界To]上界]……)As 类型名称

实例:

Dim a (10) As Integer

表示a(0)至a(10)11个元素。

Dim a(3,4) As float

定义a为4×5的数组,4行(0~3),5列(0~4)

Dim a (4 To 8, -2 To 3) 共5×6=30个元素。一维数组的定义:

类型说明符数组名[常量表达式];

常量表达式表示元素的个数,即数组长度。

二维数组的定义:

类型说明符数组名[常量表达式][常量表达式];

实例:int a[10];

表示a[0]至a[9]10个元素。

注意不能使用数组元素a[10]。

float a [3][4],b[5][10];

定义a为3×4(3行4列)的数组,b为5×10(5行10列)的数组。

注意不可写为:float a[3,4],b[5,10];

注意:要注意区分“可以使用的最大下标值”和“元素个数”两个概念。

“可以使用的最大下标值”指的是下标值的上界,而“元素个数”则指数组中成员的个数。VB中数组定义指定的是可以使用的最大下标(或最小下标)

而C语言中数组定义指定的是数组元素个数。

数组下标

一般情况下,下标的下界默认为0。如希望下标从1开始,可通过Option Base语句来设置,其格式为:Option Base n(注意中间有空格)。格式中的n为数组下标的下界,只能是0或1,如果不使用该语句,则默认为0。C语言中,下标从0开始。

数组的初始化

格式:

数组变量名=Array(数组元素值)

Array函数只能对一维数组进行初始化,不能对二维或多维数组进行初始化。

实例:

Dim a As V ariant, b As V ariant

a= Array (1,2,3,4,5,6,7)

b=Array (“One”, “Two”, “Three”)

注意“数组变量”的概念,即作为变量定义(只能是变体型),但作为数组使用。实例:int a[10]={0,1,2,3,4,5,6,7,8,9};

将0至9依次赋值给a[0]至a[9]。

int a[10]={0,1,2,3,4};后5个元素值为0。

int a[5]={1,2,3,4,5};

int a[ ]={1,2,3,4,5};在对全部数组元素赋初值时,可以不指定数组长度。花括号中有5个数,系统会据此自动定义a数组的长度为5。

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 以上三种初始化等价。

int a[3][4]={{1},{0,6},{0,0,11}};

int a[3][4]={{1},{ },{9}};

int a[ ][4]={{0,3,3},{ } {0,10}};

如果对全部元素都赋初值(即提供提供初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

char c[ ]={…I?,?a??m?,?h?,?a?,?p?,?p?,?y?,?\0?};

char c[ ]={“I am happy”};

char c[ ]=”I am happy”; 字符串常量的最后由系统加上一个‘\0’,故上面三者等价。

默认初值

VB中数值就是未赋初值则系统默认为0,字符串变量未赋初值系统默认为空字符串。C

语言变量若未赋初值则为随机数。(数组时不同。)因此特别注意当进行累加、累乘运算时,赋初值sum=0,sum=1,i=1等。

VB与C 的区别(5)

六.过程(函数)

过程函数

VB程序是由过程组成的。

VB中的过程分为事件过程和通用过程。通用过程根据是否返回值分为:

1)子程序过程(Sub过程)

2)函数过程(Function过程)C程序由函数组成,函数是C程序的基本单位。程序的全部工作都是由各个函数分别完成的。编写C程序就是编写一个个函数。C的函数相当于其他语言中的子程序(VB中将子程序称为过程),用函数来实现特定的功能。

1)主函数(main函数);

2)被调函数:系统提供的库函数;用户自定义函数。

定义格式

Sub过程的定义格式:

[Static][Private][Public] Sub 过程名[(参数表列)]

语句块

[Exit Sub]

[语句块]

End Sub

Function过程定义格式:

[Static][Private][Public] Function 过程名[(参数表列)][As 类型]

[语句块]

过程名=表达式

[Exit Function]

[语句块]

End Function

控件事件过程的一般格式为:

[Private|Public] Sub 控件名_事件名(参数表列)

语句组

End Sub 无参函数的定义形式:

类型标识符函数名()

{声明部分

语句

}

有参函数定义的一般形式:

类型标识符函数名(形式参数表列)

{声明部分

语句

}

花括号内是函数体,它包括声明部分和语句部分。在声明部分定义所用的变量,此外对将要调用的函数作声明。

实例:Sub quad (a!, b!, c!, x1!, x2!)

Private Sub fact (n, f)

Sub abc (x As integer, ByV al y As Integer)

Function fact (n As Integer) As Long

Private Function fact(n)

Function z(x As Integer,y As Integer) As Integer

z=IIf (x > y , x , y)

End Function 实例:printstar ( )

main ( )

int max (int x, int y)

float add (float x, float y)

int max (int x, int y)

{int z;

z = x > y ? x : y ;

return(z); }

调用格式

Sub过程的调用格式:

①Call 过程名[(实参表)]

②过程名实际参数

Function过程的调用格式:

函数过程名([实参表])

实例:Call test (n,10)

Test n,10

Comb = fact(n)/(fact(m)*fact(n-m))

调用Sub过程相当于执行一个语句,不直接返回值;而调用Function过程要返回一个值,因此可以像内部函数一样在表达式中使用。由Function过程返回的值赋给了“过程名”。

函数调用的一般形式为:函数名(实参表列);

按函数在程序中出现的位置来分,可以有以下三种函数调用方式:

①函数语句。把函数调用作为一个语句,这时不要求函数带回值,只要求函数完成一定的操作(类似于VB中的Sub过程调用);

②函数表达式。这时要求函数带回一个确定的值以参加表达式的运算。(类似VB中Function过程的调用);

③函数参数。函数调用作为一个函数的实参。函数调用作为函数的参数,实质上也是函数表达式形式调用的一种,因为函数的参数本来就要求是表达式形式。

实例:printstar ();

c=2*max (a, b);

m=max (a, max (b, c));

printf (“%d”, max (a, b));

实参和行参之间的传送

在VB中参数传送有两种方式:“传值”和“传地址”。

传值:单向传送。行参的改变不影响实参的值。(类似于C语言实参和行参的传送。)

传地址:行参与实参共用一个地址,共享一个存储单元。行参的改变会导致实参的值也跟着变化。(类似C语言指针的概念)

举例:

Private Sub Command1_Click()

Dim a As Integer, b As Integer

a = V al(InputBox("请输入字母a值"))

b = V al(InputBox("请输入字母b值"))

If a < b Then Call swap(a, b)

Print "max="; a, "min="; b

End Sub 注意区别

Sub swap(x As Integer, y As Integer)

temp = x

x = y

y = temp

End Sub

输入:4 9

结果:max=9, min=4 C语言中实参和行参之间的传递是单向的“值传递”方式。

若想通过调用函数用行参来改变实参的值,必须通过用指针作为参数来实现。

举例:

swap(int x,int y)

{int temp;

temp = x;

x = y;

y = temp;}

main()

{int a,b;

scanf("%d%d",&a,&b);

if (a

printf("max=%d,min=%d",a,b);

getch();}

输入:4 9

结果:max=4 , min=9

返回值研究

函数过程(Function过程)有且只有一个返回值。

子程序过程(Sub过程)不直接返回值。但可以通过在Sub语句的参数表中增加形参的方式来带回返回值。

由于一个Function过程只能有一个过程名,也因此只能带回一个返回值。而Sub过程通过增添参数的方式可以带回任意多个返回值。

因此可以说,凡是能够用Function过程实现的程序,都可以用Sub过程来实现。由于返回值个数的限制导致Function过程不能实现的可以通过Sub过程来实现。

因此Sub过程的使用范围比Function过程更广泛。

(其实这两种过程都可以利用全局变量带回多个返回值。)函数的调用可以(而且是只可以)得到一个返回值(即函数值)。

①有时可以利用全局变量增加与函数联系的渠道,从函数中得到一个以上的返回值。

②可以运用指针变量做参数,得到多个变化了的值。详见谭浩强编著.C程序设计(第二版)第210页例10.4。

七.指针

关于指针

VB中没有指针变量。但VB中许多内容都无形中涉及了指针的概念。

比如:

①数组的赋值“b=a”语句。

详见我校VB课本黎明,刘成安编著.Visual Basic程序设计教程.第100页6.4.4

②VB中行参与实参按地址传送时。

③EOF函数,指针是否指向文件末尾。

(此处是我自己总结的,不知道恰不恰当,欢迎指正!)指针是C语言中一个很重要的概念。

C中有专门的指针类型变量。

正确而灵活地使用指针能够有效地表达复杂的数据结构;能动态分配内存;能方便地使用字符串;有效而方便到使用数组;在调用函数时得到多于一个的值;能直接处理内存地址等。可以说,不掌握指针就是没有掌握C的精华。具体学习详见谭浩强编著.C程序设计(第二版)的10章。

利用指针来访问内存是VB语言所办不到的。

VB与C 的区别(6)

八.文件

文件的组成单元

VB文件由记录组成。

记录由字段组成,字段由字符组成。

在VB中,以记录为单位处理数据。C语言中文件并不是由记录(record)组成的(这是和PASCAL或其他高级语言不同的)。一个C文件是一个字节流或二进制流。

在C语言中对文件的存取是以字符(字节)为单位的。我们把这种文件称为流式文件。

C语言允许对文件存取一个字符,这就增加了处理的灵活性。

文件扩展名

VB在工程资源管理器窗口中,含有一个应用程序所需要的文件的清单。

工程资源管理器窗口中的文件可以分为6类,即窗体文件(.frm)、程序模块文件(.bas)、类模块文件(.cls)、工程文件(.vbp)、工程组文件(.vbg)和资源文件(.res)。源程序文件(.C)经过编译得到目标程序文件(.obj),再将目标程序文件输入内存,与系统提供的库函数等连接,得到可执行的目标程序文件(.exe),最后把目标程序文件(.exe)调入内存并使之运行。

文件的打开和关闭

文件的打开或创建:

格式:Open “文件整个路径和文件名”For 方式[Access存取类型][锁定] As [#]文件号[Len=记录长度]

方式:顺序文件:Append Output Input

随机文件:Random

二进制文件:Binary

文件的关闭:

格式:Close [[#]文件号][,[#]文件号]……

实例:Open “c:\abc\abcfile.dat”For Input As #1

Close #1 文件的打开:

FILE *fp;

fp= fopen (“文件名”,“使用文件方式”);

文件的关闭:

fclose(文件指针);

实例:FILE*fp;

fp = fopen (“a1”,”r”);

fclose (fp);

检测是否到文件末尾的函数

EOF函数。格式:EOF(文件号)

EOF函数返回被打开文件是否到了文件末尾,返回值为True,表示到达文件末尾;否则返回值为False。

实例:顺序读出数据并显示在窗体上。

While Not EOF(1)

Input #1, temp

……

Wend

Do While Not EOF(1)

OneChar=Input(1,#1)

Print OneChar;

Loop feof函数。格式:feof(文件指针)

用来测试文件指针所指向的文件当前状态是否“文件结束”。如果文件结束,函数的值为“真”(非0),否则为假(0)。

实例:

将一个磁盘文件中信息复制到另一个磁盘文件中。

while ( ! feof ( fp1 )

{ fputc (fgetc ( fp1 ) , fp2) ;

……

}

文件的读写

顺序文件的读操作:

①Input #语句:Input #文件号,变量列表

②Input$函数:Input$(n , #文件号)

③Line Input# 语句:Line Input #文件号,字符串变量

随机文件的读操作:

Get #文件号,[记录号],变量名

二进制文件的读操作:

Get #文件号,[位置],变量名

顺序文件的写操作:

①Print #语句:Print #文件号,[[Spc(n)|Tab[(n)]][表达式表[,|;]]

②Write语句:Write #文件号,表达式表

随机文件的写操作:Put #文件号,[记录号],变量名

二进制文件的写操作:Put #文件号,[位置],变量名C语言中关于文件读写的主要函数:

①fputc函数putc (ch , fp);

②fgetc函数ch=fgetc (fp);

③fread函数fread (buffer , size , count , fp) ;

④fwrite函数fwrite (buffer , size , count , fp);

⑤fprintf函数fprintf (fp , 格式字符串,输出表列);

⑥fscanf函数fscanf (fp,格式字符串,输入表列);

⑦fgets函数fgets (字符数组,n,fp);

⑧fputs函数fputs (字符数组,fp);

VB习题及答案

1. _________________ GBK 字符集共有 C 汉字。 A 、6000 多 B 、10000 多 C 、20000 多 D 、30000 多 2. 美国标准信息交换码(ASCII 码)中,共有128个字符,包括___B_ 32个控制字符。 A 、52 B 、96 C 、116 D 、101 3. 在计算机中,西文字符最常用的编 码是 __C ―。 A 、原码 B 、反码 C 、ASCII 码 D 、补码 4?下列四个选项中,按照其 ASCII 码值从小到大排列的是 A Q A 、 数字、英文大写字母、英文小写字母 B 、 数字、英文小写字母、英文大写字母 C 、 英文大写字母、英文小写字母、数字 D 英文小写字母、英文大写字母、数字 5?下列字符中,其 ASCII 编码值最大的是__B ________ Q A 、9 B 、D C 、A D 、空格 6. 中文标点符号“。”在计算 机中存储时占用 —B_个字节。 A 、1 B 、2 C 、3 D 、4 7. GBK 是汉字内码 的一种扩充规范,下面叙述中错误的是 _B _ Q A. 它共有20000多个汉字 B. 、它使用双字节表示,字节的最高位均为 0 C. 、它与GB2312保持向下兼容 D 它不但有简体字,也有繁体字 &汉字从录入到打印,至少涉及三种编码,汉字输入码,字型码和 _D A 、BCD 码 B 、ASCII 码 C 、区位码 D 、机内码 9. 在下列汉字编码标准中,不支持繁体汉字的 是 _A Q 个可打印字符和 其原因不可能

A、GB2312 B、GBK C、BIG5 D、GB18030 10.在利用拼音输入汉字时,有时虽正确输入拼音码但却找不到所要的汉字, 是A ______ Q A 、计算机显示器的分辨率不支持该汉字的显示 B 、汉字显示程序不能正常工作 C 、操作系统当前所支持的汉字字符集不含该汉字 D 、汉字输入软件出错 11 ?将字符信息输入计算机的方法中,目前使用最普遍的是_A _ 。 A、键盘输入 B 、笔输入. C语音输入D、印刷体识别输入 12?汉字的键盘输入方案数以百计,能被用户广泛接受的编码方案应_C _ 。 A、必须易学易记 B可输入字数多 C.、易学易记,效率要高 D重码要少,效率要高 13. ________________ MP3音乐采用 C 编码方法。 A、MPEG-1层1 B、MPEG-1 层2 C 、MPEG-1 层3 D、MPEG-2audio 14.Windows操作系统中的“帮助”文件,为方便用户使用,提供了超文本功能,超文本采 用的信息组织形式为_C _______ 。 A 、线性结构 B 、层次结构 C 、网状结构 D 、顺序结构 15?使用计算机进行文本编辑与文本处理是常用的两种操作,下列不属于文本处理的是_ C_。 A.、文本检索 B 、字数统计 C文字输入 D 、文语转换

程序设计语言VB_习题集(含答案)

《程序设计语言VB》课程习题集 一、单选题 1. Visual Basic是一种面向()的程序设计语言。 A. 用户 B. 事件 C. 程序 D. 对象 2.在Visual Basic6.0中规定工程文件的扩展名是()。 A. vbp B. for C. frm D. bas 3. Visual Basic6.0中规定窗体文件的扩展名是()。 A. for B. frm C. vbp D. bas 4.如何使一个标签或按钮控件在运行时不可用()。 A. 把它的Visible属性设置成False B. 把它的Visible属性设置成True C. 把它的Enabled属性设置成False D. 把它的Enabled属性设置成True 5.控件的字体可在属性窗口的()属性中调整? A. Font B. Color C. Text D. Caption 6.若要将某命令按钮设置为默认命令按钮。则应设置为True的属性是()。 A. Value B. Cancel C. Default D. Enabled 7.在VB中,记录对象数据的是()。 A. 方法 B. 事件 C. 属性

8.在文本框上显示文本的属性是()。 A. Value B. Text C. Print D. Enabled 9. InputBox函数返回值的类型为()。 A. 字符串 B. 数值 C. 变体 D. 数值或字符串(视输入的数据而定) 10.设有语句:a = InputBox("请输入数值:","输入示例", "100") 程序执行后,若从键盘上输入数值20并按回车键,则变量a的值是()。 A. 字符串"20" B. 字符串"120" C. 默认值100 D. 数值120 11.下列控件中可用于接受用户输入文本,又可用于显示文本的是()。 A. Label控件 B. TextBox控件 C. Timer控件 D. CommandButton控件 12.语句PRINT "25*4"的输出结果是()。 A. 25*4 B. "100" C. 100 D. 出现错误信息 13.只能用来显示字符信息的控件是()。 A. 文本框 B. 标签框 C. 图片框 D. 图像框 14.下列可作为Visual Basic变量名的是()。 A. A%A B. 4A C. ?xy D. Stemp 15.下列哪个符号不能作为VB中的变量名()。 A. timefly

vb练习题及答案.doc

vb 练习题及答案 【篇一:vb 习题(含答案)】 lass=txt>1 、vb 程序中,通常不会产生错误提示的是( )。(1 分) a、编译错误 b、逻辑错误 c、运行时错误 d、实时错误 2、在设计阶段,双击窗体上任一空白处,打开的窗口是( )。(1 分) a、工程资源管理器窗口 b、代码窗口 c、工具箱窗口 d、属性窗口 3、下列说法中,正确的说法是( )。(1 分) a、窗体名称和该窗体文件名必须一致 b、窗体名称和该窗体文件名 可以不相同 c、窗体名称和该窗体文件名不能使用汉字 d、窗体名称不能使用汉字、但该窗体文件名能使用汉字 4、visual basic 有完备的help 联机帮助功能,可以通过按下功能 键( )得到帮助。( 1 分) a、f9 b 、f8 c、f1 d 、f5 5、以下( )控件可作为容器使用。( 1 分) a、label b 、picturebox c、textbox d 、image 6、将窗体的boderstyle 属性设置为( )可使窗口不显示标题栏。( 1 分) a、0 b 、1 c、2 d 、5 7、文本框没有( )属性(1 分) a、text b 、name c、caption d 、borderstyle 23、下列( )是不合法的常量。( 1 分) a、100 b 、10e02 c、100.0 d 、10e0.5 24、下列对变量的定义中,定义x 为变体型变量的是( )。(1 分) a、dim x as double b 、dim x c、dim x! d 、x%=23

25、设有如下变量声明:dim testdate as date ,为变量testdate 正确赋值的表达方式是( )。(1 分) a、textdate=#1/1/2002# b 、testdate=#1/1/2002# c、textdate=date(1/1/2002) d 、 testdate=format(m/d/yy,1/1/2002) 26、在立即窗口中运行以下语句,a=beijing :b=shanghai :print a,b 对其输出结果的描述中,正确的是( )。(1 分) a、beijing 和shanghai 中间没有空格 b、beijing 和shanghai 中 间有1 个空格 c、beijing 和shanghai 中间有 6 个空格 d、beijing 和shanghai 前面有7 个空格 27、语句段a=3: b=5:t=a :a=b: b=t 执行后( )。(1 分) a、a 值为3,b 值为3 b 、a 值为3,b 值为5 c、a 值为5,b 值为5 d 、a 值为5,b 值为3 28、下列语句中,正确的是( )。(1 分) a、if x3*y and xy then y=x^3 b 、if x3*y and xy then y=3x c、if x3*y : xy then y=x^3 d 、if x3*y and xy then y=x**3 29、下面程序段dim x%: x=5: if x then y=x+1 else y=x 运行后, y 结果是( )。(1 分) a、5 b 、6 c、1 d 、显示出错信息 30、执行语句 a = inputbox(today, tomorrow, yesterday, 5, 5) , 将显示一个输入对话框,在对话框的输入区中显示的信息是( )。(1 分) a、today b 、tomorrow c、yesterday d 、5 31、窗体上有一个命令按钮command1, 编写如下事件过 程: private sub command1_click() :x = val(inputbox(x=)) : y = inputbox(y=) : print x + y : end sub, 单击命令按钮,先后在两个输 入对话框中输入123 和321 ,窗体显示的内容是( )。(1 分) a、444 b 、123321 c、123+321 d 、出错信息 32、执行语句msgbox aaa, 2, bbb 后,所产生的消息框的标题是 ( )。(1 分) a、aaa b 、bbb

vb试题及答案

VB试卷 一、单项选择题(每题2分,共40分) 1. 窗体的标题栏显示内容由窗体对象的属性决定。 A) BackColor B)BackStyle C)Text D)Caption 2. 窗体的示意图标可用属性来设置。 A) Picture B) Image C) Icon D) MouseIcon 3. 窗体的控制菜单的有无由窗体对象的属性决定。 A) ControlBox B) MinButton C) MaxButton D) BorderStyle 4. 若要取消窗体的最大化功能,则可设置属性为False来实现。 A) ControlBox B) MinButton C) MaxButton D) Enabled 5. 以下4个选项,不属于VB的工作模式。 A) 编译 B) 设计 C) 运行 D) 中断 6. 窗体的边框样式由窗体对象的属性来设置。 A) BackStyle B) BorderStyle C) WindowState D) FillStyle 7. 若要以程序代码方式设置在窗体中显示文本的字体大小,则可用窗体对象的属性来实现。 A) FontName B) Font C) FontSize D) FontBold 8. 命令按钮的标题文字由属性来设置。 A) Text B) Caption C) Name D) (名称) 9. VB是面向对象的程序设计,以下4个选项,不属于面向对象的三要素。 A) 变量 B) 属性 C) 事件 D) 方法 10. 若要将某命令按钮设置为默认命令按钮,可设置属性为True来实现。 A) Value B) Cancel C) Default D) Enabled 11. 若要使命令按钮不可见,可设置属性为False来实现。 A) Value B) Enabled C) Visible D) Cancel 12. 运行程序时,系统自动执行窗体的事件。 A) load B) click C) unload D) GotFocus 13. 若要设置文本框最大可接收的字符数,可通过属性来实现。 A) MultiLine B) Length C) Max D) MaxLength 14. 若要使某命令按钮获得控制焦点,可使用方法来设置。 A) Refresh B) SetFocus C) GotFocus D) Value 15. 若要使命令钮可响应事件,可通过设置属性的取值来实现。 A) Visible B) Enabled C) Default D) Value 16. 在运行时,若要调用某命令按钮的Click事件过程,可设置该命令按钮对象的 属性为True来实现。 A) Enabled B) Value C) Default D) Cancel 17. 标签框的边框,由属性的设置值决定。

VB试题及答案

以下答案由叶阿飞童鞋友情提供。 1. 何谓VB对象,他们都是可见的吗?每种分别举两个例子。 窗口以及窗口中的每一个部件。不都可见;可视:窗口、菜单、按钮等;不可视:公共对话框、定时器等。 2.何谓对象的成员,分别加以说明。 属性,方法和事件。 ·属性:对象的数据(设置和特性),例如,颜色、大小、位置等。 ·方法:一种可在对象上操作的过程,例如,移动等。 ·事件:对象可识别的动作,例如,单击鼠标和按下键盘键。可编写代码来响应事件。 3.何谓事件驱动和事件过程。说明并举例。 只有在窗口中有关位置进行键盘输入或单击鼠标,程序才会作出响应的程序运行方式称为事件驱动方式。{所谓事件驱动就是利用事件来触发消息,系统再对相应的消息进行处理的一个机制(网上找的,不是书上的,不能确定是否正确)}。 ·vb应用程序中的某个事件被触发时,对象就会对该事件做出响应,响应某个时间后所执行的代码段就是事件过程。 4.VB集成开发环境的工作模式有哪些?分别说明每一种工作模式所能完成的功能。 <1>设计模式:创建应用程序的大多数工作都是在设计时完成的。在设计时,可以设计窗体、绘制空间、编写代码并使用“属性”窗口来设置或查看属性设置值。 <2>运行模式:代码正在运行的时期,用户可与应用程序交流,可查看代码,但不能改动它。 <3>中断模式:程序在运行的中途被停止执行。在中断模式下,用户可查看各变量及不是属性的当前值,了解程序执行是否正常。还可以修改程序代码,检查、调试、重置、单步执行或继续执行程序。 5.VB集成开发环境的控件种类有哪些?每一种分别举例说明。 <1>内部控件。主要有标签、文本框、命令按钮等。 <2>ActiveX控件。如数据绑定网络控件、数据绑定绑定组合框控件等 <3>可插入的对象。主要指microsoft office中的excel工作表或ppt幻灯片等。 6·何谓VB控件,向窗体中添加控件的方法有哪些?举例说明。 在窗体上用于输入、输出信息的图形或文字符号称为控件。 <1>单击工具箱中的控件图标,可以看到鼠标指针变成十字指针,然后在窗体的空白处按住鼠标左键拖动鼠标到合适的位置放开,即可画出对应的控件。 <2>双击工具箱中的控件图标,即可将控件添加到窗体中。 以下答案由妞仔仔童鞋友情提供。 7.试述VB编程步骤,对每一步进行必要的解释。 创建工程→界面设计→属性设置→ 代码编辑→文件保存→程序运行和调试。 创建工程 启动Visual Basic 6.0 后,在“新建工程”对话框中选择“标准EXE”文件,单击“确定”按钮。此时,工程资源管理器窗口中显示已创建了一个工程,默认名字为“工程1” 并创建了一个窗体,默认名称为“Form1” 。界面设计 新建窗体后,利用工具箱可以在窗体上依次添加控件对象。选择工具箱中的标签,通过双击或鼠标拖动将其对象拖放在窗体的合适位置; 属性设置 控件对象的默认属性值显然不能满足程序的要求,因此,我们要对每一个控件对象通过属性窗口设置属性。 代码编辑 应用程序进行到现在仅仅只做了一个空壳,当程序运行,我们单击任何命令按钮,并没有事情发生,这是因为我们还没有进行最重要的一个步骤——代码编辑。根据题目要求,我们要

VB程序设计试题及答案

VB程序设计试题及答案(三) 一、单选题 1. Visual Basic是一种面向对象的可视化程序设计语言,采取了 A 的编程机制。 (A) 事件驱动(B) 按过程顺序执行 (C) 从主程序开始执行(D) 按模块顺序执行 2. 若要使标签控件显示时不覆盖其背景内容,要对 D 属性进行设置。 (A) Backcolor (B) BorderStyle (C) Forecolor (D) Backstyle 3. 在Visual Basic中最基本的对象是 C ,它是应用程序的基石,是其他控件的容器。 (A) 文本框(B) 命令按钮 (C) 窗体(D) 标签 4. 要判断在文本框是否按下Enter键,应在文本框的 D 事件中判断。 (A) Change (B)KeyDown (C) Click (D)KeyPress 5. 数学表达式3≤x10 (C) x>=3 Or x<10 (D) x>=3 AND x<10 6. Rnd函数不可能为下列 B 值。 (A) 0 (B) 1 (C) 0.1234 (D) 0.0005 7. 赋值语句:a=123+Mid("123456",3,2)执行后,a变量中的值是 D 。 (A) "12334" (B) 123 (C) 12334 (D) 157 8. 对于语句If x=l Then y=l,下列说法正确的是 C 。 (A) x=l和y=l均为赋值语句 (B) x=l和y=l均为关系表达式 (C) x=l为关系表达式,y=l为赋值语句 (D) x=l为赋值语句,y=l为关系表达式 9. 下面程序段表示求两个数中的大数, D 不正确。 (A) Max=IIf(x>y,x,y) (B) If x>y Then Max=x Else Max=y (C) Max=x (D) Ify>=x Then Max=y If y>=x Then Max=y Max=x 10.当在文本框中输入“ABCD”4个字符时,窗体上显示的是 C 。 Private Sub Text1_Change( ) Print Text1; End Sub (A) ABCD (B) A (C) AABABCABCD (D) A B AB C ABC D ABCD 11.下列哪个程序段不能分别正确显示1!、2!、3!、4!的值 B 。 (A) For i=1 to 4 (B) For i=1 to 4 n=1 For j=1 to i

vb试题和答案(优选.)

1.工程文件的扩展名是vbp。 2.VB中若要产生一个消息框用msgbox 实现。 3.若要获得滚动条的当前位置,可以通过value属性来实现。 4.关闭正在运行的VB窗口将自动触发的事件是unload. 5.窗体的标题栏属性由窗体对象的caption属性决定。 1、VB程序设计的主要特点是可视化设计和事件编程。 2、在VB中,最主要的两种对象是窗体(form)和控件。 3、工程是构成应用程序文件的集合。 4、方法是VB提供的一种特殊子程序,用来完成一定的操作。 5、浮点类型数据包括单精度型和___双精度__数据。 6、事件是窗体或控件对象识别的__动作____。 7、可用窗体的__print_ 方法在窗体中显示文字。 8、复选框控件Value属性指示复选框处于____选中___或禁止状态(暗淡的)中的某一种。 9、在VB中,修改窗体的高度(height)和宽度(width)属性值,可改变窗体的大小。 10、双击工具箱中的控件图标,可在窗体的中央出现一个尺寸为缺省值的控件。 11、在MsgBox函数中,如果缺省title参数,则使用工程1 作为消息框的标题。 12、设x=34.58,语句Print Format(x,“000.0”)的输出结果是 34.6 。 13、在VB 中,数值型变量的初值为 0 ,Varant型变量的初值为空,布尔型变量的初值为 FALSE 。 14、设置窗体的 picture 属性,可在窗体上显示图片。 15、程序运行工程中,清除MP图片框中的图片应使用语句 cls 。 二、选择题 1、菜单控件只包括一个事件,即 C ,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。 A、GotFocus B、Load C、Click D、KeyDown 2、滚动条控件(如图所示)的Max属性所设置的是 A 。 A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值 B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量 C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量 D、滚动条控件无该属性 3、SQL 语句 Select * Form student 中的 *表示 B 。 A、所有记录 B、所有字段 C、所有表 D、都不对 4、以下选项中,不属于标签的属性是 C 。 A、Enabled B、Caption C、Default D、Font 5、要求改命令按钮显示的文本,应当在属性窗口中改变的属性是 A 。 A、Caption B、Name C、Text D、Label 6、设置一个单选按钮(OptionButton)所代表选项的选中状态,应当在属性窗口中改变的属性是 D 。 A、Caption B、Name C、Text D、Value

vb经典题目及答案

1、在考生文件夹下有工程文件wy7.vbp及窗体文件wy7.frm,该程序是不完整的,请在有?号的地方填入正确的程序代码,然后删除?及所有注释符号(即'号),但不能修改其它部分。修改后的程序文件都保存,存盘时不得修改文件夹和文件名。 本题描述如下: 在窗体上有一个名为Text1的文本框,有三个命令按钮,名称分别是C1、C2和C3,标题分别是"读入"、"加密"和"存盘"。要求程序运行后,点击"读入"按钮,将文本文件in7.txt(该文件在考生文件夹下)中的文本信息读入文本框Text1中;点击"加密"按钮将Text1中的英文字母加密转换,并将转换后的结果显示到Text1中。转换方式为转换成该字母对应字母表中后两个位置的字母。例如,转换前的字母是"a",则转换后的是"c",转换前是"E",转换后是"G";点击"存盘"按钮,则将转换后的文本框中的文本保存到out7.txt文件中(该文件保存到考生文件夹下)。 Private Sub C1_Click() Dim strinfo As String Open "in7.txt" For Input As 1 Input #1, strinfo Close #1 Text1.Text = strinfo End Sub Private Sub C2_Click() Dim strchange As String Dim i As Integer For i = 1 To Len(Text1.Text) strchange = strchange + Chr(Asc(Mid(Text1.Text, i, 1)) + 2) Next Text1.Text = strchange End Sub Private Sub C3_Click() Open "out7.txt" For Output As 1 Print #1, Text1.Text Close #1 End Sub 2、(1)在考生文件夹下有工程文件wy5.vbp及窗体文件wy5.frm,该程序是不完整的,请在有?号的地方填入正确容,然后删除?及所有注释符(即'号),但不能修改其它部分。存盘时不得改变文件名和文件夹。本题描述如下: 在窗口中有一个RichText文本框控件(名称为rtx1)和一个文本框控件(名称为Text1),两个命令按钮,

vb试题及答案

一、选择题(1-30 题每小题1分,共30分,31-45题每小题2分,共30分,总计60分)要使窗体Form1的标题栏中显示“正在复制文件…”,正确的语句是:a A.Form1.Caption=“正在复制文件…” B.Form1.Title=“正在复制文件…” C.Form1.Text=“正在复制文件…” D.Form1.名称=“正在复制文件…” 如果要求设置定时器时间间隔为1秒钟,那么它的Interval属性值应该等于:a A.1000 B.100 C.10 D.1 3、下列关于控件的基本操作中,错误的是 A)当控件处于活动状态时,可以对控件进行缩放 B) 在设计阶段不能移动控件 C) Visual Basic 6.0 允许对画好的控件进行复制和删除 D) 可以通过属性窗口改变控件的位置和大小 4、用Visual Basic 开发应用程序的一般步骤有:①设置窗体和控件的属性、②编写代码、③建立用户界面,其中正确的顺序是: A) ①②③B) ①③②C) ③②①D) ③①② 5、为使文本框只能显示不能输入,即只读,应设置文本框的属性是:c A.MaxLength设置为0 B.Cancel设置为True C.Locked设置为True D.Read设置为True 6、InputBox函数返回值的类型为。B A.数值B.字符串C.变体 D.数值或字符串(视输入的数据而定) 7、为了把焦点移到某个指定的控件,所使用的方法是:A A.SetFocus B.Visible C.ReFresh D.GetFocus 8、函数String(3,”str”)的功能是:b A.把数值型数据转换成字符串 B.返回有3个字符串组成的字符串 C.从字符串中第3个字符 D.从字符串中第3个字符的位置开始取字符串 9、双击窗体中的对象后,Visual Basic将显示的窗口是:c A.项目(工程)窗口B.工具箱C.代码窗口D.属性窗口 10、用于获得字符串s最左边4个字符的函数是:a A.Left(s,4) B.Left(1,4) C.LeftStr(s) D.LeftStr(3,4) 11、以下程序段的输出结果是:d a=Sqr(3) b=Sqr(2) c=a>b Print c A.-1 B.0 C.False D.True 12、用下面语句定义的数组的元素个数是:c Dim A (-4 to 6) As Integer A.6 B.7 C.11 D.9

VB程序设计试题及答案一

V B程序设计试题及答案(一) 一、单选题 1. VB6.0是一种面向B 的编程环境。 (A) 机器(B) 对象 (C) 过程(D) 应用 2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下D 语句是正确的。 (A) Forml.Caption=“欢迎使用VB” (B) Forml.Caption='欢迎使用VB' (C) Forml.Caption=欢迎使用VB (D) Forml.Caption="欢迎使用VB" 3. 若要使命令按钮不可操作,要对A 属性进行设置。 (A) EnabIed (B)Visible (C) Backcolor (D)Caption 4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过C 事件获得输入键值的ASCII码。 (A) Change (B) LostFocus (C) KeyPress (D) GotFocus 5. 下面A 是合法的变量名。 (A) X_yz (B) 123ab。(C) integer (D) X-Y 6. 以下关系表达式中,其值为False的是A 。 (A) "ABC">"AbC" (B) "女">"男" (C) "BASIC"=UCase("basic) (D) "123"<"23" 7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A 。 (A) x=1:y=1:z=1 (B) x=1,y=1,z=1 (C) x=y=z=1 (D) xyz=1 8. VB提供了结构化程序设计的三种基本结构,三种基本结构是D 。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。 (A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l (B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l (C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l (D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是D 。 (A) Do While…Loop循环和Do…Loop Until循环至少都执行一次 (B) Do While…Loop循环和Do…Loop Until循环可能都不执行 (C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下B 是正确的For…Next结构。 (A) For x=1 To Step 10 (B) For x=3 To -3 Step -3 ……

VB考试题及答案

1、VB应用程序中可以包括三种模块:( 窗体模块)、( 标准模块) 和类模块。 2、下列过程不能在标准模块中定义的是( A )。 A、事件过程 B、子过程 C、函数过程 D、公共过程 3、以下叙述中错误的是D A、如果过程被定义为Static类型,则该过程中的局部变量都是Static类型 B、Sub过程中不能嵌套定义Sub过程 C、Sub过程中可以嵌套调用Sub过程 D、事件过程可以像通用过程一样由用户定义过程名 2、在某一窗体模块中定义的全局级过程,若被该模块外的模块所调用,必须在该过程名前加上( 窗体名称)。 2、自定义的过程有两种形式:_Sub_和_Function_。 3、用于退出过程的语句是( D )。 A、Exit B、Exit For C、Exit Do D、Exit Sub 4、在过程的参数列表中列入__ Optional __关键字,就可以指定过程的参数为可选的。 5、如果使用Call关键字来调用一个需要参数的过程,参数就必须要加上__括号__。 1、在窗体代码中有以下事件过程的声明,其中Private表示( B ) Private Sub lblAbc_Change() …… End Sub A、此过程可以被任何其它过程调用 B、此过程只可以被本窗体模块中的其它过程调用 C、此过程不可以被其它过程调用 D、此过程只可以被本工程中的其它过程调用 9、假定已定义了一个过程Sub Add(a As Single,b As Single),则正确的调用语句是( A )。 A、Add 12,5 B、Call(2*x,Add(1.57)) C、Call Add x,y D、Call Add(12,12,x) 10、要想在过程调用后返回两个结果,下面的过程定义语句合法的是( C )。 A、Sub Procl(ByVal,n,ByVal m) B、Sub Procl(n,ByVal m) C、Sub Procl(n,m) D、Sub Procl(ByVal n,m) 6、写出单击命令按钮Command1时的窗体显示结果。 Public Sub Proc(ByRef n As Integer,ByVal m As Integer) n=n Mod 10 m=m\10 End Sub Private Sub Command1_Click() Dim x as Integer,y As Integer x=15:y=30 Call Proc(x,y) Print x;y

VB考试试题及答案

VB考试试题及答案

卷1 一、填空题 1、VB程序设计的主要特点是可视化设计和事 件编程。2、在VB中,最主要的两种对象是窗体 (form)和控件。 3、工程是构成应用程序文件的集合。 4、方法是VB提供的一种特殊子程序,用来完成一定的操作。 5、浮点类型数据包括单精度型和___双精度__数据。 6、事件是窗体或控件对象识别的__动作____。 7、可用窗体的__print_ 方法在窗体中显示文字。 8、复选框控件Value属性指示复选框处于____选中___或禁止状态(暗淡的)中的某一种。 9、在VB中,修改窗体的高度(height)和宽度(width)属性值,可改变窗体的大小。 10、双击工具箱中的控件图标,可在窗体的中央出现一个尺寸为缺省值的控件。 11、在MsgBox函数中,如果缺省title参数,则使用工程1 作为消息框的标题。 12、设x=34.58,语句Print Format(x,“000.0”)的输出结果是34.6 。 13、在VB 中,数值型变量的初值为0 ,Varant型变量的初值 为空,布尔型变量的初值为FALSE 。 14、设置窗体的picture 属性,可在窗体上显示图片。 15、程序运行工程中,清除MP图片框中的图片应使用语句cls 。 二、选择题 1、菜单控件只包括一个事件,即 C ,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。 A、GotFocus B、Load C、 Click D、KeyDown 2、滚动条控件(如图所示)的Max属性所设置的是 A 。 A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值 B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量 C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量 D、滚动条控件无该属性 3、SQL 语句Select * Form student 中的*表 示 B 。 A、所有记录 B、所有字段 C、所有表 D、都不对

vb题库及答案

最新VB题库及答案 一、选择题 第1部分 1、在窗体(名称为Form1)上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的事件过程是 A、Private Sub Text1_Change() = "计算机等级考试" End Sub B、Private Sub Command1_Click() Caption = "计算机等级考试" End Sub C、Private Sub Form_Click() = "计算机等级考试" End Sub D、Private Sub Command1_Click() = "计算机等级考试" End Sub 2、在一行内写多条语句时,每个语句之间用()符号分隔。 A、 , B、: C、. D、; 3、下面()是合法的变量名。 A、X_YZ B、123ABC C、INTEGER D、X-Y 4、下面()是合法的字符常量。 A、 ABC$ B、“ABC” C、‘ABC’ D、 ABC 5、表达式16/4 - 2^5*8 MOD 5\2的值为()。 A、14 B、 4 C、20 D、2 6、设a=”MicrosoftVisualBasic”,则以下使变量的b值为”VisualBasic”的语句是 A、b=Left(a,10) B、b=Mid(a,10) C、b=Right(a,10) D、b=Mid(a,11,10) 7、设a="a",b="b",c="c",d="d",执行语句x = IIf((a < b) Or (c > d), "A", "B")后,x的值为 A、"a" B、"b" C、"B" D、"A" 8、在窗体上画一个文本框,然后编写如下事件过程: Private Sub Form_Click()

VB期末考试试题及答案

二、选择题 1、菜单控件只包括一个事件,即 C ,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。 A、GotFocus B、Load C、Click D、KeyDown 2、滚动条控件(如图所示)的Max属性所设置的是 A 。 A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值 B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量 C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量 D、滚动条控件无该属性 3、SQL 语句 Select * Form student 中的 *表示 B 。 A、所有记录 B、所有字段 C、所有表 D、都不对 4、以下选项中,不属于标签的属性是 C 。 A、Enabled B、Caption C、Default D、Font 5、要求改命令按钮显示的文本,应当在属性窗口中改变的属性是 A 。 A、Caption B、Name C、Text D、Label

6、设置一个单选按钮(OptionButton)所代表选项的选中状态,应当在属性窗口中改变的属性是 D 。 A、Caption B、Name C、Text D、Value 7、允许在菜单项的左边设置打勾标记,下面哪种论述是正确的? D 。 A、在标题项中输入&,然后打勾 B、在索引项中打 勾 C、在有效项中打勾 D、在复选项中打勾 8、当执行以下过程时,在窗体上将显示 A 。 Private Sub Command1_Click( ) Print "VB"; Print "Hello! "; Print "VB" End Sub A、 VBHello!VB B、 VB Hello!VB C、 VB D、 VB Hello! VB Hello! VB 9、语句Print "The answer is:";20/4-2的结果为 B 。 A、The answer is 20/4-2 B、The answer is 3 C、The answer is "20/4-2" D、非法语句 10、下列哪个控件是容器控件 B 。 A、Image B、Picture C、ComboBox D、FileListBox 11、若要将窗体从内存中卸载出去,其实现的方法是 D 。 A.Show B.Hide C.Load D.UnLoad 12、以下选项中,不是 Visual Basic控件的是 A 。 A.窗体 B.定时器 C.单选框 D.命令按钮 13、双击窗体中的对象后,Visual Basic将显示的窗口是 A 。 A.代码窗口 B.工具箱 C.项目(工程)窗口 D.属性窗口 14、可决定窗体的左上角是否有控制菜单的属性是 A 。 A.ControlBox B.MinButton C.MaxButton D.BorderStyle 15、设有如下语句: Strl=InputBox("输人","","练习") 从键盘上输人字符“示例”后,Strl的值是 D 。 A.“输入” B.“” C.“练习” D.“示例” 16、窗体Form1的Name属性是Frm1,它的单击事件过程名是 C 。 A. Form1_Click B.Form_Click C. Frm1_Click D. Me_Click

vb习题(含答案)

vb习题(含答案)

本卷共有3道大题: 一、单项选择题(50道小题,共50分) 1、VB程序中,通常不会产生错误提示的是( )。(1分) A、编译错误 B、逻辑错误 C、运行时错误 D、实时错误 2、在设计阶段,双击窗体上任一空白处,打开的窗口是( )。(1分) A、工程资源管理器窗口 B、代码窗口 C、工具箱窗口 D、属性窗口 3、下列说法中,正确的说法是( )。(1分) A、窗体名称和该窗体文件名必须一致 B、窗体名称和该窗体文件名可以不相同 C、窗体名称和该窗体文件名不能使用汉字 D、窗体名称不能使用汉字、但该窗体文件名能使用汉字 4、Visual Basic有完备的Help联机帮助功能,可以通过按下功能键( )得到帮助。(1分) A、F9 B、F8 C、F1 D、F5 5、以下( )控件可作为容器使用。(1分) A、Label B、PictureBox C、TextBox D、Image 6、将窗体的BoderStyle属性设置为( )可使窗口不显示标题栏。(1分) A、0 B、1 C、2 D、5 7、文本框没有( )属性(1分) A、Text B、Name C、Caption D、BorderStyle

8、以下关于命令按钮的控件属性的描述中,不正确的是( )。(1分) A、Default用来设置缺省命令按钮 B、ForeColor用来设置前景色 C、Font用来设置字体 D、Caption用来设置标题 9、设置标签Label1的( )属性使它不可见。(1分) A、Label1.Visible = 0 B、Label1.Visible == 1 C、Label1.Visible = Tru D、Label1.Visible = False 10、要使时钟控件的Timer事件每隔3秒发生一次,应该把它的Interval属性设置为( )。(1分) A、3 B、30 C、300 D、3000 11、将当前目录下的图形文件Clock.jpg装入图片框Picture1的语句是( )。(1分) A、Picture = "Clock1.jpg" B、Picture = LoadPicture("Clock1.jpg") C、Picture1.Picture = "Clock1.jpg" D、Picture1.picture = LoadPicture("Clock1.jpg") 12、决定一个控件不可见,要将该控件的( )属性设置为False。(1分) A、Enabl B、Visible C、Width D、Text 13、以下算术运算符中,优先级最低的是( )。(1分) A、\ B、/ C、^ D、* 14、下列表达式中,合法的是( )。(1分) A、a

VB试题及答案

VB试题及答案(二) 一、填空题 1、在Visual Basic6、0中,按变量作用域的不同可将变量分为全局变量与局部变量两种;声明静态变量的关键字 为 Static ; 2、在Viual Basic6、0中,程序结构有顺序、选择、循环 3种结构。 3、控制控件就是否可见的属性为 Visible ;控制控件就是否可用的属性为 Enabled ;控件的位置就是 由 Left 与 Top 属性来确定的;控件的大小就是 由 Width 与 Height 属性来确定;控件上所显示的文本就是由 Caption 属性来设定的; 4、与鼠标有关的事件包括 Click 、 DblClick 、MouseDown 、 MouseUp MouseMove ,其中 Click 事件在单击控件时被激发, MouseDown 事件在鼠标键被按下时被激发, MouseUp 事件在鼠标被松开时被激发。 5、与键盘有关的事件包 括 KeyPress 、 KeyDown 、 KeyUp ,其 中 KeyPress 事件在单击键盘键时被激 发, KeyDown 事件在按下键盘键时被激发, KeyUp 事件在松开键盘键时被激发。 6、向列表框与组合框中添加列表时,可使用 AddItem 方法;

删除选定的列表,可使用 RemoveItem 方法;删除全部列表项,可使用 Clear 方法。 7、定时器控件能够响应的唯一事件为 Timer ,并且该事件被激发的时间间隔由 Interval 属性来给定。 8、弹出式菜单一般不直接显示在窗体上,因此菜单 的 Visible 属性一般设为False。要显示弹出式菜单可以 用 PopupMenu 方法。 9、工具栏一般显示在菜单栏下面,由命令按 钮组成;状态栏一般显示在窗体的底部 , 由窗格(Panels) 组成。 10、在图片框绘图之前,除了要建立好坐标系之外,还必须设置好线条的类型、线条的宽度、绘图的模式、填充的样式与填充的颜色,其中线条类型由 DrawStyle 属性来设置,线条宽 度 DrawWidth 属性来设置,绘图模式 由 DrawMode 属性来设置,填充样式 由 FillStyle 属性来设置。 11、要想让一个标准的窗体变为多文档窗体的子窗体,必须将标准窗体的 MDIChild 属性设为True。 12、顺序文件可以通过 Write 语句或 Print 语句将数据写入文件,而读取文件中的数据可以使用 Line Input# 语句、 Input# 语句或 Input 函数来实现。随机文件与二进制文件的读操作可以通

相关文档