Dotcpp  >  试卷列表  >  2018年9月全国计算机等级考试真题(二级C语言)

2018年9月全国计算机等级考试真题(二级C语言)


第1题

若有以下程序

1
2
3
4
5
6
7
8
9
10
main() 
{
    int a=6, b=0, c=0; 
    for(;a;)
    {
        b+=a;
        a-=++c;
    }
    printf("%d,%d,%d\n",a,b,c); 
}

则程序的输出结果是

共 1 分 

第2题

循环队列的存储空间为Q(1:200),初始状态为front-rear=200,经过一系列正常的入队与退队操作后,front-rear-1,则循环队列中的元素个数为

共 1 分 

第3题

以下叙述中正确的是

共 1 分 

第4题

计算机软件包括

共 1 分 

第5题

若有定义语句:char*s1-"OK",*s2="ok";以下选项中,能够输出"OK"的语句是

共 1 分 

第6题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int f(int n); 
main() 
  int a=3,s; 
  s=f(a); 
  s=s+f(a)
  printf("%d\n",s);
}
int f(int n) 
  static int a=1;
  n+=a++; 
  return n;
}

程序运行后的输出结果是

共 1 分 

第7题

在数据库设计中,描述数据间内在语义联系得到E-R图的过程属于

共 1 分 

第8题

软件需求规格说明的内容应包括

共 1 分 

第9题

在黑盒测试方法中,设计测试用例的根据是

共 1 分 

第10题

某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为

共 1 分 

第11题

下列结构中属于线性结构链式存储的是

共 1 分 

第12题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
main()
{
    int a[]={10,20,30,40};
    *p=a,i;
    for (i=0;i<=3;i++)
    {
        a[i]=*p;
        p++;
    }
    printf("%d\n",a[2];
}

程序运行后的输出结果是

共 1 分 

第13题

某系统结构图如下图所示,则该系统结构图的宽度是

Snipaste_2021-04-25_13-27-11.png

共 1 分 

第14题

某系统总体结构如下图所示,该系统结构图的最大扇出数是

Snipaste_2021-04-25_13-28-56.png

共 1 分 

第15题

下列函数的功能是void fun(char*a,char*b){while((*b=*a)!='\0'){a++;b++;}}

共 1 分 

第16题

某二叉树共有399个结点,其中有199个度为2的结点,则该二叉树中的叶子结点数为

共 1 分 

第17题

以下不合法的数值常量是

共 1 分 

第18题

我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是

共 1 分 

第19题

有三个关系R,S和T如下图所示,则由关系R和S得到关系T的操作是

Snipaste_2021-04-25_13-36-24.png

共 1 分 

第20题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
void fun (chars) 
{
    char a[10]; 
    strcpy(a,"STRING"); 
    s=a; 
}
main()
{
    char*p="PROGRAM";
    fun(p);
    printf("%s\n",p);
}

程序运行后的输出结果是(此处口代表空格)

共 1 分 

第21题

第三范式是在第二范式的基础上消除了

共 1 分 

第22题

下列叙述中错误的是

共 1 分 

第23题

有以下结构体说明、变量定义和赋值语句struct STD{char name[10];int age;char sex;}s[5].*ps;ps=&s[0];则以下scanf函数调用语句有错误的是

共 1 分 

第24题

有以下程序

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int f(int x, int y)
{
    return((y-x)*x);}
main()
{
    int a=3,b=4,c=5,d; 
    d=f (f(a,b), f(a,c)); 
    printf("%d\n",d);
}

程序运行后的输出结果是

共 1 分 

第25题

以下叙述中正确的是

共 1 分 

第26题

某图书集团数据库中有关系模式R,其中要求①每个书店的每种书籍只在该书店的一个部门销售;②每个书店的每个部门只有一个负责人;③每个书店的每种书籍只有一个库存数量。则关系模式R最高是

共 1 分 

第27题

下列叙述中正确的是

共 1 分 

第28题

以下叙述中正确的是

共 1 分 

第29题

有两个关系R和S如下图所示,则由关系R得到关系S的操作是

Snipaste_2021-04-25_13-50-56.png

共 1 分 

第30题

有以下程序

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

程序执行后的输出结果是

共 1 分 

第31题

下列叙述中正确的是

共 1 分 

第32题

若变量已正确定义,以下选项中非法的表达式是

共 1 分 

第33题

算法的空间复杂度是指

共 1 分 

第34题

软件需求规格说明书的作用不包括

共 1 分 

第35题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
void 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 分 

第36题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
void fun(char **p)
{
    ++p; 
    printf("%s\n",*p);
}
main()
{
    char *a[]=("Morning","Afternoon","Evening","Night");
    fun(a);
}

程序的运行结果是

共 1 分 

第37题

以下叙述中正确的是

共 1 分 

第38题

设栈的存储空间为S(1:50),初始状态为top-0,现经过一系列正常的入栈与退栈操作后,top=51,则栈中的元素个数为

共 1 分 

第39题

结构化程序包括的基本控制结构是

共 1 分 

第40题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int fun (int a,int b) 
{
    if (b==0) 
    return a; 
    else return (fun(--a,--b));
}
main()
{
    printf("%d\n",fun(4,2));
}

程序的运行结果是

共 1 分 

第41题

给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时,程序输出:

x1=5.000000,x2=3.000000,x1*x1 +x1*x2=40.000000

不得增行或删行,也不得更改程序的结构!

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
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h>
double f1(double x)
{
    return x*x;
}
double f2(double x, double y)
{
    return x*y;
}
/**********found**********/
__(1)__ fun(int i, double x, double y)
{
    if(i==1)   
    {
        /**********found**********/
        return __(2)__(x);
    }
    else 
    {
        /**********found**********/
        return __(3)__(x,y);
    }
}
main()
{
    double x1=5, x2=3, r;
    r = fun(1, x1, x2);
    r += fun(2, x1, x2);
    printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n",x1, x2, r);
    system("pause");
}


共 18 分 

第42题

给定程序函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。

请改正程序中的错误,使它能得出正确的结果。

不要改动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
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <conio.h>
#include <stdio.h>
/**********found**********/
char fun(char *s, char *t)
{
    int s1=0, t1=0;
    char *ss, *tt;
    ss=s;
    tt=t;  
    while(*ss)
    {
        s1++;
        /**********found**********/
        (*ss)++;
    }
    while(*tt)
    {
        t1++;
        tt++;
    }
    if (t1>s1)
    {
        return t;
    }
    else 
    {
        return s;
    }
}
main()
{
    char a[80],b[80];
    printf("\nEnter a string:");
    gets(a);
    printf("\nEnter a string again:");
    gets(b);
    printf("\n\nThe longer is:\n\n%s\n",fun(a,b));
    system("pause");
}


共 18 分 

第43题

请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO,回文是指顺读和倒读都一样的字符串。


例如,字符串LEVEL是回文,而字符串123312就不是回文。


请勿改动主函数main和其它函数中的任何内容,仅在函数fun中填入你编写的若干语句。


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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 80
int fun(char *str)
{
    int i,n=0,fg=1;
    char *p=str;
    while(①)
    {
         
         
    }
    for(i=0;i<n/2;i++)
    {
         if(④)
        {
            
            
        }
     
    }
    return fg;
 
}
main()
{
char s[N];
void NONO();
printf("Enter a string:"); 
gets(s);
printf("\n");
puts(s);
if(fun(s)) 
{
printf("YES\n");
}
else 
{
printf("NO\n");
}
NONO();
system("pause");
}
void NONO()
{/* 请在此函数内打开文件,输入测试数据,
 调用函数,输出数据,关闭文件。 */
FILE *rf, *wf;
int i; 
char s[N];
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0; i<8; i++)
{
fscanf(rf, "%s", s);
if(fun(s)) 
{
fprintf(wf, "%s YES\n", s);
}
else 
{
fprintf(wf, "%s NO\n", s);
}
}
fclose(rf); 
fclose(wf);
}


共 24 分