#include <stdio。h>main( ){int k=2,;while(k<7) {if(k%2) {k=k+3; printf(“k=%d\n”,k);continue;}k=k+1;printf(“k=%d\n”,k);}}程序段如下:则以下说法中不正确的是( )。
A 循环体只执行一次
B 执行后k值为7
C k=k+3;执行一次
D k=k+1;执行2次
#include <stdio。h>main( ){int k=2,;while(k<7) {if(k%2) {k=k+3; printf(“k=%d\n”,k);continue;}k=k+1;printf(“k=%d\n”,k);}}程序段如下:则以下说法中不正确的是( )。
A 循环体只执行一次
B 执行后k值为7
C k=k+3;执行一次
D k=k+1;执行2次
引自免费微信小程序:皆我百晓生
这个问题涉及到C语言中的选择结构和循环结构。首先,我们来分析代码:
#include <stdio.h>
main() {
int k = 2;
while(k < 7) {
if(k % 2) { // 当k是奇数时
k = k + 3;
printf("k=%d\n", k);
continue; // 如果k是奇数,执行这条语句后跳过当前循环的剩余部分,进入下一次循环
}
k = k + 1; // 当k是偶数时,执行这条语句
printf("k=%d\n", k);
}
}
现在我们来逐一分析每个选项:
A 循环体只执行一次:这是不正确的。循环会执行多次,因为while(k < 7)
的条件始终满足,直到k
的值增加到大于或等于7时循环才会结束。在这个程序中,循环体会执行多次。
B 执行后k值为7:这是正确的。程序的最后,k
的值会变为7,因为当k
为偶数时,增加1后,最终会达到或超过7。因此,选项B是正确的。
C k=k+3;执行一次:这是正确的。当k
为奇数时(初始值为2),这条语句会被执行一次。此后,无论k
的值如何变化(变为偶数),都不会再次执行这条语句。因此,选项C是正确的。
D k=k+1;执行2次:这是不正确的。实际上,这条语句会执行三次。初始时k
为偶数(值为2),执行一次;然后k
变为奇数(值为3),不执行这条语句;接着再次变为偶数(值为4),再次执行这条语句。因此总共执行了两次,但是选项描述的“执行两次”给人的印象是这个语句总是被执行两次,而实际上并不是每次循环都执行。因此,选项D是不正确的描述。
综上所述,不正确的说法是选项A和D。