全国计算机等级考试C语言真题及答案.docx
- 文档编号:20290821
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:54
- 大小:110.49KB
全国计算机等级考试C语言真题及答案.docx
《全国计算机等级考试C语言真题及答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试C语言真题及答案.docx(54页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试C语言真题及答案
2010年3月全国计算机等级考试二级笔试试卷(含答案)
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是()。
A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
(2)算法的时间复杂是指()
A)算法的执行时间B)算法所处理的数据量
C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数
(3)软件按功能可以分为:
应用软件、系统软件和支持软件(或工具软件),下面属于系统软件的是()。
A)编辑软件B)操作系统C)教务管理系统D)浏览器
(4)软件(程序)调试的任务是()。
A)诊断和改正程序中的错误B)进肯能多的发现程序中的错误
C)发现并改正程序中的所有错误D)确定程序中错误的性质
(5)数据流程图(DFD图)是()
A)软件概要设计的工具B)软件详细设计的工具
C)机构化方法的需求分析工具D)面向对象方法的需求分析工具
(6)软件生命周期可以分为定义阶段,开发阶段和维护阶段。
详细设计属于()
A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段
(7)数据库管理系统中负责数据模式定义的语言是()。
A)数据定义语言B)数据管理语言
C)数据操作语言D)数据控制语言
(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是()。
A)文件B)数据库C)字段D)记录
(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的()。
A)需求分析阶段B)逻辑设计阶段
C)概念设计阶段D)物理设计阶段
(10)有连个关系R和T如下:
则有关系R得到关系T的操作是()。
A)选择B)投影C)交D)并
(11)在VisualFoxPro中,编译后的程序文件的扩展名为()。
A)PRGB)EXEC)DBCD)FXP
(12)假设表文件TEST.DBF已经在当前工作区打开,要修改其结构,可使用的命令()。
A)MODISTRUB)MODICOMMTESTC)MODIDBFD)MODITYPETEST
(13)为当前表中所有学生的总分增加10分,可以使用的命令是()。
A)CHANGE总分WITH总分+10B)REPLACE总分WITH总分+10
C)CHANGEALL总分WITH总分+10D)REPLACEALL总分WITH总分+10
(14)在VisualFoxPro中,下面关于属性、事件、方法叙述错误的是()。
A)属性用于描述对象的状态
B)方法用于表示对象的行为
C)事件代码也可以象方法一样被显式调用
D)基于同一个类产生的两个对象的属性不能分别设置自己的属性值
(15)有如下的赋值语句,结果为“大家好”的表达式是()。
a="你好"
b="大家"
A)b+AT(a,1)B)b+RIGHT(a,1)C)b+LEFT(A,3,4)D)b+RIGHT(a,2)
(16)在VisualFoxPro中“表”是指()。
A)报表B)关系C)表格控件D)表单
(17)在下面的VisualFoxPro表达式中,运算结果为逻辑真的是()。
A)EMPTY(.NULL.)B)LIKE(‘xy?
’,‘xyz’)
C)AT(‘xy’,‘abcxyz’)D)ISNULL(SPACE(0))
(18)以下关于视图的描述正确的是()
A)视图和表一样包含数据B)视图物理上不包含数据
C)视图定义保存在命令文件中D)视图定义保存在视图文件中
(19)以下关于关系的说法正确的是()。
A)列的次序非常重要B)行的次序非常重要
C)列的次序无关紧要D)关键字必须指定为第一列
(20)报表的数据源可以是()。
A)表或视图B)表或查询C)表、查询或视图D)表或其他报表
(21)在表单中为表格控件指定数据源的属性是()。
A)DataSourceB)RecordSourceC)DataFromD)RecordFrom
(22)如果指定参照完整性的删除规则为“级联”,则当删除父表中的记录时()。
A)系统自动备份父表中被删除记录到一个新表中
B)若子表中有相关记录,则禁止删除父表中记录
C)会自动删除子表中所有相关记录
D)不作参照完整性检查,删除父表记录与子表无关
(23)为了在报表中打印当前时间,这时应该插入一个()。
A)表达式控件B)域控件C)标签控件D)文本控件
(24)以下关于查询的描述正确的是()。
A)不能根据自由表建立查询B)只能根据自由表建立查询
C)只能根据数据库表建立查询D)可以根据数据表和自由表建立查询
(25)SQL语言的更新命令的关键词是()。
A)INSERTB)UPDATEC)CREATED)SELECT
(26)将当前表单从内存中释放的正确语句是()。
A)ThisForm.CloeeB)ThisForm..Clear
C)ThisForm..ReleaseD)ThisForm.Refresh
(27)假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“李彤”(C型字段)。
在命令窗口输入并执行以下命令:
姓名=姓名-“出勤”
?
姓名
屏幕上会显示()。
A)李彤B)李彤出勤C)李彤出勤D)李彤-出勤
(28)假设“图书”表中有C型字段“图书编号”,要求将图书编号以字母A开头的图书记录全部打上删除标记,可以使用SQL命令()。
A)DELETEFROM图书FOR图书编号=“A”B)DELETEFROM图书WHERE图书编号=“A%”
C)DELETEFROM图书FOR图书编号=“A#”D)DELETEFROM图书WHERE图书编号LIKE“A%”
(29)下列程序段的输出结果是()。
ACCEPTTOA
IFA=[123]
S=0
ENDIF
S=1
?
S
A)0B)1C)123D)由A的值决定
第(30)到第(35)题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:
图书(图书编号,书名,第一作者,出版社):
图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字;
读者(借书证号,单位,姓名,职称):
借书证号、单位、姓名、职称为C型字段,借书证号为主关键字;
借阅(借书证号,图书编号,借书日期,还书日期):
借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书编号共同构成主关键字。
(30)查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是()。
A)SELECT书名,出版社FROM图书WHERE第一作者=张三
B)SELECT书名,出版社FROM图书WHERE第一作者="张三"
C)SELECT书名,出版社FROM图书WHERE"第一作者"=张三
D)SELECT书名,出版社FROM图书WHERE"第一作者"="张三"
(31)查询尚未归还书的图书编号和借书日期,正确的SQL语句是()。
A)SELECT图书编号,借书日期FROM借阅WHERE还书日期=””
B)SELECT图书编号,借书日期FROM借阅WHERE还书日期=NULL
C)SELECT图书编号,借书日期FROM借阅WHERE还书日期ISNULL
D)SELECT图书编号,借书日期FROM借阅WHERE还书日期
(32)查询“读者”表的所有记录并存储于临时表文件one中的SQL语句是()。
A)SELECT*FROM读者INTOCURSORone
B)SELECT*FROM读者TOCURSORone
C)SELECT*FROM读者INTOCURSORDBFone
D)SELECT*FROM读者TOCURSORone
(33)查询单位名称中含“北京”字样的所有读者的借书证号和姓名,正确的SQL语句是()。
A)SELECT借书证号,姓名FROM读者WHERE单位="北京%"
B)SELECT借书证号,姓名FROM读者WHERE单位="北京*"
C)SELECT借书证号,姓名FROM读者WHERE单位LIKE"北京*"
D)SELECT借书证号,姓名FROM读者WHERE单位LIKE"%北京%"
(34)查询2009年被借阅过书的图书编号和借书日期,正确的SQL语句是()。
A)SELECT图书编号,借书日期FROM借阅WHERE借书日期=2009
B)SELECT图书编号,借书日期FROM借阅WHEREyear(借书日期)=2009
C)SELECT图书编号,借书日期FROM借阅WHERE借书日期=year(2009)
D)SELECT图书编号,借书日期FROM借阅WHEREyear(借书期)=year(2009)
(35)查询所有“工程师”读者借阅过的图书编号,正确的SQL语句是()。
A)SELECT图书编号FROM读者,借阅WHERE职称="工程师"
B)SELECT图书编号FROM读者,图书WHERE职称="工程师"
C)SELECT图书编号FROM借阅WHERE图书编号=(SELECT图书编号FROM借阅WHERE职称="工程师")
D)SELECT图书编号FROM借阅WHERE借书证号IN(SELECT图书编号FROM借阅WHERE职称="工程师")
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡
(1)~(15)序号的横线上,答在试卷上不得分。
注意:
以命令关键字填空的必须拼写完整。
(1)一个队列的初始状态为空,现将元素A,B,C,D,E,F,5,4,3,2,1一次入列,然后再依次退队则元素退队的顺序为:
【1】。
(2)设某循环队列的容量为50,如果头指针front=45(指向队列头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有【2】个元素。
(3)设二叉数如下:
对该二叉数进行后续遍历的结果为【3】。
(4)软件是【4】、数据和文档的结合。
(5)有一个学生选课的关系,其中学生的关系模式为:
学生(学号、姓名、班级、年龄),课程的关系模式为:
课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:
选课(学号,【5】,成绩)。
(6)为表建立主索引或后选索引可以保证数据的【6】完整性。
(7)已有查询文件queryone.qpr,要执行该查询文件可使用命令【7】。
(8)在VisualFoxPro中,职工表EMP中包含有通用型字段,表中通用型字段的数据均存储到另一个文件中,该文件名为【8】。
(9)在VisualFoxPro中,建立数据库时,将年龄字段值限制在18—45岁之间的这种约束属于【9】完整性约束。
(10)设有学生和班级两个实体,每个学生只能属于一个班级,一个班级可以有多名学生,则学生和班级之间的联系类型是【10】。
(11)VisualFoxPro数据库系统所使用的数据的逻辑结构是【11】。
(12)在SQL语言中,用于对查询结果计数的函数是【12】。
(13)在SQL的SELECT查询中,使用【13】关键词消除查询结果中的重复记录。
(14)为“学生”表的“年龄”字段增加有效性规则“年龄必须在18-45岁之间”的SQL语句是
ALTERTABLE学生ALTER年龄【14】年龄<=45AND年龄>=18
(15)使用SQLSelect语句进行分组查询时,有时要求分组满足某个条件时才查询,这时可以用【15】子句来限制分组。
一、选择题
1-5ADBAD(C)
6-10BADC(B)A
11-15BADDD
16-20BBBCB
21-25BCBDB
26-30CCDBB
31-35CAB(D)BD
二、填空题:
⑴A,B,C,D,E,F,5,4,3,2,1
⑵45(15)
⑶E,D,B,G,H,F,C,A
⑷程序
⑸课号
⑹实体
⑺DOqueryone.qpr
⑻EMP.fpt
⑼域
⑽多对多(一对多)
⑾线性结构(关系型)
⑿COUNT()
⒀DISTINCT
⒁SETCHECK
⒂HAVING
2010年9月全国计算机等级考试二级C语言笔试试题及答案
一、选择题(
(1)-(10)每题2分,(11)-(50)每题1分.共60分))
(1)下列选项中不属于软件生命周期开发阶段任务的是
A)详细设计B)概要设计C)软件维护D)软件测试
(2)树是结点的集合,它的根结点数目是
A)有且只有1B)1或多于1C)0或1D)至少2
(3)在面向对象方法中,实现信息隐蔽是依靠
A)对象的继承B)对象的多态C)对象的封装D)对象的分类
(4)程序设计语言的基本成分是数据成分、运算成分、控制成分和
A)语句成分B)变量成分C)对象成分D)传输成分
(5)冒泡排序在最坏情况下的比较次数是
A)n/2B)nlog2nC)n(n-1)/2D)n(n+1)/2
(6)下列叙述中,不属于软件需求规格说明书的作用的是
A)作为确认测试和验收的依据
B)反映出用户问题的结构,可以作为软件开发工作的基础和依据
C)便于用户、开发人员进行理解和交流
D)便于开发人员进行需求分析
(7)下列叙述中错误的是
A)一个C语言程序只能实现一种算法B)C程序可以由多个程序文件组成
C)C程序可以由一个或多个函数组成D)一个函数可单独作为一个C程序文件存在
(8)下列不属于软件工程的3个要素的是
A)方法B)过程C)工具D)环境
(9)下列叙述中正确的是
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库管理系统就是数据库系统
D)以上三种说法都不对
(10)下列叙述中正确的是
A)每个C程序文件中都必须有一个main()函数
B)在C程序的函数中不能定义另一个函数
C)C程序可以由一个或多个函数组成
D)在C程序中main()函数的位置是固定的
(11)将E-R图转换到关系模式时,实体与联系都可以表示成
A)属性B)关系C)键D)域
(12)下列定义变量的语句中错误的是
A)doubleint_;B)int_int;C)charForD)floatUSS
(13)下列叙述中正确的是
A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种
C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用
(14)以下选项中,合法的一组C语言数值常量是
A)0x8AB)12C).177D)028
(15)以下叙述中正确的是
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数
C)main()函数必须放在其他函数之前
D)所有被调用的函数一定要在调用之前进行定义
(16)若在定义语句:
inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是
A)scanf("%d",&p);B)scanf("%d%d%d",a,b,c);
C)scanf("%d",p);D)scanf("%d",a,b,c);
(17)有以下程序
main()
{intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是
A)2,2,3B)2,2,2C)2,3,1D)2,1,1
(18)若已定义:
inta=25,b=14,c=19;以下三目运算符(?
:
)所构成语句的执行后a<=25&&b--<=2&&c?
printf("***a=%d,b=%d,c=%d\n",a,b,c):
printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是
A)***a=25,b=13,c=19B)***a=26,b=14,c=19
C)###a=25,b=13,c=19D)###a=26,b=14,c=19
(19)下列程序段的输出结果是
inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("-,%2.1f,%2.1f",a,b,c);
A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.5
(20)有以下程序
main()
{inta=0,b=0;
a=10;/*给a赋值
b=20;给b赋值*/
printf("a+b=%d\n",a+b);/*输出计算结果*/
}
程序运行后输出结果是
A)30B)a+b=30C)a+b=0D)出错
(21)若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是
#include
main()
{charc;
intv0=1,v1=0,v2=0;
do{switch(c=getchar())
{case′a′:
case′A′:
case′e′:
case′E′:
case′i′:
case′I′:
case′o′:
case′O′:
case′u′:
case′U′:
v1+=1;
default:
v0+=1;v2+=1;
}
}while(c!
=′\n′);
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
}
A)v0=11,v1=4,v2=11B)v0=8,v1=4,v2=8
C)v0=7,v1=4,v2=7D)v0=13,v1=4,v2=12
(22)有以下程序
#include
main()
{inty=9;
for(y>0;y--)
if(y%3==0)printf("%d",--y);
}
程序的运行结果是
A)732B)433C)852D)874
(23)设有以下程序段
intx=0,s=0;
while(!
x!
=0)s+=++x;
printf("%d",s);
则
A)运行程序段后输出0B)运行程序段后输出1
C)程序段中的控制表达式是非法的D)程序段执行无限次
(24)有以下程序
fun(intx,inty){return(x+y);}
main()
{inta=1,b=2,c=3,sum;
sum=fun((a++,b++b,a+b),c++);
printf("%d\n",sum);
}
执行后的输出结果是
A)5B)7C)8D)3
(25)执行下面的程序段后,变量k中的值为
intk=3,s[2];
s[0]=k;k=s[1]*10;
A)不定值B)35C)31D)20
(26)以下叙述中错误的是
A)改变函数形参的值,不会改变对应实参的值
B)函数可以返回地址值
C)可以给指针变量赋一个整数作为地址值
D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL
(27)以下程序段的描述,正确的是
x=-1;
do
{x=x*x;}while(!
x);
A)是死循环B)循环执行两次C)循环执行一次D)有语法错误
(28)有以下程序
fun(intx,inty)
{staticintm=0,i=2;
i+=m+1;m=i+x+y;returnm;
}
main()
{intj=1,m=I,k;
k=fun(j,m);printf("%d",k);
k=fun(j,m);printf("%d\n",k)
}
执行后的输出结果是
A)5,5B)5,11C)11,11D)11,5
(29)有以下程序
fun(intx)
{intp;
if(x==0║x==1)return(3);
p=x-fun(x=2);
retump;
}main()
{prinf("%d\n",fun(7));}
执行后的输出结果是
A)7B)3C)3D)0
(30)在16位编译系统上,右有定义inta[]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是
A)p向高地址移了一个字节B)p抽高地址移了一个存储单元
C)p向高地址移了两个字节D)p与a+1等价
(31)有以下程序
main()
{inta=1,b=3,c=5;
int*p1=&a,*p2=&b,*p=&c;
*p=*p1*(*p2);
printf("%d\n",c);
}
执行后的输出结果是
A)1B)2C)3D)4
(32)下列程序执行后的输出结果是
voidfunc1(inti);
voidfunc2(inti);
charst[]="hello,friend!
";
voidfunc1(inti)
{printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
voidfunc2(inti)
{printf("%c",st[i]);
if(i<3){i+=2;fu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 语言 答案