for循环第三个表达式只能是加一个吗
发布网友
发布时间:2023-06-05 12:59
我来回答
共2个回答
热心网友
时间:2023-11-04 00:02
在程序的编写过程中,这 3个表达式可以根据情况进行省略,有以下不同的情况:
(1)for语句中省略表达式 1。for语句中,第一个表达式的作用是对循环变量设置初值。因此,如果省略了表达式 1,就会跳过这一步操作,则应在 for语句之前给循环变量赋值。例如:
注意:
省略表达式 1 时,其后的分号不能省略。当表达式1 省略时,一般都需要在for 循环语句之前给变量赋初值。
例如,实现 1到 100数字间的累加计算,省略 for语句中的第一个表达式,代码如下。
从代码中可以看到 for语句中将第一个表达式省略,而在定义 i变量时直接为其赋初值。这样在使用 for语句循环的时候就不用为 i赋初值,从而省略了第一个表达式。程序运行结果如图 8.5所示。
图 8.5 省略 for语句中的第一个表达式
(2)for语句中省略表达式 2。如果表达式 2省略,即不判断循环条件,循环将无终止地进行下去,也就是默认表达式 2始终为真。例如:
在括号中,表达式 1为赋值表达式,而表达式 2是空缺的,这样就相当于使用 while语句。
注意:
如果表达式 2 是空缺的,将会无限循环。
(3)for语句中省略表达式 3。表达式 3也可以省略,但此时程序设计人员应该另外设法保证循环能正常结束,否则程序会无终止地循环下去。例如:
(4)3个表达式都省略。这种情况既不设置初值,也不判断条件,也没有改变循环变量的操作。程序会无终止地执行循环体,如:
这相当于 while永远为真的情况:
专家点评
在 C语言中,for循环语句使用最为灵活,其语句中的三个表达式不都是必须的,根据不同的情况可以进行不同的省略,但无论哪种情况,省略时都应注意分号不可以省略。
问题: do…while语句的基本格式是什么?
问题阐述
C语言中有三种循环语句,do…while语句是其中的一个,它的基本格式是怎样的呢?
专家解答
do…while语句的一般形式为:
其中语句是循环体,表达式是循环条件。其语句执行流程如图 8.6所示。 do…while语句是这样执行的:首先执行一次循环体语句中的内容,然后判断表达式。
当表达式的值为真时,返回重新执行循环体语句。循环执行,直到表达式的判断为假时止,此时循环结束。
图 8.6 do…while语句执行流程例如:
在上面的代码中,首先执行 i++的操作,也就是不管 i是否小于 100都会执行一次循环体中的内容。然后判断 while后括号中的内容,如果 i小于 100,则再次执行循环语句块中的内容。为假条件时,执行下面的程序操作。
注意:
在使用 do…while 语句时,条件要放在while 关键字后面的括号里,最后必须加上一个分号。
while语句和 do…while语句一般都可以相互改写。例如下面的代码。
转换成 do…while的形式是:
从代码中可以看出,只是将循环条件改变了,由 n--改为--n,如不改则多执行一次循环,这是由 do…while的特点——先执行后判断造成的。
专家点评
从上面的内容可以了解到 do…while的基本格式和含义,但对于 do…while语句还应注意以下几点:
(1)do…while语句也可以组成多重循环,而且也可以和 while语句相互嵌套。
(2)在 do和 while之间的循环体由多个语句组成时,也必须用{}括起来,组成一个复合语句。
(3)do…while和 while语句相互替换时,要注意修改循环控制条件。先执行一次循环体,再判断条件。
问题: 分号在循环体中的作用?
问题阐述
在 C语言中,分号“;”用于结束一个语句,就如同平日常用的句号“。”一样,但不是所有的分号都是如此,循环中就不完全是这样,那么分号在循环体中有什么作用呢?
专家解答
(1)while循环与分号。while(表达式)后面是没有分号的,如果不小心加上分号,系统也不会出现编译错误,但是程序会不停地执行空操作,形成空循环体,无法执行“while(表达式);”后面的程序,得不到预计的效果。例如,在累加求和的程序中,while循环加上分号产生错误。代码如下:
程序运行结果如图 8.7所示。
图 8.7 加上分号的错误程序
实际上,例子中的
等价于
(2)do…while循环与分号。在 do…while循环语句中, while后面是有分号的,与普通的语句一样,这个分号是用来结束语句的。如果遗漏了这个分号,程序不会通过编译并且产生错误。因此,在用 do…while循环语句时,不要忘记在 while的后面加上分号。即使忘记了,编译器也会有所提示,而不会产生不可预见的错误。
注意:
分号在 do…while 语句中代表一条语句的结束,并不代表循环体的结束。
(3)for循环与分号。for语句中的各表达式是可以省略的,但唯独不能省略的就是间隔符分号。如下面的例子。
程序运行结果如图 8.8所示。
本例中省去了 for语句的表达式 1,表达式 3也不是用来修改循环变量的,而是用作输入字符的计数。这时,循环体是空语句,空语句后的分号不可少,如缺少此分号,则把后面的 printf语句当成循环体来执行。其运行结果如图 8.9所示。
图 8.8 for语句后加分号
图 8.9 for语句后不加分号
专家点评
在 if语句和 while语句中,表达式后面都不能加分号表示语句的结束,而在 do…while语句的表达式后面则必须加分号来表示语句的结束。在 for循环中,加分号和不加分号的意义完全不同,所以一定要注意分号在循环体中的使用。
热心网友
时间:2023-11-04 00:03
for循环第三个表达式只能是加一个吗,题目for循环中的三个表达式一个都不能少.相关知识点: 解析 × 反馈 收藏