单项选择题

以下程序段()。(非0就是真)
intx=-1;
do{x=x*x;}while(!x);

A.是死循环
B.循环执行二次
C.循环执行一次
D.有语法错误