考试真题网,考试人的精神家园。

广告服务|设为主页 |加入收藏

当前位置:首页>计算机类>计算机二级C语言真题

2012 年 3 月全国计算机等级考试二级 C 语言真题

(考试时间 90 分钟,满分 100 分)

一、 选择题

1 、 下列叙述中正确的是:

A 、循环队列是队列的一种顺序存储结构     

B 、循环队列是队列的一种链式存储结构

C 、循环队列是非线性结构                 

D 、循环队列是一直逻辑结构

2 、 下列叙述中正确的是

A 、栈是一种先进先出的线性表          

B 、队列是一种后进先出的线性表

C 、栈和队列都是非线性结构        

D 、以上三种说法都不对

3 、 一棵二叉树共有 25 个节点,其中 5 个时子节点,那么度为 1 的节点数为

A 、 4              B 、 6          C 、 10              D 、 16

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

A 、内模式     B 、外模式      C 、概念模式    D 、逻辑模式

5 、 在满足实体完整性约束的条件下

A 、一个关系中可以没有候选关键词

B 、一个关系中只能有一个候选关键词

C 、一个关系中必须有多个候选关键词

D 、一个关系中应该有一个或者多个候选关键词

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

       R                   

A B C

a 1 2

b 2 1

c 3 1

 

                                     

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

A 、自然连接     B 、并       C 、差        D 、交

7 、 软件生命周期中的活动不包括

A 、软件维护        B 、市场调研       C 、软件测试          D 、需求分析

8 、 下面不属于需求分析阶段任务的是

A 、确定软件系统的功能需求           B 、确定软件系统的系统的系能需求

B 、制定软件集成测试计划             D 、需求规格说明书审评

9 、 在黑盒测试方式中,设计测试用例的主要根据是

A 、程序外部功能                     B 、程序内部逻辑

C 、程序数据结构                     D 、程序流程图

10 、 在软件设计中不使用的工具是

A 、系统结构图         B 、程序流程图   

  C 、 PAD 图        D 、数据流图( DFD 图)

11 、针对简单程序设计,以下叙述的实施步骤正确的是

A 、确定算法和数据结构、编码、调试、整理文档

B 、编码、确定算法和数据结构、调试、整理文档

C 、整理文档、确定算法和数据结构、编码、调试

D 、确定算法和数据结构、调试、编码、整理文档

12 、关于 C 语言中数的表示,以下叙述正确的是

A 、只有整型数在允许范围内能精确无误的表示,实型数会有误差

B 、只要在在允许范围内整型和实型都能精确表示

C 、只有实型数在允许范围内能精确无误的表示,整型数会有误差

D 、只有八进制表示的数在不会有误差

13 、以下关于算法叙述错误的是

A 、算法可以用伪代码、流程图等多种形式来描述

B 、一个正确的算法必须有输入

C 、一个正确的算法必须有输出

D 、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码

14 、以下叙述错误的是

A 、一个 C 程序可以包含多个不同名的函数

B 、一个 C 程序只能有一个主函数

C 、 C 程序在书写时,有严格的缩进要求,否则不能编译通过

D 、 C 程序的主函数必须用 main 作为函数名

15 、设有以下语句

Char  ch1,ch2, scanf ( ”%c%c”,&ch1,&ch2 ) ;

若要为变量 ch1 和 ch2 分别输入字符 A 和 B ,正确的输入形式应该是

A 、 A 和 B 之间用逗号间隔           B 、 A 和 B 之间不能有任何间隔符

C 、 A 和 B 之间可以用回车间隔       D 、 A 和 B 之间用空格间隔

16 、以下选项中非法的字符常量是

A 、 ’\102’      B 、 ’\65’      C 、 ’\xff’           D 、 ’\019’

17 、有以下程序

#include <sthio.h>

Main()

{

Int A=0,B=0,C=0;

C=(A-=A-5);(A=B,B+=4);

Printf(“%d, %d, %d\n”,A,B,C)

}

程序运行后输出的结果是

A 0,4,5        B 4,4,5         C  4,4,4      D 0,0,0

18 、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是

A 、 x++; printf((“%d\n”,x);              B 、 n=++x; printf((“%d\n”,n);

C 、 ++x; printf((“%d\n”,x);              D 、 n=x++; printf((“%d\n”,n);

19 、以下选项中,能表示逻辑值 “ 假 ” 的是

A 1              B  0.000001           C  0           D 100.0

20 、有以下程序

#include <sthio.h>

Main()

{ int  a ;

Scanf(“%d”,&a);

If(a++<9) printf((“%d\n”,a);

Else   printf((“%d\n”,a--);

}

程序运行时键盘输入 9< 回车 > ,则输出的结构是

A 、 10        B   11       C  9      D  8

21 、有以下程序

#include <sthio.h>

Main()

{int s=0,n;

   For (n=0;n<3;n<++)

{switch(s)

{ case 0;

Case 1;s+=1;

Case 2;s+=2;break;

Case 3;s+3;

Case 4;s+=4;

}

printf((“%d\n”,s);

}

}

程序运行后的结果是

A  1,2,4       B   1,3,6      C  3,10,14     D 3,6,10

22 、若 k 是 int 类型变量,且有以下 for 语句

For ( k=-1 ; k<0;k++ )  printf(****\n”);

下面关于语句执行情况的叙述中正确的是

A 、循环体执行一次                  B 、循环体执行两次

C 、循环体一次也不执行              D 、构成无限循环

23 、有以下程序

#include <sthio.h>

Main()

{char A,B,C;

B=’1’;C=’A’

For(A=0;A<6;A++)

{if(A%2)  putchar ( B+A ) ;

Else  putchar ( C+A );

}

}

程序运行后输出的结果是

A  1B3D5F   B  ABCDFE    C   A2C4E6    D   123456

24 、设有如下定义语句

Int m[ ]={2,4,6,8},*k=m;

以下选项中,表达式的值为 6 的是

A *(k+2)     B  k+2           C  *k+2          D *k+=2

25 、 fun 函数的功能是:通过键盘输入给 x 所指的整型数组所有元素赋值。在下列划线处应该填写的是

#include <sthio.h>

#define N 5

Viod fun(int x[N])

{int m;

For(m=N-1;m>0;m--)  scanf(“%d\n”,       );

}

A  &x[++m]    B  &x[m+1]     C x+(m++)    D  x+m

26 、若有函数

Viod fun ( double a[], int *n )

{………}

以下叙述中正确的是

A 、 调用 fun 函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送

B 、 形参 a 和 n 都是指针变量

C 、 形参 a 是一个数组名, n 是指针变量

D 、 调用 fun 函数时将把 double 型实参数组元素一一对应地传送给形参 a 数组

27 、有以下程序

#include <sthio.h>

Main()

{int a,b,k,m,*p1,*p2;

k=1,m=8;

p1=&k,p2=&m;

a=/*p1-m;  b=*p1+*p2+6;

printf(“%d  ”,a);  printf(“%d\n”,b);

}

编译时编译器提示错误信息,你认为出错的语句是

A 、 a=/*p1-m              B 、 b=*p1+*p2+6

C 、 k=1,m=8;              D 、 p1=&k,p2=&m;

28 、以下选项中有语法错误的是

A char *str[ ]={“guest”};             B 、 char  str[10 ]={“guest”};

C 、 char *str[3] *str[1]={“guest”};      D 、 char  str[3][10];str[1]={“guest”};

29 、 avg 函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过 10 ,则下列函数说明语句错误的是

A 、 int avg ( int *a,int n ) ;     B 、 int avg ( int a[10],int   n ) ;

C 、 int avg ( int  a,int n )  ;    D 、 int avg ( int  a[],int n ) ;

30 、有以下函数

 #include <sthio.h>

#include <string.h>

main()

{ printf(“%d\n”,strren”ATS\n012\1”) );}

程序运行后的输出结果是

A 3    B 8         C  4     D  9

31 、有以下函数

 #include <sthio.h>

main ()

{ char a[20],b[20],c[20];

scanf ( ”%s%s”,a,b ) ;

get(c);

printf(”%s%s\n”,a,b,c);

}

程序运行时从第一行开始输入  this is a cat!< 回车 > ,则输出结果是

A thisisacat!   B  this is a     C  thisis a cat!    D thisisa cat!

32 、有以下函数

 #include <sthio.h>

viod fun(char c)

{if(c>’x’)  fun(c-1);

 printf (“%c”,c);

}

main ()

{fun”z”;}

程序运行输出结果是

A xyz   B wxyz      C zyxw    D  zyx

33 、有以下函数

 #include <sthio.h>

viod func(int  n)

{int i;

for(i=0;i<=n;i++) printf(“*”);

 printf(“#”);

main ()

{ func(3);  printf(“????”); func(4); printf(“\n”); }

程序运行输出结果是

 A ****#????***#        B ***#????*****#

 C **#????*****#        D ****#????*****#

34 、有以下函数

 #include <sthio.h>

viod fun(int *s)

{staic int j=0;

do {s[j]=s[j]+s[j+1];} wihle(++j<2);

}

main ()

{int k,a[10]={1,2,3,4,5};

for(K+1;k<3;k++)  fun(a);  

for(K+1;k<5;k++)   printf(“%d”,a[k]);

printf(“\n”);

}

程序运行输出结果是

A 12345        B  23445     C 34756      D 35745

35 、有以下函数

 #include <sthio.h>

#define S(x)   (x)*x*2

main ()

{int k=5,j=2;

printf(“%d,”,S[k+j]);  printf(“%d\n”,S(k-j)));

}

程序运行输出结果是

A 98,18      B 39,11     C39,18     D98,11

36 、有以下函数

#include <sthio.h>

Viod exch(int t[ ])

{t[0]=t[5];}

{int x[10]={1,2,3,4,5,6,7,8,9,10},i=0;

While(i<=4) {exch(&x[i])’i++;}

for(i=0;i<5;i++)   printf(“%d”,x[i]);

printf(“\n”);

}

程序运行输出结果是

A 2 4 6 8 10   B 1 3 5 7 9    C 1 2 3 4 5    D 6 7 8 9 10

37 、设有以下程序段

Struct  MP3 

{char name[20];

 Char color;

Float price;

}std,*ptr;

ptr=& std;

若要引用结构体变量 std 中的 color 成员,写法错误的是

A std.color    B ptr-> color        C std-> color    D (*ptr) .color   

38 、有以下函数

#include <sthio.h>

struct stu

{int mun;  char  name[10];  int age;};

viod fun(struct stu *p)

{ printf(“%s\n”,p->name);}

mian()

{ struct stu x[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}};

fun(x+2);

}

程序运行输出结果是

A  zhang     B  zhao   C  wang   D  19

39 、有以下函数

#include <sthio.h>

mian()

{int a=12,c;

c=(a<<2)<<1;

printf(“%d\n”,c):

}

程序运行输出结果是

A  3      B   50    C 2    D 96

40 、以下函数不能用于向文件写入数据的是

A  ftell        B fwrite         C fputc          D fprintf

 

二、 填空题

1 、将长度为 n 的顺序存储在线性表中删除一个元素,最坏情况下需要移动表中的元素个数为(     )。

2 、设循环队列的存储空间为 Q(1:3), 初始状态为 front=rear=30 。现经过一系列入队与退队运算后, front=16 , rear=15 ,则循环队列中有(       )个元素。

3 、数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是(    )。

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

5 、常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于(    )。

6 、设变量 a 和 b 已定义为 int 类型,若要通过 scanf ( ”a=%d,b=%d”,&a,&b ) ; 语句分别给 a 和 b 输入 1 和 2 ,则正确的数据输入内容是(     )。

7 、以下程序的输出结果是(    )。

#include <sthio.h>

mian()

{ int a=37;

a+=a%=9; printf(“%d\n”,a);

}

8 、设 a 、 b 、 c 都是整型变量,如果 a 的值为 1 , b 的值为 2 ,则执行 c=a++||b++ ;语句后,变量 b 的值是 (   ).

9 、有以下程序段

s=1.0;

for(k=1,k<=n;k++)   s=s+1.0(k*(k+1));

printf(“%f\n”,s);

请填空,使以下程序段的功能与上面的程序段完全相同。

s=1.0;  k=1;

while(    )

{ s=s+1.0(k*(k+1)); k=k+1;}

printf(“%f\n”,s);

 

10 、以下程序段的输出结果是 (            )

#include <sthio.h>

mian()

{ char  a,b;

 for(a=0;a<20;a+=7) { b=a%10; putchar(b+’0’); }

}

 

11 、以下程序段的输出结果是 (            )

#include <sthio.h>

mian()

{ char *ch[4]={“red”,”green”,”blue”};

Int i=0;

While(ch[i]);

{  putchar(ch[i][0]; i++;  }

}

 

12 、 有以下程序

#include <sthio.h>

mian()

{int arr[]={1,3,5,7,2,4,6,8{, i, start;

Scanf(“%d”, &start);

For(i=0,i<3,i++)

printf(“%d”,arr[(start+i)%8]);

}

若在程序运行时输入整数 10 < 回车 > ,则输出结果为(      )。

 

13 、 以下程序的功能是输出 a 数组中的所有字符串,请填空

#include <sthio.h>

mian()

{char *a[]={“ABC”,”DEFGH”,”IJ”,”KLMNOP”};

Int i=0;

For(;i<4;i++) printf(“%s\n”,           );

}

 

14 、以下程序的输出结果是(             )。

#include <sthio.h>

#include <sthio.h>

#include <string.h>

mian()

{ char *p, *q, *r;

p=q=r=(char *)malloc(sizeof(char)*20);

strcpy(p,”attaboy,welcome!”);

printf(“%c%c%c\n”,p[11], q[3], r[4]);

free(p);

}

 

15 、设文件 test.txt 中原已写入字符串 Begin ,执行以下程序后,文件中的内容为(            )。

#include <string.h>

mian()

{ file *fp;

 fp=fopen(“test.txt”,”w+”);

 fputs(“test”,fp);

 fclose(fp);

}

 

 

 

客服QQ:2651301595  QQ群:328265675  客服邮箱:zhenti8@126.com

本站所刊资料均为热心网友提供,我们不对内容的真实性和完整性负责。

Copyright © 2014-2020 zhenti8.com 考试真题网   版权所有