网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

2006上半年全国计算机二级C语言笔试真题

栏目: 计算机二级 / 发布于: / 人气:5.97K

  一、选择题((1)一(10)每题2分,(11)一(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

2006上半年全国计算机二级C语言笔试真题

(1)下列选项中不属于结构化程序设计方法的是

A.自顶向下

B.逐步求精

C.模块化

D.可复用

(2)两个或两个以上模块之间关联的紧密程度称为

A.耦合度

B.内聚度

C.复杂度

D.数据传输特性

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

A.软件测试应该由程序开发者来完成

B.程序经调试后一般不需要再测试

C.软件维护只包括对程序代码的维护

D.以上三种说法都不对

(4)按照“后进先出”原则组织数据的数据结构是

A.队列

B.栈

C.双向链表

D.二叉树

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

A.线性链表是线性表的链式存储结构

B.栈与队列是非线性结构

C.双向链表是非线性结构

D.只有根结点的二叉树是线性结构

(6)对如下二叉树

ABDECF

进行后序遍历的结果为

EF

FC

CF

CA

(7)在深度为7的满二叉树中,叶子结点的个数为

A.32

B.31

C.64

D.63

(8)“商品”与“顾客”两个实体集之间的联系一般是

A.一对一

B.一对多

C.多对一

D.多对多

(9)在E-R图中,用来表示实体的图形是

A.矩形

B.椭圆形

C.菱形

D.三角形

(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是

包含DBS和DBMS

包含DB和DBS

包含DB和DBMS

D.没有任何关系

(11)以下不合法的用户标识符是

A.j2_KEY

le

C.4d

D._8_

(12)以下不合法的数值常量是

A.011

B.1e1

C.8.0E0.5

D.0xabcd

(13)以下不合法的字符常量是

A.′18′

B.′"′

C.′′

D.′xcc′

(14)表达式3.6-5/2+1.2+5%2的值是

A.4.3

B.4.8

C.3.3

D.3.8

(15)以下能正确定义字符串的语句是

str[]={′64′};

str="kx43";

str=";

str[]="";

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

x[][3]={0};

x[2][3]={{l,2},{3,4},{5,6}};

x[][3]={{l,2,3},{4,5,6}};

x[2][3]={l,2,3,4,5,6};

(17)若要求从键盘读入含有空格字符的字符串,应使用函数

()

()

har()

f()

(18)以下四个程序中,完全正确的是

A.#include

B.#include

main();main()

{/*programming*/{/*/ programming /*/

printf("programming!n");} printf("programming!n");}

C.#include

D. include

main()main()

{/*/*programming*/*/{/*programming*/

printf("programming!n");} printf("programming!n");}

(19)若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是

ch(x)

ch((int)x);

{case 1.0:printf("*n"); {case 1:printf("*n");

case 2.0:printf("**n");} case 2:printf("**n");}

ch(a+

B.

ch(a+

B.

{case 1:printf("*n");{case 1:printf("*n");

case 2+1:printf("**n");}case c:printf("**n");}

(20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是

()

t fun(int a,int

B.{……}

{……x=fun(2,10);……}main()

float fun(int a,int

B.{……} {……x=fun(i,j);……}

t fun(int,int);

()

main() {float fun(int i,int j);

{……x=fun(2,10);……} ……x=fun(i,j); ……}

float fun(int a,int

B.{……}float fun(int a,int

B.{……}

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

A.(!E==0)

B.(E>0‖E<0)

C.(E==0)

D.(E!=0)

(22)要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是

e((ch=getchar())!=′N′)printf("%c",ch);

e(ch=getchar()!=′N′)printf("%c",ch);

e(ch=getchar()==′N′)printf("%c",ch);

e((ch=getchar())==′N′)printf("%c",ch);

(23)已定义以下函数

int fun(int *p)

{return *p;)

fun函数返回值是

A.不确定的值

B.一个整数

C.形参P中存放的值

D.形参P的地址值

(24)若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是

A.*p=&a; scanf("%1f",p);

B.*p=&a; scanf("%f",p);

C.p=&a; scanf("%1f",*p);

D.p=&a; scanf("%1f",p);

(25)现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中连续的三个结点。

struct node

{char data;

struct node *next; }*p,*q,*r;

现要将q和r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的'语句是

A.q->next=r->next;p->next=r;r->next=q;

B.p->next=r;q->next=r->next;r->next=q;

C.q->next=r->next;r->next=q;p->next=r;

D.r->next=q;p->next=r;q->next=r->next;

(26)有以下程序段

struct st

{int x;int *y;}*pt;

int a[]={l,2},b[]={3,4};

struct st c[2]={10,a,20,b};

pt=c;

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

A.*pt->y

->x

C.++pt->x

D.(pt++)->x

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

B.非0值

C.0

(28)设有以下语句

int a=1,b=2,c;

c=a^(b<<2);

执行后,C的值为

A.6

B.7

C.8

D.9

(29)有以下程序

#include

main()

{char c1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar(); c6=getchar();

putchar(c1);putchar(c2);

printf("%c%cn",c5,c6);

}

程序运行后,若从键盘输入(从第1列开始)

123<回车>

45678<回车>

则输出结果是

A.1267

B.1256

C.1278

D.1245

(30)有以下程序

main()

{int y=10;

while(y--);printf("y=%dn",y);

}

程序执行后的输出结果是

A.y=0

B.y=-1

C.y=1

e构成无限循环