MOOC-SPOC测试题(部分答案)(至数组一章)-C语言-宣城校区2016年

更新时间:2024-01-29 15:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1

第二周作业

1.已知:char a;int b;float c;double d;执行语句 c=a+b+c+d;后,变量c的数据类型是____ // C

? A.intB.doubleC.floatD.char

2.已知 int i=5;执行语句 i+=++i;i的值是____ // C

A.10

B.11

C.12

D.他答案都不对

3.已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____ // C

? A.1B.6C.5D.0

4.下列可以正确表示字符型常数的是____ // B

A.297

B.'\\t’

C.\

D.\

5.字符串\的长度是____ // C

? A.7B.6C.5D.8

6.把算术表达式 表示为一个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)*12

1

D.–(31.6*a*8+1.0/7)*12

2

7.温度华氏和摄氏的关系是: C=5(F-32)/9。已知:float C,F;由华氏求摄氏的正确的赋值表达式是____ // C

? A.C=5/9*(F-32)B.三个表达式都正确C.C=5*(F-32)/9D.C=5/9(F-32)

8.已知int i=10;表达式“20-0<=i<=9”的值是____ // B

? A.0B.1C.20D.19

9.已知:int x,y;double z;则以下语句中错误的函数调用是____ // D

? A.scanf (\B.scanf (\C.scanf (\D.scanf (\

10.已知” int a=5,b=5,c;”,则执行表达式” c=a=a>b”后变量 a 的值为____ // B

? A.1B.0C.5D.4

2

3

第四周作业

1.下面程序的输出是

1. #include 2. main ( )

3. { int x=1, y=0, a=0, b=0; 4. switch ( x )

5. { case 1: switch ( y )

6. { case 0: a++; break; 7. case 1: b++; break; 8. }

9. case 2: a++; b++; 10. break; 11. }

12. printf (\13. }

? A.a=2,b=1B.a=1,b=0C.a=2,b=2D.a=1,b=1 // A

2.以下程序的输出结果是 1. main( )

2. { float x=2,y; 3. if (x<0) y=0;

4. else if (x<5&&!x) y=1/(x+2); 5. else if (x<10) y=1/x; 6. else y=10; 7. printf(”%f\\n”,y);

3

4 8. } ? A.0.000000B.0.250000C.0.500000D.10.000000 // C

3.填空(2分)若下列程序执行后t的值为4,则执行时输入a,b的值范围是

1. #include ”stdio.h” 2. main( )

3. { int a, b, s=1, t=1;

4. scanf (”%d, %d”, &a, &b); 5. if (a>0) s+=1; 6. if (a>b) t+=s; 7. else if(a==b) t=5; 8. else t = 2*s; 9. printf (”s=%d, t=%d\\n”, s,t); 10. }

b>a,a>0请输入答案

4

5

第五周编程作业

2.寻找特殊偶数(10分) 题目内容:

有一种特殊偶数,它每一位上的数字都两两不相同。我们现在需要找出四位数中某一区间内的这类偶数。 输入格式:

所要寻找的四位偶数的范围。每组输入有两个数字:第一个数字是范围下限;第二个数字是范围上限。如果输入遇到0,输入结束。 输出格式:

列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。 输入样例:

3000 3020 6040 6090 0 0

输出样例:

3012 3014 3016 3018 counter=4

6042 6048 6052 6054 6058 6072 6074 6078 6082 6084 counter=10 输入样例:

5

6

9 101 87 -1 0 0

输出样例:

Error Error

3.求最小 m 值(10分)

题目内容:求满足下列不等式的最小 m。 1 + 2 + 3 + 4 + ...... + m ≥ n

例如:n=100,当 m =14 时,满足:1+2+3+4+...+13=91<100,而 1+2+3+4+......+14=105>100。 输入格式: n

输出格式: m

输入样例: 100

输出样例:14

6

7

第六周作业

1求取满足式 的n,正确的语句是____ //D

? ?

A.for(i=1,s=0;(s=s+i*i)<=1000;n=++i)C.for(i=1,s=0;(s=s+i*++i)<=1000;n=i)

B.for(i=1,s=0;(s=s+i*i++)<=1000;n=i) D.for(i=1,s=0;(s=s+i*i)<=1000;n=i++)

2下面的for语句 //B

1. for(x=0,y=10;(y>0)&&(x<4);x++,y-- )

? A.循环次数不定B.循环执行4次C.是无限循环D.循环执行3次

3已知int i=1; 执行语句while (i++<4) ;后,变量i的值为 //B

? A.3B.5C.4D.6

4下面程序的输出结果是____ //B

1. main()

2. { int i,j,x=0; 3. for(i=0;i<2;i++) 4. { x++;

5. for(j=0;j<-3;j++)

7

8

6. { if(j%2) 7. continue; 8. x++; 9. } 10. x++; 11. }

12. printf(”x=%d\\n”,x); }

? A.x=6B.x=4 C.x=12D.x=8

5假定从键盘上输入“3.6,2.4<回车>”,下面程序的输出是____ //B

1. #include 2. main()

3. { float x,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. else break; 13. }

14. printf(”%f\\n”,y); 15. }

8

9

注:fabs()是浮点数绝对值函数。

?

6填空(2分)

A.2.000000 B.1.600000C.2.400000D.1.500000

下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。(答案以① ② ③ 的形式提交,如① a ② b ③ c)

1. main()

2. { int n,k=1,s=0,m; 3. for(n=1;n<=100;n++) 4. { k=1; 5. s=0; 6. ① ;

7. while( ② ) 8. { k*=m; 9. s+=m; 10. ③ ; 11. } 12. if(k>s)

13. printf(”%d”,n); 14. } 15. }

9

10 ① m=n ② m>0 ③ m/=10 第七周编程作业(数组)

1.组成最大数(10分)

题目内容:任意输入一个自然数(最多9位),输出该自然数的各位数字组成的最大数。 输入格式: 自然数 n 输出格式:

各位数字组成的最大数 输入样例: 1593 输出样例: 9531[回车]

10

11

第八周编程作业(数组)

1.单词排序(10分) 题目内容:输入 5 个单词,将它们按从大到小的顺序排列后输出。 输入格式:5个单词 输出格式:排序后的顺序 输入样例: BASIC[回车] C++[回车] Pascal[回车] C[回车] Fortran[回车] 输出样例: Pascal[回车] Fortran[回车] C++[回车] C[回车] BASIC[回车]

11

11

第八周编程作业(数组)

1.单词排序(10分) 题目内容:输入 5 个单词,将它们按从大到小的顺序排列后输出。 输入格式:5个单词 输出格式:排序后的顺序 输入样例: BASIC[回车] C++[回车] Pascal[回车] C[回车] Fortran[回车] 输出样例: Pascal[回车] Fortran[回车] C++[回车] C[回车] BASIC[回车]

11

本文来源:https://www.bwwdw.com/article/9s4w.html

Top