C语言笔试题目

来源:百度知道 编辑:UC知道 时间:2024/05/21 18:34:52
21)有以下程序
#include <stdio.h>
main()
{ int x=8;
for( ; x>0; x--)
{ if(x%3) {printf(“%d,”,x--); continue;}
printf(“%d,”,--x);
}
}
程序的运行结果是
A)7,4,2 B)8,7,5,2
C)9,7,6,4 D)8,5,4,2

请大师们指出解题思路

int x=8 //定义一个变量,初值

for(表达式1为空;x>0;x--) //终值为x=0,也就是此循环循环8次(由x--得出)

{ if(x%3) {printf(“%d,”,x--); continue;} //为for的循环体

if(x%3)//初步判断:依次为 8%3,7%3,6%3,5%3,4%3,3%3,2%3,1%3

if(非零)执行语句 {printf(“%d,”,x--); continue;}
if(零)不执行语句
请你自己判断。

注意:输出语句 printf(“%d,”,x--); x--

大致思想如上,我把思路告诉你,结果可以自己编译。检查是否正确!

D

D 第一次输出8是因为%d输出的是x--这个表达式的值,这个式子的值是没有减一的时候的X值,而--X是减一之后的X值,知道这个,就好做了,