有以下程序段 int k=0; while(k=1) k++; 则while循环执行的次数是
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有以下程序段 int k=0; while(k=1) k++; 则while循环执行的次数是相关的知识,希望对你有一定的参考价值。
A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行1次
程序段 int k=0; while(k=1) k++; while循环体执行的次数为无限次。
理由:在执行while(k=1)时,会先执行赋值语句,令 k 的值等于 1,然后再判断while的循环条件,此时 while(k=1)相当于 while(1),循环条件始终为真,无限循环执行。
再举一个与上面条件差不多的例子:
#include <stdio.h>
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 A.无限次#include <stdio.h>
int main(int argc, char *argv[])
int k=0;
while(k=1)
k++;
printf("%d\n",k);
;
return 0;
你会发现一直输出:2
原因:
k=1 是一条赋值语句,令 k 的值等于 1。语句 k = 1 的结果是 永远是 1 , while(k=1) = while(1) ,是死循环,执行无限次
k == 1 才是一条逻辑语句,判断 k 的值是否等于1 。如果 k 的值等于 1 , k==1 的结果是1,否则是0。 参考技术B 试题解析循环条件是" k=1",该表达式恒为真,所以程序构成死循环 答案选 A。 参考技术C A
因为循环条件 k=1 一直为真。
赋值语句的值为其等号右侧的值,也就是说 k=1 的值为1,也就是为真。 参考技术D 一样的如果k=2呢循环了几次
第k个素因子只有3 5 7 的数
题目描述
有一些数的素因子只有3、5、7,请设计一个算法,找出其中的第k个数。
给定一个数int k,请返回第k个数。保证k小于等于100。
3
返回:7
int findKth(int k) { // write code here if (k <= 0) return -1; vector<int> num; num.push_back(1); int p3 = 0, p5 = 0, p7 =0; while (num.size()<k + 1){ int minnum = min((num[p3]) * 3, min((num[p5]) * 5, (num[p7]) * 7)); num.push_back(minnum); while ((num[p3]) * 3 <= minnum) ++p3; while ((num[p5]) * 5 <= minnum) ++p5; while ((num[p7]) * 7 <= minnum) ++p7; } return num.back(); }
以上是关于有以下程序段 int k=0; while(k=1) k++; 则while循环执行的次数是的主要内容,如果未能解决你的问题,请参考以下文章