-
首先是 i = 0 到 4
a(i) = i + 1
下一个 i.
a(0)=1,a(1)=2,a(2)=3,a(3)=4,a(4)=5
然后调用函数:call proc(a)。
i=0 a(0)=a(0)+a(1)=1+2=3 i=i+1=0+1=1(这个循环的值 i 变为 1,因为 1 < 2,循环继续)。
i=1 a(1)=a(1)+a(2)=2+3=5 i=i+1=1+1=2 (第二个循环后,i的值赋值为2,2不小于2,跳出循环......
然后再次调用函数:call proc(a)。
i=2 a(2)=a(2)+a(3)=3+4=7 i=i+1=2+1=3>2,循环出环,循环停止。
继续 i = 0 到 4
print a(i);
next i
它可以根据 a(0)=3、a(1)=5、a(2)=7、a(3)=4、a(4)=5 获得。
-
因为在这个过程中,还有调用过程本身,也就是所谓的递归调用,实在是太难理解了!
-
第一个问题,当 i 等于 4 时,循环中已经超过了最大值 3,所以循环中的内容不会再执行,但是在结束之后,i 的值已经通过下一个加步骤 1,然后 i 变成了 4,这已经超过了 to 3 的最大值, 所以就不继续循环了,这个问题和后面的第三个问题有点类似。
第二个问题是二维数组,第一维共有2到5的4个数组,2维从0到5开始,即一共6个数组,最终的元素数为4*6=24。 其结构如下:
a(2,0),a(2,1),a(2,2),a(2,3),a(2,4),a(2,5)
a(3,0),a(3,1),a(3,2),a(3,3),a(3,4),a(3,5)
a(4,0),a(4,1),a(4,2),a(4,3),a(4,4),a(4,5)
a(5,0),a(5,1),a(5,2),a(5,3),a(5,4),a(5,5)
第三个问题,第一个循环,i为1,到i=i*2,i值为2,next是下一个,然后通过步骤2,i值为4,然后第二个循环开始,当i=i*2时,i值为8,下一个加步骤2后,i值为10, 并且循环条件也满足了,于是进行第三个循环,当 i = i * 2 时,i 值变为 20,然后通过下一个返回 for,加上步骤 2,得到 i 值与 22 绑定,此时,如果循环条件不满足,程序退出循环, 所以最终的 i 值是 22。
-
但是我觉得 i 的最后一个值是 3,它仍然在 i=1to3 的范围内,应该通过将步骤 1 加到 4 来完成一次,最后应该是 7,所以你不需要最后一次执行它吗?
我会增加 1,但循环内容将不再执行!
a(2to5,5)2 到 5 是 4,5 是 6 或 5 参见选项基数 1,乘以,你就可以开始了。 24 或 20
它是 22,与 (1) 相同。 我会增加 2,但循环内容将不再执行!
-
问题 1:循环次数:i 值、a 值以及如何执行 a。
初始 0 1 无。
前 1 2 A A+1
第 2 次 2 4 A A+2
第 3 次 3 5 A A+1
到第三次,第三个周期已经过去了,第四次 i 已经通过了周期 i 1 到 3。
问题 2:二维数组的数量以行*列计算。
线是 2 到 5,即 2、3、4、5 线。
如果列为 5,则二维数组的数量为 4*5 20
问题 3:循环次数:S 值:循环值 I 值:i=i*2 后,i 值,下一个后,i 值。
s=s+1 i=i*2 i=i+2
初始 0 0
第一次 1 0+1 1 2 1*2 4 2+2
第二次 2 1+1 4 8 4*2 10=8+2
第三次 3 2+1 10 8 10*2 22=10+2
第四次 i 值超过 10 出循环。
您的分析错误的主要原因是,在下一步之后,由于步骤 2,i 值将增加 2,从而得到 22
您可以尝试 i=1 到 20,循环结束后,i 值为 21。
-
问题 1; 首先,如果我取值 1,那么 a=a+1 得到 2,然后我将步骤 1 加到 2,然后 a=a+2 得到 4,然后我将步骤 1 加到等于 3,a=a+1 得到 5
至此,正确答案是5,最后一个i的值是3,而前面定义i=1到3,所以到此为止。
问题2:二维数组a(2到5,5),前面2到5,是取值范围为2到5的一维下标,后面的5是1到5的二维下标,用数学树法可以知道a(2to5,5)有4*5=20。
问题3:我也不明白。
-
1.进出B栈的方式:先进后出,后进先出!
第一次:进入 e1,e2 [存储在堆栈中(从上到下):e2,e1] 仅读取为:e2
第二个条目:e3,e4 [stack holds: e4,e3,e1] 只读取:e4 [stack remains: e3,e1] 并再次读取:e3,e1
所以整个堆栈的顺序是:e1、e2、e3、e4,整个堆栈的顺序是:
e2,e4,e3,e1
2b和前面的问题一样,它仍然是在堆栈内和堆栈外测试,记住先进后出(后进后出),所以堆栈的顺序必须颠倒过来,只有b满足这个条件。
-
对于问题3:在VB运行过程中,需要用存储单元存储中间操作过程,并且根据常量的类型确定该存储单元的类型。
例如:x = 100 * 2
VB 决定存储 100*2 产品,其整数基于 100 和 2。
现在是问题 3:
print 200 * true * 200 会使用整数来存储 200 * true * 200 的乘积,所以结果是“溢出”。 (true 转换为 -1)。
对于问题 4:print 200*false*200vb 首先将 false 转换为 0,因此问题 6 的结果为 0:
print 200 * cint ( *200vb 首先计算 cint ( 得到 1,所以它也会产生一个“溢出”。
“溢出”的原因是整数类型范围为 -32768 --32767
-
答案如下:
1.vb只识别英文标点符号,里面是中文双引号,所以不识别。
2.是的,将两个数字相乘,结果是 40020,这不需要说,对吧?
3.类型不匹配,true 是布尔类型,返回值为 1,但不能直接乘以数字。
4.这样就OK了,false的值是0,结果是0,,,这很奇怪,为什么false很好?
你应该先记住这一点,我不知道为什么会这样规定。
5.fix(),这是一个整数函数,给出整数 1
6. cint("1",这是一个字符串类型,你不能直接用实数乘法,如果你把它改成int(没关系。
-
是的,前 200 个是一串数据,当有乘法运算时,会自动转换为浮点型并乘以输出结果。
是的,打印的是乘法的结果(它是浮点型,计算结果不会越界,也不会溢出)。
无法执行,true乘法时会转换为-1,是整数数据,-40000越界,会溢出。
是的,false 将转换为 0,输出 0
是的,修复(会直接返回1,因为它的返回值类型是浮点型,所以它的最终返回值类型不是整数,所以40000不会溢出。
它无法执行,cint(将四舍五入到 1 是整数值,40000 是越界的,它会溢出。
-
b (1,2,5)
第 6 名 40,000 超过 -32,768 到 32,767,出现溢出错误。
-
loopwhile
tf 当 tf 为 true 时执行第二个循环,因此无论条件是 true 还是 false,第一个循环都是无条件执行的,因此它是正确的。
loopuntil
Tfuntil 意味着在 tf 为真(即 false)之前满足条件,即只要条件为 false,循环就会永远持续下去,所以它是正确的。
3.我会给你细节,你可以自己判断。 “一个 do 循环只能使用一个循环关键字”是正确的,那么,一个 do-loop 循环中确实可以写多个 exit 语句**,但实际使用(即有效执行)只有一句话,认为 exit 语句执行完后,跳过整个进程(最小的就是 exit)
do)。所以自己判断这句话,答案全是浮云。
4.算术表达式是数学表达式,可以使用数学符号、赋值变量、带返回值的函数等进行编程。 算术表达式遵循数学符号优先级运算。
例如,1+1 是一个算术表达式。
x=51+x 也是一个算术表达式。
function
addnum(innum
asinteger)
asinteger
addnum
innumendfunction
addnum+3-5*10 仍然是一个算术表达式。
我已经说了这么多,你只需要我一个问题:
你是哪个系的学生? 软件工程? 什么等级?
-
在程序结束时,k = 4
y(4) = y(4-0) = x(0+1) 是第一个数字,所以输入的结果是 10
首先,有两种类型的返回值。
1:当文件在盘号的根目录下时,比如c:,会返回c:2:当文件在二级目录下时,比如c:123,会返回c:123,这也意味着区别在于是否有最后一个需要仔细发送"\" >>>More
只有多了进步才能解决,不死记硬背才能解决问题,也许你打五开用五笔,发现想背词根的时候就开始闹事了,但是你发现不好背,或者背不下来,但时间长了, 你会慢慢地,脑子里想着一个词,手会自然而然地打出来,所以写下来没有多大意义,只有用到的时候,才不会去网上找,现在是互联网时代,有些东西:一点点。