Dotcpp  >  试卷列表  >  全国计算机等级考试《二级C语言程序设计》模拟试题(八)

全国计算机等级考试《二级C语言程序设计》模拟试题(八)


第1题

在下列模式中,能够给出数据库物理存储结构与物理存取方法的是 (  )。

共 1 分 

第2题

在满足实体完整性约束的条件下(  )。

共 1 分 

第3题

下面描述中,不属于软件危机表现的是

共 1 分 

第4题

下面不属于需求分析阶段任务的是(  )。

共 1 分 

第5题

结构化程序的三种基本控制结构是(   )。

共 1 分 

第6题

构成计算机软件的是(   )。

共 1 分 

第7题

在黑盒测试方法中,设计测试用例的主要根据是(   )。

共 1 分 

第8题

在数据库中,数据模型包括数据结构、数据操作和( )。

共 1 分 

第9题

有三个关系R、S和T如下: 

R、S、T关系表

则由关系R和S得到关系T的操作是(  )。

共 1 分 

第10题

在关系模型中,每一个二维表称为一个(  )。

共 1 分 

第11题

以下叙述中正确的是(  )。 

共 1 分 

第12题

以下叙述正确的是(  )。

共 1 分 

第13题

以下叙述中错误的是(  )。 

共 1 分 

第14题

若有定义语句:

1
int a=3,b=2,c=1;

以下选项中错误的赋值表达式是(  )。

共 1 分 

第15题

有以下程序

1
2
3
4
5
6
7
8
#include <stdio.h>
main()
 {
 int x,y,z; 
x=y=1; 
z=x++,y++,++y;
 printf("%d,%d,%d\n",x,y,z);
 }

程序运行后的输出结果是(  )。

共 1 分 

第16题

若想给已定义为int型的变量a、b、c、d赋整数1,以下选项中错误的语句是()。

共 1 分 

第17题

以下能正确输出字符a的语句是( )。

共 1 分 

第18题

有以下程序段

1
2
int  m=33,n=66;
 m=m^n; n=n^m; m=m^n;

执行上述语句后,m和n的值分别是(  )。

共 1 分 

第19题

有以下程序段,若变量已正确定义并赋值

1
2
3
4
if(a>b)printf("x=%d,",x);
 else printf("y=%d,",y);
 if(a<=b)i++;
 else j++;

则与此程序段功能相同的选项是(  )。

共 1 分 

第20题

有以下程序

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
main()
 {
 int  x=1, y=0;
 if (!x) y++;
 else if (x==0)
 if (x) y+=2;
 else y+=3;
 printf("%d\n", y);
 }

程序运行后的输出结果是(  )。

共 1 分 

第21题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
main()
 {
 char b,c;
 int i;
 b='a';
 c='A';
 for(i=0;i<6;i++)
 {
 if (i%2) putchar(i+b);
 else putchar(i+c);
 }
 printf("\n");
 }

程序运行后的输出结果是(  )。

共 1 分 

第22题

有以下程序

1
2
3
4
5
6
7
#include <stdio.h>
main()
 {
 int y=9;
for(;y>0;y--)
 if(y%3==0) printf("%d",--y);
 }

程序的运行结果是(  )。

共 1 分 

第23题

以下叙述中正确的是(  )。 

共 1 分 

第24题

以下叙述中正确的是(  )。

共 1 分 

第25题

在以下给出的表达式中,与while(E)中的(E)不等价的表达式是 (  )。

共 1 分 

第26题

以下数组定义中错误的是(  )。 

共 1 分 

第27题

下列定义数组的语句中,对的的是

共 1 分 

第28题

以下叙述中正确的是(  )。 

共 1 分 

第29题

有以下程序

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
main()
 {
 int i,j = 0; 
char a[] = "How are you", b[10] = {0};
 for (i=0; a[i]; i++)
 if (a[i] == ' ')
 b[j++] = a[i+1];
 printf("%s\n",b);
 }

程序运行后的输出结果是(  )。

共 1 分 

第30题

以下关于字符串的叙述中正确的是()。

共 1 分 

第31题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
void fun(int *s)
 {
 static int j=0;
 do s[j] += s[j+1]; while(++j<2);
 }
 main()
 {
int i,a[10]={1,2,3,4,5};
 for(i=1; i<3; i++) fun(a);
 for(i=1; i<5; i++) printf("%d",a[i]);
 printf("\n"); 
}

程序运行后的输出结果是(  )。

共 1 分 

第32题

有以下程序

1
2
3
4
5
6
#include <stdio.h>
main()
 {
 int a[10]={11,12,13,14,15,16,17,18,19,20},*p=a,i=9;
 printf("%d,%d,%d\n",a[p-a],p[i],*(&a[i]));
 }

程序运行后的输出结果是(  )。 

共 1 分 

第33题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
void  fun(double  *p1,double  *p2,double  *s)
 {
 s = (double *)calloc( 1,sizeof(double) );
 *s = *p1 + *( p2+1 );
 }
 main()
 {
 double  a[2] = { 1.1, 2.2 }, b[2] = { 10.0, 20.0 }, *s=a;
 fun(a, b, s);
 printf("%5.2f\n", *s);
 }

程序的输出结果是(  )。

共 1 分 

第34题

设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为( )。

共 1 分 

第35题

以下叙述中正确的是(  )。 

共 1 分 

第36题

若要使用C数学库中的sin函数,需要在源程序的头部加上 #include关于引用数学库,以下叙述正确的是(  )。

共 1 分 

第37题

以下叙述中正确的是(  )。 

共 1 分 

第38题

下面结构体的定义语句中,错误的是(  )。

共 1 分 

第39题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
typedef struct {int b, p;} A;
 void f(A c)
 {
 int j;
 c.b+=1;  
c.p+=2;
 }
 void main()
 {
 int i;
 A a={1,2};
 f(a);
 printf("%d,%d\n", a.b, a.p);
 }

程序运行后的输出结果是(  )。

共 1 分 

第40题

有以下程序

1
2
3
4
5
6
7
#include <stdio.h>
main()
 {
char x=2,y=2,z;
 z=(y<<1)&(x>>1);
 printf("%d\n",z);
 }

程序的输出结果是(  )。

共 1 分 

第41题

给定程序中,函数fun的功能是计算下式:

公式1

 直到 

公式2

并把计算结果作为函数值返回。 例如:若形参e的值为1e-3,函数的返回值为0.141457。 请在程序的下划线处填入正确的内容并把下划线删除.使程序得 出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**********code.c**********/
 #include <stdio.h.
double fun(double e)
 {
int i,k;
 double s,t, x;
 s=0;
 k=1;
 i=2;
 x=①______/4;
 while(x ②______ e)
 {
 s=s+k*x;
 k=k* (-1);
 t=2*i;
 x=③______/(t*t);
 i++;
 }
 return s;
 }
 main()
 
double e=1e-3;
 printf("\nThe result is: %f\n",fun(e));
 }
 /**********-code.c**********/
共 20 分 

第42题

下列给定的程序中,函数fun()的功能是:求出以下分数序列的前n 项和。2/1,3/2,5/3,8/5,13/8,21/13,……和值通过函数值返回 main()函数。例如,若输入n=5,则应输出8.391667。 注意:部分源程序给出如下。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的 结构!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**********code.c**********/
 #include <stdio.h>
/**********found**********/
 void fun(int n)
 {  
int a, b, c, k;
 double s;
 s = 0.0;
 a = 2;
 b = 1;
 for(k = 1; k <= n; k++)
 {
 /**********found**********/
 s = s + (Double)a / b;
 c = a;
 a = a + b;
 b = c;
 }
 return s;
 }
 void main()
 {   
int n = 5;
 printf("\nThe value of function is: %lf\n", fun(n));
 }
 /**********-code.c**********/
共 40 分 

第43题

请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中 最大元素的值,并将此值返回调用函数。注意部分源程序存在文件 PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花 括号中埴入你编写的若干语句。

1
2
3
4
5
6
7
8
9
10
11
/**********code.c**********/
#include <stdio.h>
#define M 4
 int fun (int a[][M])
 {
 }
 void main()
 
int arr[2][M]={5,8,3,45,76,-4,12,82};
 printf("max =%d\n", fun(arr));
 }

参考答案:

1
2
3
4
5
6
7
8
9
int fun (int a[][M])
 {
int i,j,max=a[0][0];
 for(i=0;i<2;i++)
 for(j=0;j<M;j++)
 if(max<a[i][j]) 
max=a[i][j];
 return max;
 }
共 0 分