C语言编程问题。有如下程序段:

C语言编程问题。有如下程序段:,第1张

if (a<B)

    if  (c<D) x=1;

    else

    if  (a<c)

        if  (b>D)  x=2;

        else  x=3;

    else  x=6;

else  x=7;

// 我觉得应该都是7,因为不管b、c、d是啥,只要使a<B不成立,那么x=7,中间的代码都不执行了

程序段 int k=0; while(k=1) k++; while循环体执行的次数为无限次。

理由:在执行while(k=1)时,会先执行赋值语句,令 k 的值等于 1,然后再判断while的循环条件,此时 while(k=1)相当于 while(1),循环条件始终为真,无限循环执行。

再举一个与上面条件差不多的例子:

#include <stdioh>

int main(int argc, char argv[])

{

int k=0;

while(k=1)

{

++k;

printf("%d\n",k);

};

return 0;

}

控制台会不断输出2,如下图:

扩展资料:

do-while循环语句

一般形式如下:do  语句; while(表达式);

for循环语句

一般形式如下:for ( [表达式 1]; [表达式 2 ]; [表达式3] )

其中:

表达式1:一般为赋值表达式,给控制变量赋初值;

表达式2:关系表达式或逻辑表达式,循环控制条件;

表达式3:一般为赋值表达式,给控制变量增量或减量;

语句:循环体,当有多条语句时,必须使用复合语句。

参考资料:

百度百科-C语言循环控制语句

是的,

非零即真

(a && b) 中 a 和 b 都不为 0 。所以 a && b 为 true即1;

字符 ‘A’对应的ASCII码 小于 ‘B’ 的ASCII码 所以 也为 1;

转换为 int 的话。true 就返回 1。 false 返回 0。

所以 x = 1

刚刚去查了查,] a=14,b=15,第一个&&两侧均为非零值。c='A',表达式c<'B'的值为真即1,第二个&&两侧也均为非零值。表达式 (a&&b)&&(c<'B')的值为1,赋值给变量x。

以上就是关于C语言编程问题。有如下程序段:全部的内容,包括:C语言编程问题。有如下程序段:、有以下程序段 int k=0; while(k=1) k++; 则while循环执行的次数是、1有如下程序段: int a=14,b=15,x; char c='A'; x=(a&&b)&&(c<'B'); 执行该程序段后,x的值为______等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9273139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存