1[单选题] 有以下程序:
A.28B.27C.42D.4l
参考答案:C
参考解析:只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择c选项。
2[填空题]数组xx[M]保存着一组3位数的无符号正整数,其元素的个数通过变量m传人函数proc()。请补充函数proc(),该函数的功能是:从数组xx中找出十位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数proc()返回。
例如,当xx[8]={234 339 666 850 220 448 528 440)时,bb[5]={339 666 220 448 440}。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
参考解析:
【解析】要找出数组xx中十位和百位数字相等的所有整数,首先要得到数组中每一个整数的十位和百位数字,因此,【1】处填“(xx[i]/10)%10”;如果十位和百位数字相等,则将该整数放在数组bb ee,因此,【2】处填“bb[n++]=xx[i]”;符合条件的整数个数放在变量n中,返回给主函数,因此,【3】处填“n”。
3[单选题] 有下列程序:
程序执行后的输出结果是( )。
A.45B.20C.25 D.36
参考答案:C
参考解析:在for循环语句中自变量i从0开始,每次自加2,执行s+一*(t+i)语句,因为C语言规定数组名做表达式相当于数组的首地址,也就是第一个元素的地址。因此,*(t+i)代表数组的第i+1个元素,所以程序运行的结果是1+3+5+7+9=25,即变量S的值等于25。
4[简答题]下列给定程序中,函数proc()的功能是:根据整型形参n,计算如下公式的值。
例如,若n=12,则应输出0.618026。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
参考解析:
(1)错误:int proc(int n)
正确:float proc(int n)
(2)错误:for(i=2;i
正确:for(i=2;i<=n;i++)
由主函数中的调用以及函数proc()的返回值可知,函数proc()的返回值类型应为float型数据。因此,“intproc(int n)”应改为“float proc(int n)”;由题目中所给公式可知,循环中应该包含n的值,因此,“for(i=2;i
5[单选题] 以下叙述中正确的是( )。
A.do-while语句构成的循环不能用其他语句构成的循环来代替
B.do-while语句构成的循环只能用break语句退出
C.用do-while语句构成循环时,只有在while后的表达式为非零时结束循环
D.用do-while语句构成循环时,只有在while后的表达式为零时结束循环
参考答案:D
参考解析:选项A,可以用for循环代替;选项B,不满足条件时即条件的逻辑值为假(0)时退出,break也可以;选项C,while(条件),条件为真时进行循环,为假(0)时退出。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |