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

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


第1题

下列叙述中正确的是

共 1 分 

第2题

梭和队列的共同点是(   )。

共 1 分 

第3题

对于现实世界中事物的特征,在实体-联系模型中使用(  )。

共 1 分 

第4题

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

共 1 分 

第5题

下列选项中属于面向对象设计方法主要特征的是(  )。

共 1 分 

第6题

关系表中的每一横行称为一个(  )。

共 1 分 

第7题

下面对软件测试和软件调试叙述错误的是(  )。

共 1 分 

第8题

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

共 1 分 

第9题

负责数据库中查询操作的数据库语言是( )。

共 1 分 

第10题

一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个 或者多个共有的(  )。

共 1 分 

第11题

以下叙述正确的是(  )。

共 1 分 

第12题

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

共 1 分 

第13题

以下合法的转义字符是()。

共 1 分 

第14题

表达式a+=a-=a=9的值是()。

共 1 分 

第15题

以下选项中,当x为大于1的奇数时,值为0的表达式是( )。 

共 1 分 

第16题

若有定义语句:

1
int x=12,y=8,z;

在其后执行语句:

1
z=0.9+x/y;

则z的值为(  )。

共 1 分 

第17题

有以下程序段

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

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

共 1 分 

第18题

设有定义:

1
double  x=2.12;

以下不能完整输出变量x值的语句是 (  )。

共 1 分 

第19题

有以下程序

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 分 

第20题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
main()
{
int a,b;
for(a=0; a<3; a++)
{
scanf("%d", &b);
switch(b)
{
defaultprintf("%d,", ++b);
case 1: printf("%d,", ++b);
case 2: printf("%d,", ++b);
}
}

}执行时输入:1 2 3 <回车>,则输出结果是( )。

共 1 分 

第21题

有以下程序

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

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

共 1 分 

第22题

有如下程序

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

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

共 1 分 

第23题

有以下程序

1
2
3
4
5
6
7
8
#include <stdio.h>
main()
 {
 int i,array[6] = {1,5,0,4};
 for(i=0; i<5; i++)
 printf("%d,",array[i]&4);
 printf("\n");
 }

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

共 1 分 

第24题

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

共 1 分 

第25题

关于地址和指针,以下说法正确的是(   )。

共 1 分 

第26题

对于函数声明

1
void fun(float array[], int *ptr);

以下叙述正确的是(  )。

共 1 分 

第27题

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

共 1 分 

第28题

有以下程序

1
2
3
4
5
6
7
8
#include <stdio.h>
main()
 {
 int b[3][3] = {0,1,2,0,1,2,0,1,2},i,j,t = 1;
 for(i = 0;i<3;i++)
 for(j = i;j <= i;j++)t+=b[i][b[j][i]];
 printf("%d\n",t);
 }

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

共 1 分 

第29题

若有定义:

1
char s[30] = {0};

运行时输入: This is a string.<回车> 则以下不能正确读入整个字符串: This is a string. 到字符数组 s 中的语句组是(  )。

共 1 分 

第30题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 #include <stdio.h>
 #define N 4
 void fun(int a[][N])
 {  
int i;
 for(i=0; i<N; i++)
 a[0][i] += a[N-1][N-1-i];
 }
 void main()
 
int x[N][N]={{1, 2, 3, 4}, {5, 6, 7, 8}, {9,10,11,12}, {13,14,15,16}}, i;
 fun(x);
 for (i=0;i<N; i++)printf("%d,", x[i][i]);
 printf("\n");}

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

共 1 分 

第31题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <sydio.h>
int a=1, b=2;
 void fun1(int a,int b)
 {
 printf("%d %d ",a,b);
 }
 void fun2()
 {
 a=3;
 b=4;
 }
 main()
 {
 fun1(5,6);
 fun2();  
printf("%d %d\n",a,b);
 }

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

共 1 分 

第32题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
void fun(char *a, char *b)
 {
 while(*a=='*') a++;
 while(*b=*a)
 {
 b++;
 a++;
 }
 }
 main()
 {
 char *s= "*****a*b****", t[80];
 fun(s,t);
 puts(t);
 }

程序的运行结果是(  )。

共 1 分 

第33题

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

共 1 分 

第34题

设有定义:

1
int x=0, *p;

紧接着的赋值语句正确的是(  )。

共 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题

设文件指针fp已定义,执行语句fp=fopen("file","w");后,以下针对 文本文件file操作叙述的选项中正确的是( )。

共 1 分 

第41题

给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素变换。例如,有下列矩阵:

1       2      3

4       5      6

7       8      9

10     11     12

若k为2,程序执行结果为:

7         8         9

 4        5         6

 1        2          3

 10      11       12

  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

  注意:源程序存放在考生文件夹下的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
30
31
32
33
34
35
/**********code.c**********/
 #include<stdio.h>
 #define N 3
 #define M 4
 /**********found**********/
 void fun(int (*a)[N],int ①______)
 {
 int i,temp ;
 /**********found**********/
 for(i=0;i < ②______;i++)
 {
  temp=a[0][i] ;
  /**********found**********/
  a[0][i] = ③______;
  a[k][i] = temp;
 }
 }
 void main()
 {
 int x[M][N]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}},i,j;
 printf("The array before moving:\n\n");
 for(i=0;i<M;i++)
 
  for(j=0;j<N;j++) printf("%3d",x[i][j]);
  printf("\n\n");
 }
 fun(x,2);
 printf("The array after moving:\n\n");
 for(i=0;i<M;i++)
 
for(j=0;j<N;j++) printf("%3d",x[i][j]);
 printf("\n\n");
 }
 }
 /**********-code.c**********/
共 20 分 

第42题

给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度 <20),将该字符串中的所有字符按ASCII码升序排序后输出。 例如,若输入:edcba,则应输出:abcde。 请改正程序中的错误,使它能统计出正确的结果. 注意:不要改动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
/**********code.c**********/
#include <stdio.h>
#include <string.h>
void fun(char t[])
 {
 char c;
 int i, j;
 /**********found***********/
 for(i = strlen(t);i;i--)
  for(j = 0; j < i; j++)
   /**********found***********/
   if(t[j] < t[j + 1])
   {
    c = t[j];
    t[j] = t[j + 1];
    t[j + 1] = c;
   }
 }
 void main()
 {
 char s[81];
 printf("\nPlease enter a character string: ");
 gets(s);
 printf("\n\nBefore sorting:\n  \"%s\"",s);
 fun(s);
 printf("\nAfter sorting decendingly:\n  \"%s\"\n",s);
 }
 /**********-code.c**********/
共 40 分 

第43题

请编写一个函数fun其功能是:将ss所指字符串中所有下标为奇数位 置上的字母转换为大写(若该位置上不是字母,则不转换)。 例如,若输入“abc4EFg”,则应输出“aBe4EF9”。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花 括号中填入你编写的若干语句。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**********code.c**********/
#include <stdio.h>
#include <string.h>
void fun(char *ss)
 {
 }
 main()
 {
 char tt[51];
 printf"\nPlease enter an character string within  50  characters:\n" );
 gets(tt);
 printf("\n\nAfter changing, the string\n  \"%s\"",tt);
 fun(tt) ;
 printf("\nbecomes\n  \"%s\"",tt);
 }

参考答案:

1
2
3
4
5
6
7
void fun(char *ss)
 {
 int i;
 for(i=0;ss[i]!='\0';i++) 
if(i%2==1&&ss[i]>='a'&&ss[i]<='z')
 ss[i]=ss[i]-32;
 }
共 0 分