m是模块级变量,模块级变量的作用域是整个窗体关闭,直到关闭之前,m的值会一直保留。
其他过程内变量都是局部变量,每点击一次按钮,运行完了之后,各变量的值才被清空。
那么来看代码:
第一次点击按钮,输入7,那么:a = 7 , f = 1 , i = 2
循环过程是:i < = a/2 = 3.5
if a mod i = 0 then f = f + i
如果a能被i整除,那么f执行f+i,显然,第一次循环,a=7,那么f=f+i将不会执行
然后i = i + 1, m = m + 1,此时:i = 3, m = 1
然后Loop,判断i 是否 < = a ,i等于3,小于3.5,那么循环再执行一次,
i = 4 ,m = 2
然后Loop,那么i=4>3.5,此时循环退出。窗体打印 f = 1 : 所以第一问答案是:A
第二次点击按钮,输入8,那么a = 8,f = 1,i =2
Do Loop循环将在i=2,i=3,i=4的情况下执行3次,而这3次,a都是偶数,所以f = f + i执行2次,分别是i=2和i=4,f就变成了1(f)+2(i),3(f)+4(i)=7。m = 上一次结束时的2+3 = 5
所以后来窗体打印f = 7,所以第二问答案是B
第三次点击按钮,输入9,那么循环分别执行i=2,3,4三次,而条件语句 if a mod i = 0就只有当i等于3的时候执行一次,所以f = 1 + 3 =4,而m运行3次,m=5+3 = 8
所以第三问窗体打印 f = 4,答案是D。
那么第4问,刚才已经给出了答案,m=8,答案是C
温馨提示:答案为网友推荐,仅供参考