问题
填空题
有以下程序段,且变量已正确定义和赋值 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( 【10】 ) { s=s+1.0/(k*(k+1)); 【11】 ; } prinff("s=%f\n’n", s);
答案
参考答案:(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++。当然也可写成与之等价的其他形式。