S
shiryu
Unregistered / Unconfirmed
GUEST, unregistred user!
(1). 当用repeat循环语句的时候,代码如下:
I:=0;
Repeat
I:=I+1;
Writeln(I)
Until I=100;
当用While循环改写的时候,代码如下:
I:=0;
While I<100do
begin
I:=I+1;
Writeln(I);
end;
请问其中的 Writeln(I)语句是什么含义?是否可以将这段代码改写为如下:
I:=0;
While I<100do
I:=I+1;
这样不是更简单吗?
(2).在for循环中有这样一个例子:
for i:=1 to 5do
printf("I=%d/n",i);
//该句执行"printf("I=%d/n",i);
5次.
请问,如果是输出语句应该用print呀,不应该用printf呀.在D中我并未见到对括号的使用有特殊的声明,请问
什么时候用括号呢?还有 "I=%d/n",i 这是什么代码?如果执行了,执行的结果是什么?
(3).使用for语句时,应注意不要在循环体内改变循环变量的值,以免造成不确定性.例如:
for k:=10do
wnto 1do
begin
a:=b+c;
k:=k+1;
end;
请问这段代码在那里错误了?书上说它在循环体内给变量k赋值了,可我却没看出来,请各位帮忙解释一下.
(4).在有参过程声明中有这样一个例子:
procedure exchange(var a,b:real);
var
temp:real;
begin
temp:=a;
a:=b;
b:=temp;
end;
请问在该过程中如果不用begin
.……end复合语句,根据程序执行的顺序结构,去掉他们一样可以达到目的
呀。是不是begin
……end 该复合语句有什么特殊的要求呀,这里必须用他们?
I:=0;
Repeat
I:=I+1;
Writeln(I)
Until I=100;
当用While循环改写的时候,代码如下:
I:=0;
While I<100do
begin
I:=I+1;
Writeln(I);
end;
请问其中的 Writeln(I)语句是什么含义?是否可以将这段代码改写为如下:
I:=0;
While I<100do
I:=I+1;
这样不是更简单吗?
(2).在for循环中有这样一个例子:
for i:=1 to 5do
printf("I=%d/n",i);
//该句执行"printf("I=%d/n",i);
5次.
请问,如果是输出语句应该用print呀,不应该用printf呀.在D中我并未见到对括号的使用有特殊的声明,请问
什么时候用括号呢?还有 "I=%d/n",i 这是什么代码?如果执行了,执行的结果是什么?
(3).使用for语句时,应注意不要在循环体内改变循环变量的值,以免造成不确定性.例如:
for k:=10do
wnto 1do
begin
a:=b+c;
k:=k+1;
end;
请问这段代码在那里错误了?书上说它在循环体内给变量k赋值了,可我却没看出来,请各位帮忙解释一下.
(4).在有参过程声明中有这样一个例子:
procedure exchange(var a,b:real);
var
temp:real;
begin
temp:=a;
a:=b;
b:=temp;
end;
请问在该过程中如果不用begin
.……end复合语句,根据程序执行的顺序结构,去掉他们一样可以达到目的
呀。是不是begin
……end 该复合语句有什么特殊的要求呀,这里必须用他们?