24秋国开电大网课《C语言程序设计》形考任务2答案

  1. 网课托管: 10块一科全包✅ 形考+大作业+终考+学习行为(视频/阅读/论坛全完成),3-5天答完,可答完付。
  2. 期末到校机考,纸考精准
  3. 毕业论文指导|设计|社会实践
添加客服微信咨询------- WX: lilaoshisp (李老师sp的拼音)

一、选择题(共20分,每小题2分)

1.

当处理特定问题时的循环次数已知时,通常采用的语句是(    )。

单选题 (2 分) 2分
  1. for

  2. while

  3. do-while

  4. switch

2.

在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是(    )。

单选题 (2 分) 2分
  1. for

  2. if

  3. do

  4. while

3.

for语句能够被改写成的语句是(    )。

单选题 (2 分) 2分
  1. 复合

  2. if

  3. switch

  4. while

4.

下面循环语句执行结束后输出的i值为(    )。

for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}

单选题 (2 分) 2分
  1. n/2

  2. n/2+1

  3. n/2-1

  4. n-1

5.

在下面循环语句中,内层循环体S语句的执行总次数为(    )。

for(int i=0; i<n; i++)

            for(int j=i; j<n; j++) S;

单选题 (2 分) 2分
  1. n2

  2. (n+1)/2

  3. n(n-1)/2

  4. n(n+1)/2

6.

在下面的do循环语句中,其循环体被执行的次数为(    )。

int i=0; do i++; while(i*i<10);

单选题 (2 分) 2分
  1. 4

  2. 3

  3. 5

  4. 2

7.

在下面的一维数组定义中,有语法错误的选项是(    )。

单选题 (2 分) 2分
  1. int a[]={1,2,3};

  2. int a[10]={0};

  3. int a[];

  4. int a[5];

8.

在下面的二维数组定义中,语法正确的选项是(    )。

单选题 (2 分) 2分
  1. int a[5][];

  2. int a[][5];

  3. int a[][3]={{1,3,5},{2}};

  4. int a[](10);

9.

假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为(    )。

单选题 (2 分) 2分
  1. 2

  2. 4

  3. 6

  4. 8

10.

假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(    )。

单选题 (2 分) 2分
  1. 0

  2. 4

  3. 8

  4. 6

二、判断题(共20分,每小题1分。叙述正确则回答“是”,否则回答“否”)

11.

在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。

判断题 (1 分) 1分
  1. 对
  2. 错
12.

在switch语句中,每个case和冒号之间的表达式只能是常量。

判断题 (1 分) 1分
  1. 对
  2. 错
13.

为了结束本层循环类语句或switch语句的执行过程,在语句体中需要使用break语句。

判断题 (1 分) 1分
  1. 对
  2. 错
14.

在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。

判断题 (1 分) 1分
  1. 对
  2. 错
15.

在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口。

判断题 (1 分) 1分
  1. 对
  2. 错
16.

假定一维数组的定义为“char* a[8];”,则该数组所含元素的个数大于8。

判断题 (1 分) 1分
  1. 对
  2. 错
17.

假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为60。

判断题 (1 分) 1分
  1. 对
  2. 错
18.

假定二维数组的定义为“char a[M][N];”,则该数组所含元素的个数为M+N。

判断题 (1 分) 1分
  1. 对
  2. 错
19.

假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在0~M-1之间。

判断题 (1 分) 1分
  1. 对
  2. 错
20.

假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N之间。

判断题 (1 分) 1分
  1. 对
  2. 错
21.

存储一个空字符串需要占用0个字节的存储空间。

判断题 (1 分) 1分
  1. 对
  2. 错
22.

使用“typedef char BB[10][50];”语句定义标识符BB为含有10行50列的二维字符数组类型。

判断题 (1 分) 1分
  1. 对
  2. 错
23.

存储字符’a’需要占用1个字节的存储空间。

判断题 (1 分) 1分
  1. 对
  2. 错
24.

空字符串的长度为1。

判断题 (1 分) 1分
  1. 对
  2. 错
25.

字符串”a:\\xxk\\数据”的长度为13。

判断题 (1 分) 1分
  1. 对
  2. 错
26.

为了存储一个长度为n的字符串,所使用的字符数组的长度至少为n+1。

判断题 (1 分) 1分
  1. 对
  2. 错
27.

strcmp函数用于进行两个字符串之间的比较。

判断题 (1 分) 1分
  1. 对
  2. 错
28.

strcpy函数用于把一个字符串拷贝到另一个字符数组空间中。

判断题 (1 分) 1分
  1. 对
  2. 错
29.

一个二维字符数组a[10][20]能够最多存储9个字符串。

判断题 (1 分) 1分
  1. 对
  2. 错
30.

一个二维字符数组a[10][20]能够存储的每个字符串的长度不超过20。

判断题 (1 分) 1分
  1. 对
  2. 错

三、填空题:写出下列每个程序运行后的输出结果(共40分,每小题4分)

31.简答题 (4 分)

11 14

32.答案:s=55
33.答案:25 20
34.答案:y=720
35.

#include<stdio.h>

______ const int M=20;

______ void main()

______ {

______ int i,c2,c3,c5;

______ c2=c3=c5=0;

______ for(i=1; i<=M; i++) {

______ ______if(i%2==0) c2++;

______ if(i%3==0) c3++;

______ if(i%5==0) c5++;

______ }

______ printf(“%d %d %d\n”,c2,c3,c5);

______ }

答案:10 6 4

36.答案:27
37.答案:44
38.答案:44 27 6 22
39.答案:2 3 11
40.

#include<stdio.h>

______ void main() {

______ int a[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}};

______ int m=a[0][0];

______ int i,j;

______ for(i=0; i<3; i++)

______ for(j=0; j<4; j++)

______ if(a[i][j]>m) m=a[i][j];

______ printf(“%d\n”,m);

______ }

答案:12

四、简答题:根据下列每个题目要求编写程序(共20分,每小题4分)

41.

编写一个函数,函数头格式为“double Mean(double a[M][N],int m,int n)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程中采用变量v存放平均值。

简答题 (4 分)

double Mean(double a[M][N],int m,int n)

   {

       int i,j;

       double v=0.0;

       for(i=0; i<m; i++)

           for(j=0; j<n; j++) v+=a[i][j];

       v/=m*n;

       return v;

   }

42.

编写一个递归函数“int FF(int a[], int n)”,求出数组a中所有n个元素之积并返回。

简答题 (4 分)

int FF(int a[], int n)

       {

           if(n<=0) {printf(“n值非法\n”),exit(1);}    //可省略

           if(n==1) return a[n-1];                    //2分

           else return a[n-1]*FF(a,n-1);              //6分

       }

43.

编写一个主函数,利用while循环,求出并显示满足1+1/2+1/3+…+1/n>=5不等式的最小n值。

简答题 (4 分)
答案:
#include<stdio.h>
void main()
{
int i=0; double s=0; //或 int i=1; double s=1;
while(s<5) s+=(double)1/++i;
printf(“n=%d\n”,i);
}
44.

编写一个主函数,求出满足不等式22+42+…+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。

简答题 (4 分)

  #include<stdio.h>   void main()   {       int i0;  //用i作为依次取值偶数的变量       int s0;  //用s作为累加变量       do {           i+2;           s+i*i;       }while(s<1000);       printf(“n%d\n”i2);   }

45.

编写一个主函数,计算并输出12+22+…+n2值,其中n值由键盘输入。

简答题 (4 分)

  #include<stdio.h>   void main()   {       int i;    //用i作为计数(循环)变量       int s0;  //用s作为累加变量       int n;       printf(“输入一个自然数: “);       scanf(“%d”&n);       for(i1; i<n; i++) s+i*i;       printf(“s%d\n”s);   }

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
相关推荐