分析下这个C/C++程序,要详细喔!

来源:百度知道 编辑:UC知道 时间:2024/06/08 15:14:59
#include <stdio.h>
void main()
{ int x,i; x=-1; i=0;
do {x=x*x; i++; } while(!x);
printf("i=%d,x=%d\n",i,x); getch();
}
最主要while(!x)是什么意思?

#include <stdio.h> //包含头文件
void main() //主函数开始.没有返回值
{ int x,i; x=-1; i=0; //定义两个变量并赋值
do {x=x*x; i++; } while(!x); //先执行一次do{}中的代码,然后执行到
while(!x)这句的意思就是判断x是否为假.如果为假再取反即为真.则在返回执行do中的代码.C/C++中规定非0即为真.0就是假.do...while语句执行的方式是先执行一次do中的代码然后判断while中的条件是否为真.如果为真就返回又执行一次do中代码.然后继续重复上面的判断.........
printf("i=%d,x=%d\n",i,x);//输出
getch();//暂停一下
}

够详细吧!!!!!!!!!!!!!!!!!!!!!!!

引入文件 stdio.h
定义无返回值无参数主函数main
定义整形变量x和i,x赋值为-1,i赋值为0
循环开始
x=x乘以x
i加1
判断!x是否为真,如果真则回到循环开始处再次执行
(第一次x是1(真) !为相反 所以结果为假 所以i=1)
格式化输出 i=1,x=1
返回值是用户输入的ASCII码

。。。这个程序要分析什么?

while(!x)

while()中的变量或语句返回布尔型变量作为判断条件;

判断语句的话:‘真’返回"TRUE";‘假’返回"FALSE";
非布尔型变量一般可以是int类型:0返回的是"FALSE"其他返回"TRUE";
char型的变量:为空时,才返回"FALSE"。

前面加"!",表示取非,真的变假的,假的变真的。

do{}while语句先执行一遍{}内的语句,判断条件,为假,退出;否则,继续循环