全国计算机二级C语言考试真题及答案.docx

上传人:b****7 文档编号:9456943 上传时间:2023-02-04 格式:DOCX 页数:30 大小:33.02KB
下载 相关 举报
全国计算机二级C语言考试真题及答案.docx_第1页
第1页 / 共30页
全国计算机二级C语言考试真题及答案.docx_第2页
第2页 / 共30页
全国计算机二级C语言考试真题及答案.docx_第3页
第3页 / 共30页
全国计算机二级C语言考试真题及答案.docx_第4页
第4页 / 共30页
全国计算机二级C语言考试真题及答案.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

全国计算机二级C语言考试真题及答案.docx

《全国计算机二级C语言考试真题及答案.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言考试真题及答案.docx(30页珍藏版)》请在冰豆网上搜索。

全国计算机二级C语言考试真题及答案.docx

全国计算机二级C语言考试真题及答案

2011年9月全国计算机等级考试二级笔试试卷

 

 

一、选择题

A)算法就是程序B)设计算法时只需考虑数据结构的设计

C)设计算法时只需考虑结果的可靠性D)以上三种说法都不对

(2)下列关于线性链表叙述中,正确的是

A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致

B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续

C)进入插入与删除时,不需要移动表中的元素

D)以上三种说法都不对

(3)下列关于二叉树的叙述中,正确的是

A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个

C)叶子结点数是度为的结点数的两倍D)度为2的结点数是度为1的结点数的两倍

(4)软件按功能分为应用软件、系统软件和支撑软件(或工具软件)。

下现属于应用软件的是

A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统

(5)某系统总结构图如下图所示:

 

该系统总体结构图的深度是

A)7B)6C)3D)2

(6)程序调试的任务是

A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误

(7)下列关于数据库设计的叙述中,正确是的

A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典

C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典

(8)数据库系统的三级模式不包括

A)概念模式B)内模式C)外模式D)数据模式

R

S

T

A

B

C

A

B

C

A

B

C

a

1

2

a

1

2

c

3

1

b

2

1

b

2

1

c

3

1

(9)有三个关系R、S和T如下:

 

 

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

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

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

A)继承B)自顶向下C)模块化D)逐步求精

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

A)C语言编写的函数源程序,其文件名后缀可以是.C

B)C语言编写的函数都可以作为一个独立的源程序文件

C)C语言编写的每个函数都可以进行独立的编译并执行

D)一个C语言程序只有一个主函数

(12)以下选项中关于程序模块化的叙述错误的是

A)把程序分成若干相对独立的模块,可便于编码和调试

B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块

C)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序

D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序

(13)以下选项中关于C语言常量的叙述错误的是

A)所谓常量,是指在程序运行过程中,其值不能被改变的量

B)常量分为整型常量、实型常量、字符常量和字符串常量

C)常量可分为数值常量和非数值常量

D)经常被使用的变量可以定义成常量

(14)若有定义语句:

inta=10;doubleb=3.14;,则表达式'A'+a+b的值的类型是

A)charB)intC)doubleD)float

(15)若有定义语句:

intx=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为

A)1.9B)1C)2D)2.4

(16)若有定义:

inta,b;,通过语scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是

A)35B)3,5C)3;5D)35

(17)若有定义语句:

intk1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为

A)0和1B)0和20C)10和1D)10和20

(18)有以下程序

#include

main()

{inta=1,b=0;

if(--a)b++;

elseif(a==0)b+=2;

elseb+=3;

printf("%d\n",b);

}

程序运行后的输出结果是

A)0B)1C)2D)3

(19)下列条件语句中,输出结果与其他语句不同的是

A)if(a)printf("%d\n",x);elseprintf("%d\n",y);

B)if(a==0)printf("%d\n",y);elseprintf("%d\n",x);

C)if(a!

=0)printf("%d\n",x);elseprintf("%d\n",y);

D)if(a==0)printf("%d\n",x);elseprintf("%d\n",y);

(20)有以下程序

#include

main()

{inta=7;

while(a--);

printf("%d\n",a);

}

程序运行后的输出结果是

A)-1B)0C)1D)7

(21)以下不能输出字符A的语句是(注:

字符A的ASCII码值为65,字符a的ASCII码值为97)

A)printf("%c\n",'a'-32);B)printf("%d\n",'A')

C)printf("%c\n",65);D)printf("%c\n",'B'-1);

(22)有以下程序(注:

字符a的ASCII码值为97)

#include

main()

{char*s={"abc"};

do

{printf("%d",*s%10);++s;}

while(*s);

}

程序运行后的输入结果是

A)abcB)789C)7890D)979899

(23)若有定义语句:

doublea,*p=&a;以下叙述中错误的是

A)定义语句中的*号是一个间址运算符

B)定义语句中的*号只是一个说明符

C)定义语句中的p只能存放double类型变量的地址

D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p

(24)有以下程序

#include

doublef(doublex);

main()

{doublea=0;inti;

for(i=0;i<30;i+=10)a+=f((double)i);

printf("%5.0f\n",a);

}

doublef(doublex)

{returnx*x+1;}

程序运行后的输出结果是

A)503B)401C)500D)1404

(25)若有定义语句:

intyear=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是

A)*p+=1;B)(*p)++;C)++(*p);D)*p++;

(26)以下定义数组的语句中错误的是

A)intnum[]={1,2,3,4,5,6}B)intnum[][3]={{1,2},3,4,5,6};

C)intnum[2][4]={{1,2},{3,4},{5,6}};D)intnum[][4]={1,2,3,4,5,6};

(27)有以下下程序

#include

voidfun(int*p)

{printf("%d\n",p[5]);}

main()

{inta[10]={1,2,3,4,5,6,7,8,9,10};

fun(&a[3]);

}

程序运行后的输出结果是

A)5B)6C)8D)9

(28)有以下程序

#include

#defineN4

voidfun(inta[][N],intb[])

{inti;

for(i=0;i

}

main()

{intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;

fun(x,y);

for(i=0;i

}

程序运行后的输出结果是

A)-12,-3,0,0,B)-3,-1,1,3,C)0,1,2,3,D)-3,-3,-3,-3,

(29)有以下函数

intfun(char*x,char*y)

{intn=0;

while((*x==*y)&&*x!

='\0'){x++;y++;n++;}

returnn;

}

函数的功能是

A)查找x和y所指字符串中是否有'\0'

B)统计x和y所指字符串中最前面连续相同的字符个数

C)将y所指字符串赋给x所指存储空间

D)统计x和y所指字符串中相同的字符个数

(30)若有定义语句:

char*s1="OK",*s2="ok";,以下选项中,能够输出"OK"的语句是

A)if(strcm(s1,s2)==0puts(s1);B)if(strcm(s1,s2)!

=0puts(s2);

C)if(strcm(s1,s2)==1puts(s1);D)if(strcm(s1,s2)!

=0puts(s1);

(31)以下程序的主函数中调用了在其前面定义的fun函数

#include

main()

{doublea[15],k;

k=fun(a)

}

则以下选项中错误的fun函数首部是

A)doublefun(doublea[15])B)doublefun(double*a)

C)doublefun(doublea[])D)doublefun(doublea)

(32)有以下程序

#include

#include

main()

{chara[5][10]={"china","beijing","you","tiananmen","welcome"};

inti,j;chart[10];

for(i=0;i<4;i++)

for(j=i+1;j<5;j++)

if(strcmp(a[i],a[j])>0)

{strcpy(t,a[i]);strcpy(a[i],a[j]);strcpy(a[j],t);}

puts(a[3]);

}

程序运行后的输出结果是

A)beijingB)chinaC)welcomeD)tiananmen

(33)有以下程序

#include

intf(intm)

{staticintn=0;

n+=m;

returnn;

}

main()

{intn=0;

printf("%d,",f(++n));

printf("%d\n",f(n++));

}

程序运行后的输出结果是

A)1,2B)1,1C)2,3D)3,3

(34)有以下程序

#include

main()

{charch[3][5]={"AAAA","BBB","CC"};

printf("%s\n",ch[1]);

}

程序运行后的输出结果是

A)AAAAB)CCC)BBBCCD)BBB

(35)有以下程序

#include

#include

voidfun(char*w,intm)

{chars,*p1,*p2;

p1=w;p2=w+m-1;

while(p1

}

main()

{chara[]="123456";

fun(a,strlen(a));puts(a);

}

程序运行后的输出结果是

A)654321B)116611C)161616D)123456

(36)有以下程序

#include

#include

typedefstruct{charname[9];charsex;intscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",'m',85,90};

inti;

strcpy(a.name,b.name);

a.sex=b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main()

{STUc={"Qian",'f',95,92},d;

d=f(c);

printf("%s,%c,%d,%d,",d.name,d.sex,d.score[0],d.score[1]);

printf("%s,%c,%d,%d\n",c.name,c.sex,c.score[0],c.score[1]);

}

程序运行后的输出结果是

A)Zhao,m,85,90,Qian,f,95,92B)Zhao,m,85,90,Zhao,m,85,90

A)Qian,f,95,92,Qian,f,95,92B)Qian,f,95,92,Zhao,m,85,90

(37)有以下程序

#include

main()

{structnode{intn;structnode*next;}*p;

structnodex[3]={{2,x+1},{4,x+2},{6,NULL}};

p=x;

printf("%d,",p->n);

printf("%d\n",p->next->n);

}

程序运行后的输出结果是

A)2,3B)2,4C)3,4D)4,6

(38)有以下程序

#include

main()

{inta=2,b;

b=a<<2;printf("%d\n",b);

}

程序运行后的输出结果是

A)2B)4C)6D)8

(39)以下选项中叙述错误的是

A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

B)在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内

C)C程序函数中定义的自动变量,系统不自动赋确定的初值

D)C程序函数的形参不可以说明为static型变量

(40)有以下程序

#include

main()

{FILE*fp;

intk,n,i,a[6]={1,2,3,4,5,6};

fp=fopen("d2.dat","w");

for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);

fclose(fp);

fp=fopen("d2.dat","r");

for(i=0;i<3;i++)fscanf(fp,"%d%d",&k,&n);

fclose(fp);

printf("%d,%d\n",k,n);

}

程序运行后的输出结果是

A)1,2B)3,4C)5,6D)123,456

二、填空题(每空2分,共30分)

请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

(1)数据结构分为线性结构和非线性结构,带链的栈属于【1】。

(2)在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【2】个元素。

(3)常见的软件开发方法有结构化方法和面向对象方法。

对某应用系统通过需求分析建立数据流图(DFD),则应采用【3】方法。

(4)数据库系统的核心是【4】。

(5)在进行关系数据库的逻辑设计时,E-R图中的属性常转换为关系中的属性,联系通常转换为【5】。

(6)若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出a,b值的语句【6】。

****a=10,b=20****

(7)以下程序运行后的输出结果是【7】。

#include

main()

{inta=37;

a%=9;printf("%d\n",a);

}

(8)以下程序运行后的输出结果是【8】。

#include

main()

{inti,j;

for(i=6;i>3;i--)j=i;

printf("%d%d\n",i,j);

}

(9)以下程序运行后的输出结果是【9】。

#include

main()

{inti,n[]={0,0,0,0,0};

for(i=1;i<=2;i++)

{n[i]=n[i-1]*3+1;

printf("%d",n[i]);

}

printf("\n");

}

(10)以下程序运行后的输出结果是【10】。

#include

main()

{chara;

for(a=0;a<15;a+=5)

{putchar(a+'A');}

printf("\n");

}

(11)以下程序运行后的输出结果是【11】。

#include

voidfun(intx)

{if(x/5>0)fun(x/5);

printf("%d",x);

}

main()

{fun(11);printf("\n");

}

(12)有以下程序

#include

main()

{intc[3]={0},k,i;

while((k=getchar())!

='\n')

c[k-'A']++;

for(i=0;i<3;i++)printf("%d",c[i]);printf("\n");

}

若运行程序时从键盘输入ABCACC<回车>,则输出结果为【12】。

(13)以下程序运行后的输出结果是【13】。

#include

main()

{intn[2],i,j;

for(i=0;i<2;i++)n[i]=0;

for(i=0;i<2;i++)

for(j=0;j<2;j++)n[j]=n[i]+1;

printf("%d\n",n[1]);

}

(14)以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。

主函数中,n存放a数组中数据的个数,请填空。

#include

voidfun(ints[],int*n,intk,intx)

{inti;

for(i=*n-1;i>=k;i--)s[【14】]=s[i];

s[k]=x;

*n=*n+【15】;

}

main()

{inta[20]={1,2,3,4,5,6,7,8,9,10,11},i,x=0,k=6,n=11;

fun(a,&n,k,x);

for(i=0;i

}

2011年9月全国计算机等级考试二级C语言程序设计笔试标准答案

一、选择题01.DCBACDADBA11.CCDCBCBCDA21.BBAADCDBBD31.DCADAABDAC

二、填空题1.线性结构2.n3.结构化4.DBMS或数据库管理系统5.关系6.printf("****a=%,b=%d****",a,b);7.18.349.1410.AFK11.21112.21313.314.i+115.1

 

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

一、选择题

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

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

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

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

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

2、下列叙述中正确的是

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

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

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

D、以上三种说法都不对

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

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

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

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

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

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

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

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

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

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

R

ABC

a12

b21

c31

则由关系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、只有实型数在允许范围内能精确无误的表示,整型数会有

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1