填空题 有以下程序段,且变量已正确定义和赋值 for(s=1.0, k=1; k<=; k++) s=s+1.0/(k*(k+1)); printf("s=%f/n/n", s); 请填空,使下面程序段的功能与之完全相同 s=1.0; k=1; while({{U}} 【10】 {{/U}}) { s=s+1.0/(k*(k+1));{{U}} 【11】 {{/U}}; } prinff("s=%f/n'n", s);
  • 1、
【正确答案】 1、(10)k<=n 或 n>=k (11)K++    
【答案解析】[解析] 本题考查的知识点是:while语句和for语句。 while语句和for语句的作用都是循环控制语句的执行,两者之间是可以互相转换的。将while(EXP)转换为for语句可以写成for(;EXP;);将for(EXP1;EXP2;EXP3)转换为while语句可以写成:EXP1;while(EXP2){… EXP3;}。故本题的两个空分别应填写for语句的第2和第3个表达式。即K<=n或n>=K和k++。当然也可写成与之等价的其他形式。