《Visual Basic程序设计》课件1第4章_第1页
《Visual Basic程序设计》课件1第4章_第2页
《Visual Basic程序设计》课件1第4章_第3页
《Visual Basic程序设计》课件1第4章_第4页
《Visual Basic程序设计》课件1第4章_第5页
已阅读5页,还剩158页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章基本控制结构4.1顺序结构

4.2选择结构

4.3循环结构

4.4嵌套

4.5应用举例

4.6Do循环的其他结构

教学小结

习题 4.1顺序结构

4.1.1输出数据的基本方法

在VB中,输出数据的方法比较多,经常使用的有以下三种方法。

1.调用窗体或图片框的Print方法

前面章节已经介绍了窗体和图片框的Print方法,本节主要通过举例说明Print方法中Tab函数的使用。

在Print方法中,Tab函数是用于确定输出项列位置的函数。使用时Tab函数通常和输出项之间用分号隔开。格式为:

Print[Tab(n);]输出项

该格式表示在窗体当前行第n列显示输出项的值。

例4-1

在窗体上输出一个由“ * ”组成的等腰三角形,首行一个“ * ”,共5行。

分析:采用顺序结构来完成,需要写出5个输出语句,每一个语句用一个Tab函数来控制输出列的起始位置。程序代码写在命令按钮的Click事件中,代码如下:

PrivateSubCommand1_Click()

PrintTab(9);"*"

PrintTab(8);"***"

PrintTab(7);"*****"

PrintTab(6);"*******"

PrintTab(5);"*********"

EndSub在该代码段中,Tab(9)、Tab(8)、…、Tab(5)分别用来控制每行第一个字符的输出位置,即相对于当前窗体左边的位置。程序执行结果如图4-1a所示。图4-1a用Tab函数控制列位置其实,图片框控件也支持Print方法,其Print方法的调用格式为:

图片框名.Print[Tab(n);]输出项

如果将上述结果输出到图片框控件对象Picture1中,仅需要在窗体上添加一个图片框(PictureBox),将例4-1所有的Print方法前加上“Picture1.”,运行结果如图4-1b所示。图4-1b输出到图片框

2.利用标签(Label)输出结果

利用标签输出结果是通过标签的Caption属性来实现的。方法是:将输出内容组成字符串,作为标签的Caption属性值。当输出信息较多时,还可在输出字符串中加回车Chr(13)或换行Chr(10)控制符,使输出效果更清晰。

例4-2

鸡兔同笼问题:笼中饲养鸡和兔子,总头数为16,总脚数为40。问笼中鸡和兔子各几只?

分析:设有鸡x只,兔y只,鸡和兔的总头数为h,总脚数为f。根据题意可以写出下面的方程式:

本例中h和f的值已知,可以使用赋值语句将数据直接写在程序中,输出结果可以通过标签显示出来。

在窗体上添加1个标签和1个命令按钮(见图4-2a),标签的AutoSize为True,命令按钮的Caption值设置为“计算”。本段代码中,鸡和兔的总头数预先确定,计算结果(鸡和兔只数)可用具体的表达式表示。结果通过Label1输出,输出字符串中加入了一个换行符Chr(10)实现换行功能,当然也可以用回车符Chr(13)代替换行符Chr(10)。程序运行结果如图4-2b所示。

同样,利用文本框的Text属性和消息对话框MsgBox函数等,也能输出运算结果。图4-2a窗体布局情况图4-2b程序运行结果

3.输出到数据文件中

利用Print语句可以将程序处理结果直接输出到数据文件中并保存起来,供其他程序共享使用。将数据输出到数据文件中,必不可少的步骤有三个,分别是:

(1)利用Open语句创建数据文件。格式为:

Open文件标识ForOutputAs#文件号

其中:文件标识是由待写入的数据文件名及路径组成的字符串;文件号是一个内存缓冲区编号,取值范围在1~511之间。

(2)利用Write语句写入文件。格式为:

Write#文件号,数据1,数据2,数据3……

(3)关闭文件。格式为:

Close#文件号

例4-3

将例4-2的运算结果输出到数据文件中。

程序代码如下:图4-3写入文件中的数据4.1.2提供数据的基本方法

1.使用InputBox函数

例4-4

用InputBox函数提供数据来求解鸡兔同笼问题。

在程序运行过程中,通过InputBox函数接收总头数与总脚数,运算结果通过Print方法输出到窗体上。

程序代码如下:

2.使用文本框

在程序运行时为变量提供数据,除了使用InputBox函数外,还可以将文本框的Text属性值赋给变量。

使用文本框为变量提供数据的格式为:

变量名=对象名.Text

例4-5

用文本框提供数据来求解鸡兔同笼问题。

设计步骤如下:

(1)界面设计。

在窗体上添加2个文本框(Text1,Text2)、3个标签(Label1,Label2,Label3)、1个命令按钮(Command1),如图4-4a所示。图4-4a界面布局

(2)属性设置。

标签的AutoSize值均为True,文本框的Text和Label3.Caption为空,Label1.Caption为 "总头数为:",Label2.Caption为 "总脚数为:",Command1.Caption为 "计算"。

(3)编写程序代码。程序运行时,Text1首先获得焦点,等待用户输入总头数,输入完数据后,按Tab键或鼠标单击Text2,使Text2获得焦点,输入总脚数,再单击“计算”按钮执行计算程序,计算结果通过Label3的Caption属性显示出来。程序运行结果如图4-4b所示。图4-4b运行结果

3.从文件中获得数据

从文件中读取数据一般分为三个步骤:

(1)利用Open语句打开文件。格式为:

Open文件标识ForInputAs#文件号

(2)利用Input语句读出数据。格式为:

Input#文件号,变量1,变量2,变量3……

该语句可以将文件中的数据依次读出并一一赋给对应位置的变量。

(3)关闭文件。格式为:

Close#文件号 4.2选择结构

4.2.1If结构

If结构的流程如图4-5所示,语法格式如下:

If<条件1>Then

<语句组1>

[ElseIf<条件2>Then

<语句组2>

……

ElseIf<条件n>Then

<语句组n>

Else

<语句组n+1>]

EndIf图4-5If多分支结构流程图执行过程如下:

(1)从上到下依次判断条件,当遇到第一个条件被满足后,便执行相应的语句组,执行完后,执行EndIf的后续语句。也就是说,首先判断第一个条件是否成立,若成立,执行语句组1,再执行EndIf的后续语句;如果条件不成立,判断第二个条件,处理办法同第一个条件,……,其他依次类推。

(2)如果所有条件都不成立,则执行Else对应的语句组n+1,最后执行EndIf之后的语句。

例4-7

从键盘输入血型,输出该血型的性格特点(性格特点可以从网上获得)。

分析:常规血型分为A、B、AB、O型四种,该题可以通过建立一个四个分支的选择结构完成。

新建一个工程,在窗体上添加1个文本框(Text1,用于输入血型)、1个命令按钮(Command1)、2个标签(Label1用于输入提示,Label2用于输出结果)。各控件的摆放位置如图4-6所示。

程序代码如下:

PrivateSubCommand1_Click()

Dimx$,y$

x=UCase(Text1.Text)

Ifx="O"Then图4-6程序运行界面

例4-8C盘根目录下的数据文件in.txt保存了3个整数(数据文件内容如图4-7所示),请读出数据并判断以这3个数为边长的3条线段能不能构成三角形,如果能构成三角形,求这个三角形的面积,否则,输出信息“三边构不成三角形!”。图4-7数据文件内容这是一种常用的If结构,由于它只有两个分支且两个分支的条件互为反条件,所以简称为双分支结构。双分支结构的流程如图4-8所示。图4-8If双分支结构流程图

例4-9

设计一个整点报时程序,使其具有整点报时的功能。

程序运行后需要不断获得系统时间,所以需要一个计时器控件,每隔1秒钟取一次系统时间。系统时间格式为“HH:MM:SS”,只要判断后5位为“00:00”即可得到整点时刻。程序判断流程为:取系统时间右5位与“00:00”比较,如果相等则报时,否则不做任何操作,程序继续。

界面设计非常简单,在窗体上添加1个标签(用于显示系统时间)、1个计时器(将其Interval属性设置为1000)即可。程序代码如下:程序运行界面见图4-9,该程序运行成功的条件必须是计算机时间快到整点才行。图4-9程序运行界面如果将条件改为:

Right(x,2)="00"

再将后面的输出信息改动一下,就可以实现整分报时了。

本例中Else之后没有任何操作语句,可以将Else省去,这种结构常称为单分支结构。单分支结构流程如图4-10所示。图4-10单分支结构流程图另外,VB还提供如下一种格式:

If<条件>Then<语句组1>[else语句组2]

执行过程为:当条件成立时,执行语句组1;否则执行语句组2。

4.2.2SelectCase结构

在VB中,除了If结构外,还可使用SelectCase结构完成分支选择。

格式如下:

SelectCase结构执行过程与块If多分支结构相同,即按照从上到下的顺序进行条件判断,执行首次条件成立时对应的Case语句组中的语句之后,再执行EndSelect的后续语句。Select多分支结构流程如图4-11所示。图4-11Select多分支结构流程图

例4-10

用SelectCase结构计算分段函数。

程序代码如下:

PrivateSubCommand1_Click()

DimxAsSingle,yAsSingle

x=Val(InputBox("请输入变量的值"))

SelectCasex

CaseIs>=10 '情况:x>=10

y=x^2+1

CaseIs>=-5 '情况:x>=-5andx<10

y=0

CaseIs<-5 '情况:x<-5

y=x^2-1

EndSelect

Print"x=";x,"";"y=";y

EndSub还要进一步说明的是,SelectCase结构与块If多分支结构均属于“多中选一”的情况,但各有所长,在表示多分支简单条件时两者均可,SelectCase结构似乎更清晰些;当遇到复合条件时,只能使用块If结构,而不能使用SelectCase结构。

例4-11

编程判断从键盘上输入的日期(格式:YYYY-MM-DD)是否合法。例如月份在1~12之间就为合法日期,另外还要考虑闰年的情况;为了简化程序,这里也对年份做出规定,要求在1900~3000之间。

程序代码如下:4.2.3有关函数

IIf()和Choose()函数为条件判断函数,根据不同情况返回不同的值。

1.IIf函数

格式:

IIf(条件,表达式1,表达式2)

说明:当条件成立时,该函数返回表达式1的值,否则返回表达式2的值。

2.Choose函数

格式:

Choose(整数表达式,选项列表)

说明:根据整数表达式的值,决定函数返回选项列表中的某个值。如果整数表达式的值为1,则返回选项列表中的第一个选项值;如果是2,则返回第二个选项值,依此类推。若整数表达式的值小于1或大于列出的选项数时,函数返回空值(Null)。

例4-12

根据系统当前日期,输出今天是星期几?

分析:使用date函数获取系统的当前日期,使用Weekday(d)函数返回一周中的第几天(返回值为数字1~7)。程序实现时最容易想到的就是使用多分支结构,根据Weekday(d)的值输出“星期日”、“星期一”……“星期六”,这样程序会非常冗长。

如果使用Choose函数,关键问题是构造Choose函数中的第一个参数“整数表达式”,使其取值范围为1~7,第二个参数便是“星期日”、“星期一”……“星期六”列表。

程序代码如下:

PrivateSubCommand1_Click()

DimdAsDate,xAsInteger,yAsString

d=Date

x=Weekday(d)

y=Choose(x,"日","一","二","三","四","五","六")

Print"星期"&y

EndSub

通过比较可以看出,选择合适的函数可以优化程序结构,减少代码行。 4.3循环结构

循环结构也是结构化程序设计的三种基本结构之一。在程序中,把重复执行一组指令(程序段)的操作称为循环操作。根据循环次数预先确定与否,循环结构分为循环次数确定的For…Next结构和循环次数不确定的Do…Loop结构。其中,Do…Loop结构又可以分为前测试循环和后测试循环两种,每一种结构又对应了两种形式,如图4-12所示。图4-12循环结构形式4.3.1DoWhile…Loop循环结构

前测试当型循环DoWhile…Loop结构表示为:

DoWhile<循环条件>

<循环体>

Loop

DoWhile…Loop循环执行流程如图4-13所示。图4-13DoWhile…Loop循环执行流程图

例4-13

计算1 + 2 + 3 + … + 10的值。

分析:这是一个累加问题。假设变量n表示累加数,变量s表示累加和,变量i表示累加次数,累加模型s=s+n,其中n的第一个数为1,最后一个数为10,相邻两个数之间相差为1。

算法分析如下:

(1)给变量n、s和i赋初值0。

(2)一次累加过程如下:

n=n+1 '计算累加数

s=s+n '累加

i=i+1 '计算累加次数

(3)重复累加10次,操作如下:

DoWhilei<10

累加操作语句组

Loop

(4)输出计算结果。

程序代码如下:

PrivateSubCommand1_Click()

Dimi%,s%,n%表4-1例4-13执行过程

例4-14

设某工厂当年产值为13亿,如果每年以5%的平均速度增长,问经过多少年后该工厂的产值达到或超过18亿。

分析:设x为当年产值,y为经过1年后的产值,则y=x×(1 + 0.05);判断y值是否达到或超过18亿(即判断y≥18是否成立),如果不成立,则让x=y(即年末产值为下年年初值),n = n + 1(n为经过的年数);依次类推,直到y≥18成立时结束。

程序代码如下:分析程序运行过程可以看出,该问题的实质是一个累乘问题,即在13亿的基础上循环累乘1+0.05,累乘了多少次,就是经过了多少年,当累乘结果大于或等于18亿时,结束累乘。应用到累乘模型“f = f * i”。程序代码如下:

Dimx!,n%

x=13

n=0

Dowhilex<18

x=x*(1+0.05)'x经过1年后的产值,可作为下年年初值

n=n+1

Loop

MsgBox"经过"&n&"年以后,产值达到或超过"&x&"亿"

其实,有些问题(如例4-13)的循环次数预先是可以计算出来的,当循环次数已知时,用For…Next结构比DoWhile…Loop结构会更简单。4.3.2For…Next循环结构

对于循环次数已知的循环,除了可以用DoWhile…Loop结构外,还可用For…Next结构。格式如下:

For循环变量=初值To终值[Step步长]

<循环体>

Next[循环变量]

For…Next循环的执行流程如图4-14所示。图4-14For…Next循环执行流程图 4.4嵌套

嵌套是指在一个控制结构中包含另一个控制结构,例如选择中嵌套选择,选择中嵌套循环,循环中嵌套循环等。根据嵌套层数不同,可以有二重嵌套、三重嵌套甚至多重嵌套。

例4-16

求方程ax2 + bx + c = 0的解。

分析:方程的系数a、b、c的值使用InputBox通过键盘提供。在程序实现过程中,应根据a、b、c的不同取值情况,得到相应的解。为帮助读者理解判断过程,图4-15给出了一元二次方程求解的流程。图4-15一元二次方程求解流程图

(1)程序中包括三个双分支结构和一个多分支结构,在调试程序时要注意嵌套关系。

(2)程序的缩进格式写法,读者可以试一下,如果不缩进将会如何?

(3)引入中间变量p、q的目的是简化后面表达式。

(4)对复数解的输出格式控制,要注意Print之后是一个字符串表达式,这个字符串表达式是由五个部分通过4个“&”符号连接而成的。

(5)对于多分支程序的调试,每一种可能性都要考虑。

例4-17

打印九九乘法口诀表(如图4-16所示)。图4-16九九乘法表运行结果分析:九九乘法口诀表由9行组成,每行有9列。在设计算法时,可以这样考虑问题:

(1)外循环控制行,循环变量用i表示,循环体执行9次,每次输出九九表中的一行。程序框架为:

Fori=1To9

输出一行的操作处理

Nexti

(2)内循环控制列,循环变量用j表示,循环体执行9次,每次完成一列的计算和输出。程序框架为:

Forj=1To9

列的计算与输出

Nexti循环嵌套是学习中的难点,读写程序时往往无从下手,下面的总结对读者的学习会有帮助,请注意仔细思考并积极应用。

(1)读程序时,循环执行顺序时先外循环后内循环,内循环是外循环的循环体;在编写程序时,先要明确什么样的事情做多少次以及这样的事情如何做,可用外循环控制做多少次,内循环实现这样的事情如何做。

(2)嵌套时,内层循环必须完全嵌套在外层循环之内,即内外层循环不能交叉,外层要完全包含内层。

(3)在循环嵌套中,内外循环的循环变量不能同名。

(4)多重循环中如果用ExitDo或ExitFor退出循环,要注意只能退出ExitDo或ExitFor所对应的循环。

(5)采用缩进格式书写代码可以有效地防止嵌套混乱。

例4-18

在C盘根目录下有数据文件in.dat,其中有10组数据,每组3个数据,如图4-17所示。读出每组数据,如果能够构成三角形,输出这个三角形的面积;否则输出相应的信息。图4-17a数据文件内容图4-17b程序运行结果 4.5应用举例

1.不定方程

例4-19

我国古代数学家张丘建在《算经》中提出一个不定方程问题,即“百鸡问题”:公鸡每只5元,母鸡每只3元,小鸡3只1元,100元钱买100只鸡,三种鸡都要有。问:公鸡、母鸡、小鸡各可买多少只?

分析:设可买公鸡x只、母鸡y只、小鸡z只,根据数学知识可以写出下面的方程式:这是一个由3个未知数、2个方程组成的不定方程组,有多组解,可用穷举法求解。穷举法是对所有可能的解一一列举,从中判断哪些解符合题设条件的求解方法。考虑到100元最多买20只公鸡或33只母鸡,所以x的取值范围应该在1~20之间,y的取值范围应该在1~33之间。

程序代码如下:

PrivateSubCommand1_Click()

Dimx%,y%,z%

Forx=1To20该程序中的判断语句共运行了20 × 33 × 100次,实际上,知道了公鸡和母鸡的只数后,小鸡可以直接推算出来,即z = 100 - x - y,而不需要再用循环了。所以,程序可以优化为:

PrivateSubCommand1_Click()

Dimx%,y%,z%

Forx=1To20 '确定买公鸡的只数

2.计数、累加、累积

进行累加、累积和计数是程序设计中的最基本问题之一,本节举例中不可能列举完所有问题,下面是在例4-13的基础上选择的一个典型应用。

例4-20

求任意数n的阶乘。

分析:计算阶乘要做累积运算,应用累积器“f=f*i”,累积器的初值一般为1。

程序代码如下:

3.最大公约数与最小公倍数

例4-21

给定任意两个整数m、n,求最大公约数和最小公倍数。

分析:设已知的两个整数m和n,x为最小公倍数,假设m > n,x的取值范围为[m,m × n],可用穷举的办法求解。

对x从m开始的每一个可能的取值,判断能否同时被m、n整除(即是否是公倍数),若是,x必定是m和n的最小公倍数,程序运行结束;如果不是,则判断下一个x,依次类推,直到x的取值为m × n为止。

最大公约数算法与最小公倍数类似,设y为最大公约数,y的范围是[1,n],程序实现时,y的取值从n开始,判断过程与求最小公倍数类似。这种方法效率较低。求最大公约数可采用经典的辗转相除法,并在求出最大公约数后,最小公倍数就等于两个原数的乘积除以最大公约数。

算法描述如下:

(1)将m除以n得余数r。

(2)若r=0,则n为求得的最大公约数,循环结束;若r ≠ 0,则执行(3)。

(3)将n赋给m,将r赋给n,再重执行(1)、(2)步。

程序代码如下:

PrivateSubCommand1_Click()

Dimm%,n%,r%

4.质数

质数也叫素数,是指只能被1和它本身整除的自然数。最小的质数是2。

例4-22

从键盘输入一个数m,判断是否为质数。

分析:判断一个数m是否为质数的方法很多,最基本的是从质数的定义来求解,其思路是将2~m - 1之间的整数依次去整除m,若都不能整除m,则m为质数,只要其中有一个数能整除m,则m就不是质数。

程序代码如下:

4.6Do循环的其他结构

Do…Loop结构除了上面讲的DoWhile…Loop以外,还有其他几种结构。尽管没有这几种结构完全可以解决各种循环问题,但灵活应用各种不同的循环结构,可以进一步优化程序设计。对Do循环的其他结构的学习要求:

(1)掌握各种结构的语法格式;

(2)掌握循环执行过程;

(3)正确区别Do…Loop的各种结构;

(4)学会使用不同的结构解决同一个问题,比较循环条件和计算循环次数。

1.无条件循环Do…Loop

Do…Loop循环流程如图4-18所示。语法结构为:

Do

循环体

Loop

从图4-18可以看出,这是一个无条件的循环结构,要退出循环,必须执行ExitDo语句(通常放在选择结构中),否则会造成死循环。(调试程序时如遇到死循环,可用Ctrl+Break强行结束。)

例4-23

用Do…Loop结构实现例4-14。

程序代码如下:图4-18无条件循环流程图

2.后测试当型循环Do…LoopWhile

Do…LoopWhile循环结构为:

Do

循环体

LoopWhile<循环条件>

Do…LoopWhile循环的特点是先执行一次循环体,再判断循环条件,条件成立则继续循环,否则退出循环。Do…LoopWhile循环的流程如图4-19所示。图4-19Do…LoopWhile循环的流程图

3.前测试直到型DoUntil…Loop

DoUntil…Loop语法结构为:

DoUntil<循环条件>

循环体

Loop

DoUntil…Loop循环的特点是先判断循环条件,条件不成立则执行循环,条件成立就退出循环。DoUntil…Loop循环的流程如图4-20所示。图4-20DoUntil…Loop循环的流程图

4.后测试直到型循环Do…LoopUntil

Do…LoopUntil语法结构为:

Do

循环体

LoopUntil<循环条件>

Do…LoopUntil循环的特点是先执行循环体,后判断循环条件,条件不成立执行循环,条件成立退出循环。Do…LoopUntil循环的流程如图4-21所示。图4-21Do…LoopUntil循环的流程图

5.前测试当型循环While…Wend

While…Wend循环的功能和执行方式与DoWhile…Loop循环结构完全相同。其语法结构为:

While<循环条件>

循环体

Wend

While…Wend循环的特点是先判断循环条件,条件成立执行循环体,否则退出循环。

教学小结

顺序结构、选择结构和循环结构是程序设计语言的三大基本结构,这部分内容既是学习重点,又是难点,特别是循环结构。对于这三种结构,在校园中流传有“上课能听懂,下课想不通,作业做不来”的说法。编者认为,要掌握好本章内容,首先要熟记选择结构和循环结构中具有代表性结构的语法构成,理解其执行过程;其次要培养自己的逻辑思维能力。本书中的应用举例涉及了初学者学习程序设计时的许多基本问题,建议精读典型例题,用人脑来模仿程序的运行过程,这样既能培养、锻炼逻辑思维能力,又能深化对语法结构的理解,还能提高学习质量;最后,要敢于动手,面对具体编程问题,按照分析问题、确定算法、设计界面、编写代码等步骤完成。“照猫画虎”也是初学者学习编程的好方法。

(1)顺序结构是最简单的结构,本书重点介绍输入、输出数据的基本方法。

(2)选择结构相对容易,建议将If结构作为重点掌握内容。

(3)循环结构较难掌握,分为For…Next和Do…Loop两种结构。本章把For…Next和Do…Loop结构中的DoWhile…Loop结构作为重点。

(4)使用VB编写应用程序,主要包括界面设计和事件代码设计两方面的任务。基本方法是用可视化编程技术进行界面设计,用结构化程序设计思想编写事件代码。

习题

一、选择题

1.下面正确的赋值语句是

(A)

x+y=30 (B)

y=r*r,x=1

(C) y=x+30 (D) 3y=x

2.为了给x、y、z三个变量赋初值1,下面正确的赋值语句是

(A) x=1:y=1:z=1 (B) x=1,y=1,z=1

(C) x=y=z=1 (D) xyz=1

3.阅读下面的程序段:

Dimn1%,n2%

n1=InputBox("请输入第一个数:")

n2=InputBox("请输入第二个数:")

Printn1+n2

当输入分别为111和222时,程序输出为

(A) 111222 (B) 222

(C) 333 (D)程序出错

4.下列语句中可以将变量a、b的值互换的是

(A)

a=b:b=a

(B)

a=a+b:b=a-b:a=a-b

(C)

a=c:c=b:b=a

(D)

a=(a+b)/2:b=(a-b)/2

5.执行完程序段:

DimaAsBoolean,bAsBoolean

a=2:b=0

Printa+b

输出结果为

(A) -1 (B) 2 (C) True (D) False

6.为使连续两个Print方法的输出项在同一行输出,则应在前一个尾部加

(A)逗号或分号均可 (B)只能加逗号

(C)只能加分号 (D)不用加何任符号

7.下面求两个数中较大数的程序段中,

不正确。

(A) Max=IIf(x>y,x,y)(B) Ifx>yThenMax=xElseMax=y

(C) Max=x(D) Ify>=xThenMax=y

 Ify>xThenMax=y Max=x

8.下面语句执行后,变量W的值是

W=Choose(Int(2.6),"Red","Green","Blue","Yellow")

(A) Null (B) "Red"

(C) "Green" (D) "Yellow"

9.用If结构实现分段函数f (x)= ,下列不正确的程序段是

(A) f=x*x+3

Ifx>=1thenf=sqr(x+1)

(B) Ifx>=1thenf=sqr(x+1)

Ifx<1thenf=x*x+3

(C) Ifx>=1thenf=sqr(x+1)

f=x*x+3

(D) Ifx<1thenf=x*x+3elsef=sqr(x+1)

10.设x的值为5,执行以下语句时,其输出结果为“Result”的SelectCase语句是

11.设a=4,b=3,c=2,d=1,则表达式IIf(a<b,a,IIf(c>d,c,d))的结果为

(A) 4 (B) 3

(C) 2 (D) 1

12.下列程序段的执行结果为

X=5

Y=-20

IfNotX>0ThenX=Y-3ElseY=X+3

(A) -33 (B) 5-8

(C) 3-3 (D) 25-25

13.下列程序段的执行结果为

A=79

IfA>50ThenI=5

IfA>60ThenI=6

IfA>70ThenI=7

IfA>80ThenI=8

Print“I=”;I

(A) I=5 (B) I=6

(C) I=7 (D) I=8

14.用SelectCase语句选择|x|>10情况的语句为:Case

(A) Not(-10To10) (B) -10To10

(C) Is<-10,Is>10 (D) Abs(x)>10

15.若x=0,执行语句IfxThenx=0Elsex=1的结果是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论