C语言,选什么?

14.执行以下程序段时()。x=-1;do{x=x*x;}while(!x);(A)循环体将执行一次(B)循环体将执行两次(C)循环体将执行无限次(D)系统将提示有语法错... 14.执行以下程序段时( )。
x=-1;
do {x=x*x; } while(! x);
(A) 循环体将执行一次 (B) 循环体将执行两次
(C) 循环体将执行无限次 (D) 系统将提示有语法错误
展开
 我来答
DavidCai0316
2020-03-12 · TA获得超过974个赞
知道小有建树答主
回答量:311
采纳率:85%
帮助的人:108万
展开全部

答案选A。

分析:

  1. 循环体是指“x=x*x”这条语句,这条语句只执行一次,因为执行一次后,循环条件为假,此时已经退出循环了。

  2. !x:意思就是把 x 的真假性反过来。如果 x 为真,则 !x 为假;如果 x 为假,则 !x 为真。

运算过程(x 初始值为 -1):

  1. x = -1,执行“x=x*x”语句,即 -1 * -1,结果为 1(负负得正)。

  2. 执行 while(!x),因为 x = 1,那么 !x 的值为 0,0 为假,退出循环。

证明:

  1. 通过在循环体中输出 x 的值(添加printf语句),如果只输出一次,说明循环体只执行一次。

测试结果

Yuqi_Tan

2020-03-12 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3486万
展开全部
此题选A。
循环体只会执行一次。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式