以下是我在自学中的几个问题,实在弄不明白,来这里请教各位大哥了.谢谢!(1). 当用repeat循环语句的时候,代码如下:I:=0;
Repeat
I:=I+1;
Writeln(I)
Until I=100;当用While循环改写的时候,代码如下:I:=0;
While I<100 do
Begin
I:=I+1;
Writeln(I);
End;请问其中的 Writeln(I)语句是什么含义?是否可以将这段代码改写为如下:I:=0;
While I<100 do
I:=I+1;
这样不是更简单吗?(2).在for循环中有这样一个例子:for i:=1 to 5 do
printf("I=%d\n",i); //该句执行"printf("I=%d\n",i); 5次.请问,如果是输出语句应该用print呀,不应该用printf呀.在D中我并未见到对括号的使用有特殊的声明,请问什么时候用括号呢?还有 "I=%d\n",i 这是什么代码?如果执行了,执行的结果是什么?(3).使用for语句时,应注意不要在循环体内改变循环变量的值,以免造成不确定性.例如:for k:=10 downto 1 do
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 该复合语句有什么特殊的要求呀,这里必须用他们?
Repeat
I:=I+1;
Writeln(I)
Until I=100;当用While循环改写的时候,代码如下:I:=0;
While I<100 do
Begin
I:=I+1;
Writeln(I);
End;请问其中的 Writeln(I)语句是什么含义?是否可以将这段代码改写为如下:I:=0;
While I<100 do
I:=I+1;
这样不是更简单吗?(2).在for循环中有这样一个例子:for i:=1 to 5 do
printf("I=%d\n",i); //该句执行"printf("I=%d\n",i); 5次.请问,如果是输出语句应该用print呀,不应该用printf呀.在D中我并未见到对括号的使用有特殊的声明,请问什么时候用括号呢?还有 "I=%d\n",i 这是什么代码?如果执行了,执行的结果是什么?(3).使用for语句时,应注意不要在循环体内改变循环变量的值,以免造成不确定性.例如:for k:=10 downto 1 do
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 该复合语句有什么特殊的要求呀,这里必须用他们?
2,Delphi有printf语句吗?那时c语句吧
%d表示以十进制整数输出,\n是换行符
因此printf("I=%d\n",i); 就是显示I=<i的值><回车>
3,k:=k+1不就是嘛,他给k加了1
由于delphi给循环作了优化,不能再循环体内修改循环变量的值
4,函数体的begin, end不是表示复合语句,它是用于定义循环体的,必须要有小弟,你的基础太浅,还需加倍努力啊!
楼上的回答是对的,
不过一切都是从头开始的么,我们才开始的时候不也是这样啊!!!!!
ronaldli(木的) 回答是正确的
先把语法学扎实把