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

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


第1题

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

共 1 分 

第2题

某二叉树有5个度为2的结点,则该二叉树中的叶子结点是数是 ( )。

共 1 分 

第3题

设循环队列为Q(1:m),初始状态为front=rear=m。现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为( )。


共 1 分 

第4题

下面对类-对象主要特征描述正确的是( )。

共 1 分 

第5题

下列选项中不属于结构化程序设计原则的是(   )。

共 1 分 

第6题

软件按功能可以分为:应用软件、系统软件、支撑软件(或工具 软件)。下面属于应用软件的是( )。

共 1 分 

第7题

程序测试的目的是(   )。

共 1 分 

第8题

将E-R图转换为关系模式时,实体和联系都可以表示为 ( )。 

共 1 分 

第9题

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

共 1 分 

第10题

有两个关系R,S如下:

R、S关系表

由关系R通过得到关系S,则所使用的运算为( )。

共 1 分 

第11题

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

共 1 分 

第12题

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

共 1 分 

第13题

有以下程序

1
2
3
4
5
#include <stdio.h>
main()
{
printf("%d\n", NULL);
}

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

共 1 分 

第14题

有如下程序

1
2
3
4
5
6
7
8
#include <stdio.h>
main()
{
if('\0'== 0)putchar('X');
if('0'== 0)putchar('Y');
if('a'>'b')putchar('Z');
printf("\n");
}

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

共 1 分 

第15题

关于C语言标识符,以下叙述错误的是()。

共 1 分 

第16题

设有两行定义语句:

1
2
int scanf;
float case;

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

共 1 分 

第17题

有以下程序

1
2
3
4
5
#include <stdio.h>
main()
{  int a=2,c=5;
printf("a=%%d,b=%%d\n",a,c);
}

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

共 1 分 

第18题

设有定义:

1
2
int n = 1234;
double x = 3.1415;

则语句

1
printf("%3d,%1.3f\n", n, x);

的输出结果是( )。

共 1 分 

第19题

设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( )。

共 1 分 

第20题

以下程序段中的变量已正确定义

1
2
3
for( i=0; i<4; i++,i++ )
for( k=1; k<3; k++ );
printf("*" );

该程序段的输出结果是( )。

共 1 分 

第21题

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

共 1 分 

第22题

设有定义:char p[]={'1','2','3'},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是(   )。

共 1 分 

第23题

以下程序段中的变量已正确定义

1
2
3
for( i=0; i<4; i++,i++ )
for( k=1; k<3; k++ );
printf("*" );

该程序段的输出结果是( )。

共 1 分 

第24题

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

共 1 分 

第25题

在源程序的开始处加上“#include”进行文件引用的原因, 以下叙述正确的是( )。

共 1 分 

第26题

若有定义语句:char s[10]="1234567\0\0";则strlen(s)的值是( )。

共 1 分 

第27题

字符数组a和b中存储了两个字符串,判断字符串a和b是否相等,应当使用的是()。

共 1 分 

第28题

以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。( )

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
int a[10],i=0;
while(i<10) scanf("%d", _________);
}
共 1 分 

第29题

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

共 1 分 

第30题

设有某函数的说明为

1
int* func(int a[10], int n);

则下列叙述中,正确的是( )。

共 1 分 

第31题

在C语言中,只有在使用时才占用内存单元的变量,其存储类型是 ( )。

共 1 分 

第32题

设有定义int x=0,*p;立即执行以下语句,正确的语句是( )。

共 1 分 

第33题

读取二进制文件的函数调用形式为“fread(buffer,size,count,fp);”,其 中buffer代表的是(  )。

共 1 分 

第34题

若有定义语句:

1
 double a,*p=&a;

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

共 1 分 

第35题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
void fun(int *p1, int *p2, int *s)
{
s=( int*)calloc(1,sizeof(int));
*s=*p1+*p2;
free(s);
}
main()
{
int a[2]={1,2}, b[2]={40,50},*q=a;
fun(a,b,q);
printf("%d\n", *q);
}

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

共 1 分 

第36题

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

共 1 分 

第37题

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

共 1 分 

第38题

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

共 1 分 

第39题

所谓多态性是指( )。

共 1 分 

第40题

标准库函数fgets(s,n,f)的功能是( )。

共 1 分 

第41题

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。
例如,从主函数输入一个整数:27638496,函数返回值为:26846。
请在程序的下划线处埴入正确的内容并把下划线删除.使程序得出正确的结果。 

注意:

源程序存放在考生文件夹下的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
27
28
29
/**********code.c**********/
#include <stdio.h>
unsigned long fun(unsigned long n)
{
unsigned long x=0, s, i;
int t;
s=n;
i=①______;
while(②______)
{
t=s%10;
if(t%2==0)
{
x=x+t*i;
i=③______;
}
s=s/10;
}return x;
}void main()
{
unsigned long n=-1;
while(n>99999999||n<0)
{
printf("Please input(0<n<100000000): ");
scanf("%ld",&n);
}
printf("\nThe result is: %ld\n",fun(n));
}
/**********-code.c**********/
共 20 分 

第42题

给定程序MODI1.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。
注意:

不要改动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
/**********code.c**********/
#include <stdio.h>
#define M  5
/**********found**********/
int fun(int n, int xx[][])
{
int i, j, sum=0;
printf"\nThe %d x %d matrix:\n", M, M);
for(i = 0; i < M; i++)
{
for(j = 0; j < M; j++)
/**********found**********/
printf("%f ", xx[i][j]);
printf("\n");
}for(i = 0;i < n;i++)
sum += xx[i][i]+xx[i][n-i-1];
return(sum);
}void main()
{
int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},
{3,4,5,6,7}};
printf("\nThe sum of all elements on 2 diagnals is %d.",fun(M,aa));
}
/**********-code.c**********/
共 40 分 

第43题

函数fun功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。
例如,当a=45,b=12。调用该函数后,c=4251。
注意,部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun花括号中填入你编写的若干语句。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**********code.c**********/
#include <stdio.h>
void fun(int a, int b, long *c)
{
 
}
int main()
{
int a,b;
long c;
printf("Input a b:");
scanf("%d%d", &a, &b);
fun(a, b, &c);
printf("The result is: %ld\n", c);
}
/**********-code.c**********/

参考答案:

1
2
3
4
void fun(int a, int b, long *c)
{
*c=a%10+(b%10)*10+(a/10)*100+(b/10)*1000;
}
共 0 分