MOOC-SPOC测试题(部分答案)(至数组一章)-C语言-宣城校区2021年第二周作业1.已知:chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是____//C?A.intB.doubleC.floatD.char2.已知inti=5;执行语句i+=++i;i的值是____//CA.10B.11C.12D.他答案都不对3.已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是____//C?A.1B.6C.5D.04.下列可以正确表示字符型常数的是____//BA.297B.'\t’C.\nD.a5.字符串\\\065a,\n的长度是____//C?A.7B.6C.5D.86.把算术表达式表示为一个C语言表达式,正确的写法是____//D?A.–(31.6a*8+1/7)*12B.–31.6*a*8+1.0/7*12C.–(31.6a*8.0+1.0/7.0)*12D.–(31.6*a*8+1.0/7)*1217.温度华氏和摄氏的关系是:C=5(F-32)/9。已知:floatC,F;由华氏求摄氏的正确的赋值表达式是____//C?A.C=5/9*(F-32)B.三个表达式都正确C.C=5*(F-32)/9D.C=5/9(F-32)8.已知inti=10;表达式“20-09.已知:intx,y;doublez;则以下语句中错误的函数调用是____//D?A.scanf(%x%*d%o,&x,&y)B.scanf(%2d*%d%lf,&x,&y,&z)C.scanf(%d,%lx,%le,&x,&y,&z)D.scanf(%x%o%6.2f,&x,&y,&z)10.已知”inta=5,b=5,c;”,则执行表达式”c=a=ab”后变量a的值为____//B?A.1B.0C.5D.42第四周作业1.下面程序的输出是1.#include2.main()3.{intx=1,y=0,a=0,b=0;4.switch(x)5.{case1:switch(y)6.{case0:a++;break;7.case1:b++;break;8.}9.case2:a++;b++;10.break;11.}12.printf(a=%d,b=%d\n,a,b);13.}A.a=2,b=1B.a=1,b=0C.a=2,b=2D.a=1,b=1//A2.以下程序的输出结果是1.main()2.{floatx=2,y;3.if(x4.elseif(x5.elseif(x6.elsey=10;7.printf(”%f\n”,y);3A.0.000000B.0.250000C.0.500000D.10.000000//C3.填空(2分)若下列程序执行后t的值为4,则执行时输入a,b的值范围是1.#include”stdio.h”2.main()3.{inta,b,s=1,t=1;4.scanf(”%d,%d”,&a,&b);5.if(a0)s+=1;6.if(ab)t+=s;7.elseif(a==b)t=5;8.elset=2*s;9.printf(”s=%d,t=%d\n”,s,t);10.}4第五周编程作业2.寻找特殊偶数(10分)题目内容:有一种特殊偶数,它每一位上的数字都两两不相同。我们现在需要找出四位数中某一区间内的这类偶数。输入格式:所要寻找的四位偶数的范围。每组输入有两个数字:第一个数字是范围下限;第二个数字是范围上限。如果输入遇到0,输入结束。输出格式:列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。输入样例:300030206040609000输出样例:3012301430163018counter=46042604860526054605860726074607860826084counter=10输入样例:5910187-100输出样例:ErrorError3.求最小m值(10分)题目内容:求满足下列不等式的最小m。1+2+3+4+......+m≥n例如:n=100,当m=14时,满足:1+2+3+4+...+13=91n输出格式:m输入样例:100输出样例:146第六周作业1求取满足式的n,正确的语句是____//D?A.for(i=1,s=0;(s=s+i*i)?C.for(i=1,s=0;(s=s+i*++i)2下面的for语句//B1.for(x=0,y=10;(y0)&&(x?A.循环次数不定B.循环执行4次C.是无限循环D.循环执行3次3已知inti=1;执行语句while(i++4下面程序的输出结果是____//B1.main()2.{inti,j,x=0;3.for(i=0;i4.{x++;5.for(j=0;j76.{if(j%2)7.continue;8.x++;9.}10.x++;11.}12.printf(”x=%d\n”,x);}A.x=6B.x=4C.x=12D.x=85假定从键盘上输入“3.6,2.41.#include2.main()3.{floatx,y,z;4.scanf(”%f,%f”,&x,&y);5.z=x/y;6.while(1)7.{if(fabs(z)1.0)8.{x=y;9.y=z;10.z=x/y;11.}12.elsebreak;13.}14.printf(”%f\n”,y);15.}8注:fabs()是浮点数绝对值函数。A.2.000000B.1.600000C.2.400000D.1.5000006填空(2分)下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。(答案以①②③的形式提交,如①a②b③c)1.main()2.{intn,k=1,s=0,m;3.for(n=1;n4.{k=1;5.s=0;6.①;7.while(②)8.{k*=m%10;9.s+=m%10;10.③;11.}12.if(ks)13.printf(”%d”,n);14.}15.}9第七周编程作业(数组)1.组成最大数(10分)题目内容:任意输入一个自然数(最多9位),输出该自然数的各位数字组成的最大数。输入格式:自然数n输出格式:各位数字组成的最大数输入样例:1593输出样例:9531[回车]10第八周编程作业(数组)1.单词排序(10分)题目内容:输入5个单词,将它们按从大到小的顺序排列后输出。输入格式:5个单词输出格式:排序后的顺序输入样例:BASIC[回车]C++[回车]Pascal[回车]C[回车]Fortran[回车]输出样例:Pascal[回车]Fortran[回车]C++[回车]C[回车]BASIC[回车]11