-> -> ->
2010年全国计算机等级考试二级公共基础知识和C语言程序设计标准预测试卷(四)(四)
时间:2011-02-16 07:07:21
微信搜索关注"91考试网"公众号,领30元,获取事业编教师公务员等考试资料40G
结果是( ) A.3,4,5 B.5,3,4 C.5,4,3 D.4,3,5 参考答案: D a、b、c都是按值传递给函数f,函数f不能改变它们的值。所以,a、b、c的值仍然是4、3、5。----------------------------------------35、以下程序的输出结果是( )。main(){char*s="12134211";int v[4]={0,0,0,0},k,i;for(k=0;s[k];k++){switch(s[k]){case''1'':i=0;case''2'':i=1;case''3'':i=2;case''4'':i=3;}v[il++:for(k=0;k<4;k++)printf("%d",v[k]); A.4 2 1 1 B.0 0 0 8 C.4 6 7 8 D.8 8 8 8 参考答案: B 本题考察switch,case语句,当k---O时,循环体成立,执行switch后表达式的值为''1'',执行case''1'',i的值为0,因为没有break语句,继续执行其后的语句,到最后一个语句时i的值为3,此时v[i]++,v[3]=1.接着执行k++后.k的值为l,当k=1时,循环成立,执行swlfch后的表达式的值为''2'',执行case''2'',i的值为1,因为没有break语句,继续执行其后的语句,到最后一个语句时,i的值为3,此时v[i]++,v[3]一2,接着执行k++后,k的值为2。依次下去.case''4''也会执行,最后i的值一定为3,到v[3]=8时循环结束,而v[O]~v[2]的值一直没有变化,故选择B选项。----------------------------------------36、有以下程序:main(){ int x=102,y=012;printf("%2d,%2d\n",x,y);}执行后输出结果是( )。 A.10,01 B.02,12 C.102,10 D.02,10 参考答案: C x的值为十进制数102,而y的值为八进制数01 2,根据题意将y用十进制表示为10。所以答案是C。----------------------------------------37、有以下程序:main(){ int x=0,y=5,z=3;while(z-一>0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);}程序执行后的输出结果是( )。 A.3,2,0 B.3,2,-1C.4,3,-1 D.5,-2,-5 参考答案: B while语句执行如下: 当z=3,x=O时,表达式z——>O&&++x<5为真,z的值变为2,x的值变为1,执行语句y=y-1;y的值变为4; 当z=2,x=1时,表达式z——>O&&++x<5为真,z的值变为1,x的值变为2,执行语句y=y-l;y的值变为3; 当z=1,x=2时,表达式z——>O&&++x<5为真,z的值变为o,x的值变为3,执行语句y=y-1;y的值变为2; 当z=O,x=3时,表达式z——>0为假,表达式(z——>O&&++x<5)为假,z的值为-1,不进行++x<5的判断,不执行语句y=y-1; 所以,x的值为3,y的值为2,z的值为-l。答案为B。-------
微信搜索关注"91考试网"公众号,领30元,获取公务员事业编教师考试资料40G