2003年9月全国计算机等级考试二级C笔试试卷含答案
- 格式:doc
- 大小:80.50 KB
- 文档页数:11
2003年9月全国计算机等级考试二级VB语言笔试试题含答案一、选择题((1)~(20)每小题2分,(21)~(30)每小题3分,共70分)(1)以下叙述中错误的是A)Visual Basic 是事件驱动型可视化编程工具B)Visual Basic应用程序不具有明显的开始和结束语句C)Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性D)Visual Basic中控件的某些属性只能在运行时设置(2)以下叙述中错误的是A)在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件B)以.BAS为扩展名的文件是标准模块文件C)窗体文件包含该窗体及其控件的属性D)一个工程中可以含有多个标准模块文件(3)以下叙述中错误的是A)双击鼠标可以触发DblClick事件B)窗体或控件的事件的名称可以由编程人员确定C)移动鼠标时,会触发MouseMove事件D)控件的名称可以由编程人员设定(4)以下不属于Visual Basic系统的文件类型是A).frm B).bat C).vbg D).vbp(5)以下叙述中错误的是A)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件B)保存Visual Basic程序时,应分别保存窗体文件及工程文件C)Visual Basic应用程序只能以解释方式执行D)事件可以由用户引发,也可以由系统引发(6)以下能正确定义数据类型TelBook的代码是A)Type TelBook B)Type TelBookName As String*10 Name As String*10TelNum As Integer TelNum As IntegerEnd Type End TelBookC)Type TelBook D)Typedef TelBookName String*10 Name String*10TelNum Integer TelNum IntegerEnd Type TelBook End Type(7)以下声明语句中错误的是A)Const var1=123 B)Dim var2 = ’ABC’C)DefInt a-z D)Static var3 As Integer(8)设窗体上有一个列表框控件Lis选中的列表项内容的是t1,且其中含有若干列表项。
这学期你的表现一直很出色,在刚开学那一群哭闹的新宝宝中,你的从容就已经表现出了你优秀的能力,而后面的幼儿园生活中你的独立和自理能力得到了充分的体现,自己穿脱衣服叠衣服,帮助他人扣扣子,真是厉害这学期你的表现一直很出色,在刚开学那一群哭闹的新宝宝中,你的从容就已经表现出了你优秀的能力,而后面的幼儿园生活中你的独立和自理能力得到了充分的体现,自己穿脱衣服叠衣服,帮助他人扣扣子,真是厉害,比其他娇生惯养的小公主可爱多了。
还有你的动手能力也体现在美术课上,你能完成一副副好看的涂画作品,老师看了很高兴。
新学期里老师希望你能在众人面前表演的时候更加大方,不会我们可以学到会,会我们就更要表现出来给别人看,你说是不是?老师为你加油!你在这短短半学期的进步是我们有目共睹的,阿姨现在经常向你竖起大拇指呢,确实,刚来幼儿园的时候你很内向,也不敢表达自己的想法,从表情上看就是一副不自然的模样,现在你能大方的向老师问好,课上能高举小手要求回答问题或表演,老师看在眼里可真高兴。
更让老师高兴的是你的能力的提高,如涂色能力、剪纸能力、课堂注意力等,蒙氏课上我们认识动物, 你能多次将动物和其对应的名字卡片配对起来,也给老师带来了惊喜,希望你在新的学期能再接再厉,创造出更多好成绩给老师和爸爸妈妈看。
在经历了每个新入园宝宝必经的不适应甚至哭闹过程后,你已经完全融入到了集体生活中,光这一点就体现了你人际交往能力的进步,现在你能和周围的小伙伴自在的嬉闹玩耍,开心的享受每一天的幼儿园生活了。
另外,你的动手能力也有了进步,以前你在涂画课上总是磨磨蹭蹭的,现在已经能在下课前完成出不错的作品。
新的学期有新的要求,老师希望你在课堂上能更专心更投入,这样才能学到更多本领,更好的体现出你的聪明才智哦!这学期你的表现很好,你喜欢自由的玩玩具,在放松的状态下你能充分发挥你的想象力和创造力,建构出好多种造型,而不像别的男孩子只知道搭枪,在建构出来后你还会给他们取好听的名字,更愿意将你的作品和想法呈现给老师看,而当老师给予肯定和表扬时,你的脸笑得像一朵花,看来你很享受被表扬的感觉哦!在新的学期希望你凭自己的努力得到更多的表扬!你是一个很聪明的宝宝,在这学期,老师看到你身上很多的闪光点,先是对音乐敏感学唱歌特别快,然后是知识比同龄宝宝要广,还有记忆力好,老师教过的有点难度的内容等到复习的时候你能很快回答出来,让老师倍感欣慰。
计算机等级考试二级C真题参考答案及解析1、以下选项中可作为C语言合法常量的是______。
A) -80. B) -080 C) -8e1.0 D) -80.0e 【答案】A【解析】本题考点为数值常量的表示。
在C语言中,以0开头的整型常量为八进制数,其有效数字符号为0~7,故选项B错误。
在以指数形式表示实型常量时,e后面的指数只能是整数,且必须含有指数,故选项C、D错误。
2、以下不能定义为用户标识符的是______。
A) Main B) _0 C) _int D) sizeof 【答案】D解析】本题考点是C语言中标识符的命名规则。
C语言中的标识符包括变量名、符号常量名、函数名、数组名、结构名、类型名、文件名等,C语言中规定标识符只能由字母、数字和下划线三种符号组成,并且标识符的首字符必须是字母或下划线,C语言中的关键字如语句、数据类型名等不允许作为用户定义的标识符。
3、以下选项中,不能作为合法常量的是______。
参见第1题解析。
A) 1.234e04 B) 1.234e0.4 C) 1.234e+4 D) 1.234e0 【答案】B【解析】4、数字字符0的ASCII值为48,若有以下程序:main(){ char a='1',b='2'; printf("%c,",b++);printf("%d\n",b-a); }程序运行后的输出结果是______。
A) 3,2 B) 50,2 C) 2,2 D) 2,50 【答案】C【解析】本题考点为字符型数据的运算。
字符型数据的实质是字符的ASCII编码,因此字符型数据可以作为一个整数进行运算,参加运算的数据为字符对应的ASCII码。
因为b='2',故执行b++后b='3',但因在语句printf("%c,",b++);中b++为后增量,输出字符仍为'2',而b-a='3'-'1'=2,本题正确答案为C。
全国计算机等级考试二级C语言程序设计真题精选3一、单项选择题1.下列关于C语言文件的叙述中正确的是()。
A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件√D.文件由字符序列组成,其类型只能是文本文件解析:C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。
根据数据的组成形式,可将文件分为两种:①ASCII文件,又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
所以C文件就是一个字节流或一个二进制流。
2.有以下程序:#includ<stdio.h>main()inm=1,n=2,*p=&m,*q=&n,*r; r=p,p=q;q=r; printf("%d,%d,%d,%",m,n,*p,*q);}程序运行后的输出结果是()。
A.1,2,1,2B.1,2.2,1 √C.2,1,2,1D.2,1.1,2解析:本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。
3.有以下程序:#includ<stdio.h>#include<string.h>strucAina;chab[10];doublc;};strucf (struct);main()struca={1001,"ZhangDa",1098.0}; a=f(a);printf ("%d,%s,%6.1",a.a,a.b,a.c);}strucf(struct)t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returt;}程序运行后的输出结果是()。
2002年4月二级C语言笔试真题及答案(考试时间:120分钟,满分100分)一、选择题((1)—(40)题每小题1分,(41)—(50)题每小题2分,共和60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 在计算机中,一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随CPU的型号而定(2) 计算机网络的突出优点是A) 速度快B) 资源共享 C) 精度高D) 容量大(3) 计算机网络能传送的信息是:A) 所有的多媒体信息B) 只有文本信息C) 除声音外的所有信息D) 文本和图像信息(4) 切断计算机电源后,下列存储器中的信息会丢失的是:A) RAM B) ROM C) 软盘D) 硬盘(5) 十进制数127转换成二进制数是A) 11111111 B) 01111111 C) 10000000 D) 11111110(6) 要想打印存放在当前盘当前目录上所有扩展名为.TXT 的文件内容, 应该使用的DOS命令为A) DIR *.TXT>PRN B) TYPE *.TXT>PRNC) COPY *.TXT PRN D) COPY *.TXT>PRN(7) 将当前盘当前目录及其子目录中的全部文件 (总量不足 1.2MB) 复制到一张空的A盘的根目录下,应该使用的DOS命令为A) XCOPY *.*A:\ /M B) XCOPY *.*A:\ /SC) XCOPY *.*A:\ /P D) XCOPY *.*A:\ /A(8) 在C盘根目录下执行PROMPT $p$g命令之后,DOS的提示符变为A) C:> B) C:\> C) C> D) C:\(9) DOS命令 "COPY CON DISP"中的CON代表A) 子目录 B) 磁盘文件 C) 键盘 D) 显示器(10) 结构化程序设计所规定的三种基本控制结构是A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数(11) 要把高级语言编写的源程序转换为目标程序,需要使用A) 编辑程序B) 驱动程序C) 诊断程序D) 编译程序(12) 英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为A) 50 B) 66 C) 52 D) 68(13) Windows环境下,PrintScreen键的作用是A) 复制当前窗口到剪贴板B) 打印当前窗口的内容C) 复制屏幕到剪贴板 D) 打印屏幕内容(14) 在Windows环境下,为了终止应用程序的运行,应A) 关闭该应用程序窗口 B) 最小化该应用程序窗口C) 双击该应用程序窗口的标题栏 D) 将该应用程序窗口移出屏幕(15) 下列各带有通配符的文件名中,能代表文件XYZ.TXT的是A) *Z.? B) X*.* C) ?Z,TXT D) ?.?(16) 若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为A) 1.4 B) 1 C) 2.0 D) 2(17) 若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是A) a的值是字符C B) a的值是浮点型C) 不允许字符型和浮点型相加D) a的值是字符‘A’的ASCII值加上1。
为⼤家收集整理了《2003年9⽉计算机等级考试⼆级C语⾔试题及答案》供⼤家参考,希望对⼤家有所帮助⼀、选择题((1)~(40)每⼩题1分,(41)~(55)每⼩题2分,共60分) 下列各题 A、B、C、D.四个选项中,只有⼀个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) ⽤8位⽆符号⼆进制数能表⽰的⼗进制数为 A.127 B.128 C.255 D.256 (2) 在64位⾼档微机中,⼀个字长所占的⼆进制位数为 A.8 B.16 C.32 D.64 (3) 在Windows环境下,为了复制⼀个对象,在⽤⿏标拖动该对象时应同时按住 A.Alt键 B.Esc键 C.Shift键 D.Ctrl键 (4) 在Windows菜单中,暗淡(灰⾊)的命令项表⽰该命令 A.暂时不能⽤ B.正在执⾏ C.包含下⼀层菜单 D.包含对话框 (5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为 A.TYPE B.TYPE/H C.TYPE/* D.TYPE/? (6) 下列选项中,能作为合法DOS⽂件名的是 A.ANP/A.DAT B.ABCCOM C.ECD.BASIC D.XY+Z.TXT (7) 下列叙述中正确的是 A.在Windows环境下,化的窗⼝是不能移动的 B.在Windows环境下,应⽤程序窗⼝最⼩化后,该应⽤程序暂停执⾏ C.在Windows环境下,只有最⼩化的窗⼝才能关闭 D.在Windows环境下,不能关闭化的窗⼝ (8) 在Windows环境下,⼯具栏中的复制按钮是 A.打印机图标 B.剪⼑标志 C.复制标志 D.粘贴标志 (9) 在Windows98环境下,若要将整个屏幕上显⽰的内容存⼊剪贴板,可以按 A.Ctrl+PrintScreen键 B.Alt+PrintScree键 C.Shift+PrintScreen键 D.PrintScreen键 (10) ⽬前,计算机病毒扩散最快的途径是 A.通过软件复制 B.通过络传播 C.通过磁盘考贝 D.运⾏游戏软件 (11) 以下叙述中正确的是 A.C语⾔⽐其他语⾔⾼级 B.C语⾔可以不⽤编译就能被计算机识别执⾏ C.C语⾔以接近英语国家的⾃然语⾔和数学语⾔作为语⾔的表达形式 D.C语⾔出现的最晚,具有其他语⾔的⼀切优点 (12) C语⾔中⽤于结构化程序设计的三种基本结构是 A.顺序结构、选择结构、循环结构 B.if、switch、break C.for、while、do-while D.if、for、continue (13) 在⼀个C程序中 A.main函数必须出现在所有函数之前 B.main函数可以在任何地⽅出现 C.main函数必须出现在所有函数之后 D.main函 (14) 下列叙述中正确的是 A.C语⾔中既有逻辑类型也有集合类型 B.C语⾔中没有逻辑类型但有集合类型 C.C语⾔中有逻辑类型但没有集合类型 D.C语⾔中既没有逻辑类型也没有集合类型 (15) 下列关于C语⾔⽤户标识符的叙述中正确的是 A.⽤户标识符中可以出现在下划线和中划线(减号) B.⽤户标识符中不可以出现中划线,但可以出现下划线 C.⽤户标识符中可以出现下划线,但不可以放在⽤户标识符的开头 D.⽤户标识符中可以出现在下划线和数字,它们都可以放在⽤户标识符的开头(16) 若有以下程序段(n所赋的是⼋进制数) int m=32767,n=032767 printf("%d,%o/n",m,n); 执⾏后输出结果是 A.32767,32767 B.32767,032767 C.32767,77777 D.32767,077777 (17) 下列关于单⽬运算符++、--的叙述中正确的是 A.它们的运算对象可以是任何变量和常量 B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D.它们的运算对象可以是char型变量、int型变量和float型变量 (18) 若有以下程序段 int m=0xabc,n=0xabc; m-=n; printf("%X\n",m); 执⾏后输出结果是 A.0X0 B.0x0 C.0 D.0XABC (19) 有以下程序段 int m=0,n=0; char c='a'; scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输⼊:10A10<回车>,则输出结果是: A.10,A,10 B.10,a,10 C.10,a,0 D.10,A,0 (20) 有以下程序 main() { int i; for(i=0;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } } 执⾏后输出结果是 A.011122 B.012 C.012020 D.120 (21) 有以下程序 main() { int i=1,j=1,k=2; if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k); } 执⾏后输出结果是 A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,3 (22) 有以下程序 main() { int a=5,b=4,c=3,d=2; if(a>b> C. printf("%d\n", D.; else if((c-1>= D.==1) printf("%d\n",d+1); else printf("%d\n",d+2) } 执⾏后输出结果是 A.2 B.3 C.4 D.编译时有错,⽆结果 (23) 有以下程序 main() { int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i];i++;} printf("%d\n",k); } 执⾏后输出结果是 A.58 B.56 C.45 D.24 (24) 有以下程序 main() { int i=0,s=0; do{ if(i%2){i++;continue;} i++; s +=i; }while(i<7); printf("%d\n",s); } 执⾏后输出结果是 A.16 B.12 C.28 D.21 (25) 有以下程序 main() { int i=10,j=1; printf("%d,%d\n",i--,++j); } 执⾏后输出结果是 A.9,2 B.10,2 C.9,1 D.10,1(26) 有以下程序 main() { char a,b,c,*d; a='\'; b='\xbc'; c='\0xab'; d="\017"; print("%c%c%c\n",a,b,c,* D.; } 编译时出现错误,以下叙述中正确的是 A.程序中只有a='\';语句不正确 B.b='\xbc';语句不正确 C.d="\0127";语句不正确 D.a='\';和c='\0xab';语句都不正确 (27) 有以下程序 int fl(int x,int y) { return x>y?x:y; } int f2(int x,int y) { return x>y?y:x; } main() { int a=4,b=3,c=5,d,e,f; d=f1(a, B.; d=f1(d, C.; e=f2(a, B.; e=f2(e, C.; f=a+b+c-d-e; printf("%d,%d,%d\n",d,f,e); } 执⾏后输出结果是 A.3,4,5 B.5,3,4 C.5,4,3 D.3,5,4 (28) 有如下程序 void f(int x,int y) { int t; if(x } main() { int a=4,b=3,c=5; f(a, B.; f(a, C.; f(b, C.; printf("%d,%d,%d\n",a,b, C.; } 执⾏后输出结果是 A.3,4,5 B.5,3,4 C.5,4,3 D.4,3,5 (29) 若有以下定义和语句 #include int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是 A.*q=0; B.w=p; C.*p=a; D.*p=*w; (30) 有以下程序 int *f(int *x,int *y) { if(*x<*y) return x; else return y; } main() { int a=7,b=8,*p,*q,*r}; } 执⾏后输出结果是 A.7,8,8 B.7,8,7 C.8,7,7 D.8,7,8 (31) 有以下程序 main() { char *s[]={"one","two","thre e " } , * p ; b r b d s f i d = " 3 4 7 " > 0 0 p = s [ 1 ] ; b r b d s f i d = " 3 4 8 " > 0 0 p r i n t f ( " % c , % s \ n " , * ( p + 1 ) , s [ 0 ] ) ; b r b d s f i d = " 3 4 9 " > 0 0 }。
2003年秋浙江省高校非计算机专业学生计算机等级考试试卷(二级C)说明:(1)考生应将试题一至试题三的答案涂在答题卡上,将第四、五题的答案填写在答卷上,否则作无效处理;(2)请将你的准考证号的后四位填写在答卷右下角的指定位置内;(3)考试时间为120分钟。
试题一、计算机基础题(本题共15分)(一)单选题(每小题1分,共10分)(1)计算机网络最突出的优点是(1)。
A、运算速度快B、精度高C、共享硬件、软件和数据资源D、内存容量大(2)在微型计算机的设备中,访问速度最快的是(2)A、软盘B、硬盘C、内存储器D、CD-ROM(3)操作系统的主要功能是(3)A、对计算机系统的所有资源进行控制与管理B、实现多用户及分布式处理C、扩充计算机的功能D、对硬件资源进行分配、控制、调度和回收(4)Internet与WW的关系是(4〉A、都是因特网,只是名称不同B、Internet就是WWC、Internet与WW完全没有关系D、附W是Internet上的一个应用(5)在Windows98环境下,下面关于附件中应用程序的说法,(5)是不正确的。
A、写字板可以编辑文本文件B、写字板的缺省扩展名为.DOCC、计算器中的计算结果,可以粘贴到文档文件中D、记事本中设置的显示字体,将保存在文本文件中,当使用Word读入该文件时,仍具有所设置的字体(6)在Word编辑文本时,将文档中所有的"memory"都改成"存储器",最快捷的方法是采用(6)操作。
A、中英文转换B、替换C、改写D、翻译(7)以下几种关于消除计算机病毒的说法中,正确的是。
A、专门的杀毒软件并非总是有效的B、删除所有带毒文件能消除所有病毒C、对感染上病毒的软盘,格式化既能消除病毒,又能使数据不受破坏D、耍一劳永逸地使计算机不感染病毒,最好的方法是装上防病毒卡(8)实现汉字字形表示的方法,一般可分为(8)两大类。
A、点阵式与矢量式B、点阵式与网络式C、网络式与矢量式D、矢量式与向量式(9)十六进制数lAE7OFH与十六进制数2003H的和是(9)。
2003年9月全国计算机等级考试二级C语言笔试试卷一、选择题((1)~(40)每题1分,(41)~(50)每题2分,共60分)(1)在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8 D)16(2)在多媒体计算机中,CD-ROM属于A)存储媒体 B)传输媒体 C)表现媒体 D)表示媒体(3)在DOS系统中,带有通配符的文件名*.*表示A)硬盘上的全部文件 B)当前盘当前目录中的全部文件C)当前盘上的全部文件 D)根目录中的全部文件(4)十六进制数100转换为十进制数为A)256 B)512 C)1024 D)64(5)能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序 B)编辑程序 C)解释程序 D)编译程序(6)在Internet中,用于在计算机之间传输文件的协议是A)TELNET B)BBS C)FTP D)WWW(7)在Windows环境下,资源管理器左窗口中的某文件夹左边标有"+"标记表示A)该文件夹为空 B)该文件夹中含有子文件夹C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件(8)在Windows环境下,下列叙述中正确的是A)在"开始"菜单中可以增加项目,也可以删除项目B)在"开始"菜单中不能增加项目,也不能删除项目C)在"开始"菜单中可以增加项目,但不能删除项目D)在"开始"菜单中不能增加项目,但可以删除项目(9)从Windows环境进入DOS方式后,返回Windows环境的命令为A)QUIT B)WIN C)EXIT D)ESC(10)下列叙述中正确的是A)计算机病毒只感染可执行文件B)计算机病毒只感染文本文件C)计算机病毒只能通过软件复制的方式进行传播D)计算机病毒可以通过读写磁盘或网络等方式进行传播(11)以下叙述中正确的是A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分(12)以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a2(13)以下不能定义为用户标识符的是A)scanf B)Void C)_3com_ D)int(14)有以下程序main(){ int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf("%d %d %3.1f %3.1f ",a,c,f,x);}程序运行后的输出结果是A)1 65 1 6.5 B)1 65 1.5 6.5C)1 65 1.0 6.5 D)2 65 1.5 6.5(15)以下选项中非法的表达式是A)0<=x<100 B)i=j==0C)(char)(65+3) D)x+1=x+1(16)有以下程序main(){ in t a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<B);printf("%d,%d ",k,m);}程序运行后的输出结果是A)0,0 B)0,1 C)1,0 D)1,1(17)有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A)11 12<回车> B)11, 12<回车>C)11,12<回车> D)11,<回车>12<回车>(18)设有如下程序段:int x=2002, y=2003;printf("%d ",(x,y));则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2002 D)输出值为2003(19)设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是A)x=x*100+0.5/100.0; B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0; D)x=(x/100+0.5)*100.0;(20)有定义语句:inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是A.if (c<a) x=1;B.if (a<3) x=3;else if (b<a) x=1; else if (a<2) x=2;else x=3; else x=1;C.if (a<3) x=3;D.if(a<b) x=b;if (a<2) x=2; if (b<c) x=c;if (a<1) x=1; if (c<a) x=a;(21)有以下程序main(){ int s=0,a=1,n;scanf("%d",&n);do{ s+=1; a=a-2; }while(a!=n);printf("%d ",s);}若要使程序的输出值为2,则应该从键盘给n输入的值是A)-1 B)-3 C)-5 D)0(22)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;(23)有以下程序main(){ int k=4,n=0;for( ; n{ n++;if(n%3!=0) continue;k--; }printf("%d,%d ",k,n);}程序运行后的输出结果是A)1,1 B)2,2 C)3,3 D)4,4(24)要求以下程序的功能是计算:s= 1+1/2+1/3+……+1/10main(){ int n; float s;s=1.0;for(n=10;n>1;n--)s=s+1/n;printf("%6.4f ",s);}程序运行后输出结果错误,导致错误结果的程序行是A)s=1.0; B)for(n=10;n>1;n--)C)s=s+1/n; D)printf("%6.4f ",s);(25)已定义ch为字符型变量,以下赋值语句中错误的是A)ch=\'\'; B)ch=62+3; C)ch=NULL; D)ch=\'猏';(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参(27)有以下函数定义:void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A)fun(int y,double m); B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);(28)有以下程序void fun(char *a, char *b){ a=b; (*a)++; }main(){ char c1=\'A\',c2=\'a\',*p1,*p2;p1=&c1; p2=&c2; fun(p1,p2);printf("%c%c ",c1,c2);}程序运行后的输出结果是A)Ab B)aa C)Aa D)Bb(29)若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是A)int *i=NULL; B) float *f=NULL;scanf("%d",i); *f=10.5;C)char t=\'m\', *c=&t; D) long *L;*c=&t; L=\'\';(30)有以下程序#includemain(){ printf("%d ",NULL); }程序运行后的输出结果是A)0 B)1 C)-1 D)NULL没定义,出错(31)已定义c为字符型变量,则下列语句中正确的是A)c=\'97\'; B)c="97"; C)c=97; D)c="a";(32)以下不能正确定义二维数组的选项是A)int a[2][2]={{1},{2}}; B)int a[][2]={1,2,3,4};C)int a[2][2]={{1},2,3}; D)int a[2][]={{1,2},{3,4}};(33)以下选项中不能正确把cl定义成结构体变量的是A)typedef struct B)struct color cl{ int red; { int red;int green; int green;int blue; int blue;} COLOR; };COLOR cl;C)struct color D)struct{ int red; { int red;int green; int green;int blue; int blue;} cl; } cl;(34)以下能正确定义一维数组的选项是A)int num[]; B) #define N 100int num[N]; C)int num[0..100]; D) int N=100;int num[N];(35)下列选项中正确的语句组是A)char s[8]; s={"Beijing"}; B)char *s; s={"Beijing"}; C)char s[8]; s="Beijing"; D)char *s; s="Beijing";(36)已定义以下函数fun(int *p){ return *p; }该函数的返回值是A)不确定的值 B)形参p中存放的值 C)形参p所指存储单元中的值 D)形参p的地址值(37)下列函数定义中,会出现编译错误的是A)max(int x,int y,int *z) B)int max(int x,y){ *z=x>y ? x:y; } { int z;z=x>y ? x:y;return z;}C)max(int x,int y) D)int max(int x,int y){ int z; { return(x>y?x:y); }z=x>y?x:y; return(z);}(38)有以下程序#include#define F(X,Y) (X)*(Y)main(){ int a=3, b=4;printf("%d ", F(a++, b++));}程序运行后的输出结果是A)12 B)15 C)16 D)20(39)有以下程序fun(int a, int b){ if(a>b) return(a);else return(b);}main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf("%d ", r);}程序运行后的输出结果是A)3 B)6 C)8 D)12(40)若有定义:int *p[3];,则以下叙述中正确的是A)定义了一个基类型为int的指针变量p,该变量具有三个指针B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C)定义了一个名为*p的整型数组,该数组含有三个int类型元素D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素(41)以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址 #include#includechar *scmp(char *s1, char *s2){ if(strcmp(s1,s2)<0)return(s1);else return(s2);}main(){ int i; char string[20], str[3][20];for(i=0;i<3;i++) gets(str[i]);strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2]));printf("%s ",string);}若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为A)abcd B)abba C)abc D)abca(42)有以下程序struct s{ int x,y; } data[2]={10,100,20,200};main(){ struct s *p=data;printf("%d ",++(p->x));}程序运行后的输出结果是A)10 B)11 C)20 D)21(43)有以下程序段main(){ int a=5,*b,**c;c=&b; b=&a;……}程序在执行了c=&b;b=&a;语句后,表达式:**c的值是A)变量a的地址 B)变量b中的值 C)变量a中的值 D)变量b的地址(44)有以下程序#includemain(){ char str[][20]={"Hello","Beijing"},*p=str;printf("%d ",strlen(p+20));}程序运行后的输出结果是A)0 B)5 C)7 D)20(45)已定义以下函数fun(char *p2, char *p1){ while((*p2=*p1)!=\'\'){ p1++;p2++; } }函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有\'\'(46)有以下程序main(){ int x=3, y=2, z=1;printf("%d ",x/y&~z);}程序运行后的输出结果是A)3 B)2 C)1 D)0(47)若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为A)0 B)1 C)-1 D)一个非0值(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(49)有以下程序main(){ int a[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++) p[i]=i+1;printf("%d ",a[1][2]);}程序运行后的输出结果是A)3 B) 6 C)9 D)2(50)有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。
全国计算机等级考试二级C语言笔试试题及答案一、选择题(每小题2分,共70分)(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是A)10B)8C)6D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是 A)编译程序B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A)提高耦合性降低内聚性有利他哦高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R, S如下:由关系R通过运算得到关系S,则所使用的运算为A)选择C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)对C++编译器区分重载函数无任何意义的信息是A)参数类型B)参数个数C)返回值类型D)常成员函数关键字coast(12)有如下类定义和变量定义:class A{publie:A(){data=0;}~A(){}int GetData () coast { return data;}void SetData(int n) {data=n;}private:int data;};ccnst A a;A b;下列函数调用中错误的是A)a .GetData();B)a .SetData(10);C)b .GetData();D)b .SetData(10);(13)有如下类定义和变量定义:class Parents{public:int publicuata;private:int privateData;};class ChildA:public Parents{/*类体略*/};class ChildB:private Parents{/*类体略*/);ChildA a;ChildBb;下列语句中正确的是A)cout<<a.publicData <<endl ;B)cout<<a.privateData <<endl ;C)cout<<b.publicData <<endl ;D)cout<<b.privateData <<endl ;(14)运算符重载时不需要保持的性质是A)操作数个数B)操作数类型C)优先级D)结合性(15)下列关于函数模板的描述中,错误的是A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D)模板参数表不能为空(16)要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是 A)ifstream fin=ifstream.open(“file.dat”);B)ifstream*fir.=new ifstream(“file.dat”);C)ifstream fin; fin.open(“file.dat”);D)ifstream *fin=new ifstream();fin一>open(“file.dat”);(17)下列描述中,不属于面向对象思想主要特征的是A)封装性B)跨平台性C)继承性D)多态性(18)有如下程序段:Tnt i=4;int j=l;int main(){int i=8,j=i;cout<<i<<j<<endl;}运行时的输出结果是A)44B)41C)88D)81(19)有如下程序段:int i=5;while(int i=0){cout《'*';i--;}运行时输出“*”的个数是A)0B)1C)5D)无穷(20)己知有数组定义char a[3][4];下列表达式中错误的是A)a[2]=“WIN”B)strcpy(a[2],“WIN”)C)a [2][3]='W'D)a[0][1]=a[0][1](21)已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是A)char fun(int,int);B)double fun(int,int,double);C)int fun(int,char*);D)float fun (int, int, int);(22)建立一个类对象时,系统自动调用A)析构函数B)构造函数C)静态函数D)友元函数(23)通过派生类的对象可直接访问其A)公有继承基类的公有成员C)私有继承基类的公有成员D)私有继承基类的私有成员(24)己知表达式++a中的“++”是作为成员函数重载的运算符,则与十+a等效的运算符函数调用形式为A)a .orerator++(1)B)operator++(a)C)operator++(a,l)D)a.operator++()(25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是A)()B)[ ]C)< >D){ }(26)当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 A)ios_base::inB)ios_base::in|ios_base::outC)ios_base::outD)ios_base::in&ios_base::out(27)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCD{char* a;int b;public:XCD(char* aa, int bb){a=new char[strlen(aa)+1];strcpty(a,aa);b=bb;}Char* Geta (){return a;)int Getb(){ return b;}};int main(){char *pl=“abcd”,*p2=“weirong”;int dl=6, d2=8;XCD x(pl,dl),Y(p2,d2);cout<<strien (x .Geta())+y. Getb()+endl;return 0;}运行时的输出结果是A)12B)16C)14D)11(28)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCF{int a;XCF(int aa=0):a (aa){cout<<“1”;}XCF(XCF& x){a=x .a; cout<<“2”;)~XCF(){cout<<a;}int Geta(){return a;}};int main(){XCF dl(5),d7 (dl);XCF *pd=new XCF(8);cout<<pd一>Geta();delete pd;return 0;}运行时的输出结果是A)121SS88B)12188SSC)12185D)128512(29)已知类MyClass声明如下:class MyClass{int n;public;MyClass(int k):n(k){}int getValue()const{return n;}};在下列数组定义中正确的是A)MyClass x1[2];B)MyClass x2[2]={new MyClass(1),new MyClass(2)};C)MyClass *x3[2];D)MyClass *x4[2]={MyClass(1),MyClass(2)};(30)有如下程序:#include<iostream>using namespace std;class AA{lilt k;protected:int n;void setK(int k){ this->k=k;}public:void setN(int n){ this->n=n;}};class BB: public }{/*类体略*/};int main(){BB x_ ; //1x .n=1; //2x.setN (2); //3x.k=3; //4x .setK(4);return 0;}在标注号码的四条语句中正确的是A)1B)2C)3D)4(31)有如下类定义:class XX{int xx;public:XX():xx(0){cout<<' A';}XX(int n):xx ( n){tout<<' B';}};Class YY:public XX{Int yy;public:YY():yy ( 0){cout+yy;}YY(int n):XX(n+1),yy(n){cout<<yy;}YY (int m, int n):XX (m),yy(n){cout<<yy;} };下列选项中,输出结果为A0的语句是A)YY y1(0,0);B)YY y2(1);C)YY y3(0);D)YY y4;(32)有如下程序:#include<iostream>Using namespace std;class A{public:virtual void f(){cout+1;}void g(){cout<<2;}};class B:public A{public:virtual void f(){cout<<3;}void g(){ecut<<4;}};void show(A &a){a.f();a.g();}int main(){B b;show(b);return 0;}运行时的输出结果是A)12B)34C)14D)32(33)有如下程序:#include<iostream>using namespace std;class Pair{int m;int n;public:boot operator >(pair p)const; //须在类体外给出定义};int main(){Pair Al(3,4),p2(4,3);p3(4,5);Cout<<(pl>p2)<<(P2>P1)<<(p2>p3)<<(p3>p2);return 0;}运算符函数。
⼀、下列各题A、B、C、D四个选项中,只有⼀个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A.栈是“先进先出”的线性表B.队列是“先进先出”的线性表C.循环队列是⾮线性结构D.有序性表既可以采⽤顺序存储结构,也可以采⽤链式存储结构(2)⽀持⼦程序调⽤的数据结构是A.栈B.树C.队列D.⼆叉树(3)某⼆叉树有5个度为2的结点,则该⼆叉树中的叶⼦结点数是A.10B.8C.6D.4(4)下列排序⽅法中,最坏情况下⽐较次数最少的是A.冒泡排序B.简单选择排序C.直接插⼊排序D.堆排序(5)软件按功能可以分为:应⽤软件、系统软件和⽀撑软件(或⼯具软件)。
下⾯属于应⽤软件的是A.编译软件B.操作系统C.教务管理系统D.汇编程序(6)下⾯叙述中错误的是A.软件测试的⽬的是发现错误并改正错误B.对被调试的程序进⾏“错误定位”是程序调试的必要步骤C.程序调试通常也称为DebugD.软件测试应严格执⾏测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独⽴性度量的两个标准。
下列叙述中正确的是A.提⾼耦合性降低内聚性有利于提⾼模块的独⽴性B.降低耦合性提⾼内聚性有利于提⾼模块的独⽴性C.耦合性是指⼀个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度(8)数据库应⽤系统中的核⼼问题是A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训(9)有两个关系R,S如下:RABCa32b01c21SABa3b0c2由关系R通过运算得到关系S,则所使⽤的运算为A.选择B.投影C.插⼊D.连接(10)将E-R图转换为关系模式时,实体和联系都可以表⽰为A.属性B.键C.关系D.域(11)以下选项中合法的标识符是A.1-1B.1—1C.-11D.1--(12)若函数中有定义语句:int k;,则A.系统将⾃动给k赋初值0B.这时k中值⽆定义C.系统将⾃动给k赋初值-1D.这时k中⽆任何值(13)以下选项中,能⽤作数据常量的是A.0115B.0118C.1.5e1.5D.115L(14)设有定义:int x=2;,以下表达式中,值不为6的是A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x,x+=2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是A.123.141593B.123.141593C.12,3.141593D.123.141593(16)若有定义语句:double x,y,*px,*py,执⾏了px=&x, py=&y;之后,正确的输⼊语句是A.scanf(“%f%f”,x,y);B.scanf(“%f%f”,&x,&y);C.scanf(“%lf%le”,px,py);D.scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A.必须是逻辑表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.可以是任意合法的表达式(18)有以下程序#includemain(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x);}程序运⾏时,输⼊的值在哪个范围才会有输出结果A.不等于10的整数B.⼤于3且不等于10的整数C.⼤于3或等于10的整数D.⼩于3的整数(19)有以下程序#includeMain(){int a=1,b=2,c=3,d=0;if(a= =1 &&b++= =2)if(b!=2 || c--!=3)printf(“%d,%d,%d\n”,a,b,C.;else printf(“%d,%d,%d\n”,a,b,C.;else printf(“%d,%d,%d\n”,a,b,C.;}程序运⾏后的输出结果是A.1,2,3B.1,3,2C.1,3,3D.3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A.********B.****C.**D.*(21)有以下程序#includemain(){char*s=(“ABC.;do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。
2005年9月全国计算机等级考试二级C笔试试卷(含答案)一、选择题((1)—(10)每题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(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)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言) B)PAD图C)N-S图D)DFD图(7)下列叙述中正确的是A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A)数据共享问题B)数据安全问题C)大量数据存储问题D)简化数据维护(9)设有如下关系表:R S TA B C A B C A B C1 123 1 3 1 1 22 23 2 2 33 1 3则下列操作中正确的是A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S(10)数据库系统的核心是A)数据模型B)数据库管理系统C)数据库D)数据库管理员(11)以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(12)以下叙述中错误的是A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(13)以下叙述中正确的是A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码(14)以下关于函数的叙述中正确的是A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(15)若有语句:char *line[5];,以下叙述中正确的是A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针16)有以下程序段typedef struct NODE{ int num; struct NODE *next;} OLD;以下叙述中正确的是A)以上的说明形式非法B)NODE是一个结构体类型C)OLD是一个结构体类型D)OLD是一个结构体变量(17)以下叙述中错误的是A)C语言中对二进制文件的访问速度比文本文件快B)C语言中,随机文件以二进制代码形式存储数据C)语句FILE fp; 定义了一个名为fp的文件指针D)C语言中的文本文件以ASCII码形式存储数据(18)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==1(19)以下不能正确计算代数式值的C语言表达式是A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)(20)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(21)以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
全国计算机等级考试三级PC技术真题2003年9月(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:60,分数:60.00)1.下面是关于“计算机系统”的叙述,其中最完整的是:(分数:1.00)A.一个“计算机系统”是指计算机的硬件系统B.一个“计算机系统”是指计算机上配置的操作系统C.一个“计算机系统”由计算机硬件和配置的操作系统组成D.一个“计算机系统”由计算机硬件以及配置的系统软件和应用软件组成√解析:【解析】从总体上来讲,计算机系统分为硬件系统和软件系统,软件系统又分为系统软件和应用软件。
所以答案选D。
2.下面是关于“微处理器”的叙述,其中错误的是:(分数:1.00)A.微处理器是用超大规模集成电路制成的具有运算和控制功能的处理器B.微处理器只能作为PC机的CPU √C.Pentium微处理器是一种字长为32位的处理器D.Pentium微处理器可以同时执行多条指令解析:【解析】微处理器不但可以作为PC机的CPU,也可以通过多个微处理器的组合形成工业控制、商业应用的大、中、小型计算机,还可以作为嵌入式设备的运算和控制部件,所以B错误。
3.PC机的软件可以分为系统软件和应用软件,下列哪个属于应用软件?(分数:1.00)A.操作系统B.程序设计语言处理程序C.数据库管理系统D.文字处理软件√解析:【解析】计算机软件系统主要分为系统软件和应用软件。
系统软件主要是为应用软件提供服务的。
最重要的系统软件是操作系统、语言处理程序、数据库管理系统、实用程序与工具软件等。
应用软件是为了使用计算机解决某一个或者某方面的应用而开发的软件,流行的通用软件大致可以分为:文,表,图,网,统计等几大类。
4.若某个整数的二进制补码和原码相同,则该数一定:(分数:1.00)A.大于0B.小于0C.等于0D.大于或等于0 √解析:【解析】反码和补码是计算机用来表示负整数的。
正整数无论采用原码、反码还是补码,其编码都是相同的。
全国计算机等级考试二级笔试试卷2003.4 Visual FoxPro程序设计(及答案)一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)Visual FoxPro DBMS是A)操作系统的一部分 B)操作系统支持下的系统软件C)一种编译程序 D)一种操作系统(2)Visual FoxPro DBMS基于的数据模型是 A)层次型 B)关系型 C)网状型 D)混合型(3)设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是 A)m:n B)1:m C)m:k D)1:1(4)在Visual FoxPro中,调用表设计器建立数据库表STUDENT.DBF的命令是A)MODIFY STRUCTURE STUDENT B)MODIFY COMMAND STUDENT C)CREATE STUDENT D)CREATE TABLE STUDENT(5)在Visual FoxPro中,关于自由表叙述正确的是A)自由表和数据库表是完全相同的 B)自由表不能建立字段级规则和约束C)自由表不能建立候选索引 D)自由表不可以加入到数据库中(6)在Visual FoxPro中,建立数据库表时,将年龄字段值限制在12~40岁之间的这种约束属于A)实体完整性约束 B)域完整性约束 C)参照完整性约束 D)视图完整性约束(7)在Visual FoxPro中,运行表单T1.SCX的命令是A)DO T1 B)RUN FORM T1 C)DO FORM T1 D)DO FROM T1(8)使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当A)使用WHERE子句 B)在GROUP BY后面使用HAVING子句C)先使用WHERE子句,再使用HAVING子句 D)先使用HAVING子句,再使用WHERE子句(9)Visual FoxPro的参照完整性规则不包括A)更新规则 B)删除规则 C)查询规则 D)插入规则(10)在Visual FoxPro中,表结构中的逻辑型、通用型、日期型字段的宽度由系统自动给出,它们分别为: A)1、4、8 B)4、4、10 C)1、10、8 D)2、8、8(11)在Visual FoxPro中,学生表STUDENT中包含有通用型字段,表中通用型字段中的数据均存储到另一个文件中,该文件名为 A)STUDENT.DOC B)STUDENT.MEM C)STUDENT.DBT D)STUDENT.FTP(12)在Visual FoxPro中,使用"菜单设计器"定义菜单,最后生成的菜单程序的扩展名是A)MNX B)PRG C)MPR D)SPR(13)在Visual FoxPro中,使用SQL命令将学生表STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是 A)REPLACE AGE WITH AGE+1 B)UPDATE STUDENT AGE WITH AGE+1C)UPDATE SET AGE WITH AGE+1 D)UPDATE STUDENT SET AGE = AGE+1(14)调用报表格式文件PP1预览报表的命令是A)REPORT FROM PP1 PREVIEW B)DO FROM PP1 PREVIEWC)REPORT FORM PP1 PREVIEW D)DO FORM PP1 PREVIEW(15)在Visual FoxPro中,建立索引的作用之一是A)节省存储空间 B)便于管理 C)提高查询速度 D)提高查询和更新的速度(16)在Visual FoxPro中,相当于主关键字的索引是A)主索引 B)普通索引 C)惟一索引 D)排序索引(17)在Visual FoxPro中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为 A)ThisForm.Refresh B)ThisForm.Delete C)ThisForm.Hide D)ThisForm.Release(18)假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1,命令按钮组是一个容器对象,其中包含Command1和Command2两个命令按钮。
2003年9月全国计算机等级考试二级C笔试试卷含答案一、选择题((1)~(40)每题1分,(41)~(50)每题2分,共60分)(1)在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8 D)16(2)在多媒体计算机中,CD-ROM属于A)存储媒体B)传输媒体C)表现媒体D)表示媒体(3)在DOS系统中,带有通配符的文件名*.*表示A)硬盘上的全部文件B)当前盘当前目录中的全部文件C)当前盘上的全部文件D)根目录中的全部文件(4)十六进制数100转换为十进制数为A)256 B)512 C)1024 D)64(5)能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序B)编辑程序C)解释程序D)编译程序(6)在Internet中,用于在计算机之间传输文件的协议是A)TELNET B)BBS C)FTP D)WWW(7)在Windows环境下,资源管理器左窗口中的某文件夹左边标有"+"标记表示A)该文件夹为空B)该文件夹中含有子文件夹C)该文件夹中只包含有可执行文件D)该文件夹中包含系统文件(8)在Windows环境下,下列叙述中正确的是A)在"开始"菜单中可以增加项目,也可以删除项目B)在"开始"菜单中不能增加项目,也不能删除项目C)在"开始"菜单中可以增加项目,但不能删除项目D)在"开始"菜单中不能增加项目,但可以删除项目(9)从Windows环境进入DOS方式后,返回Windows环境的命令为A)QUIT B)WIN C)EXIT D)ESC(10)下列叙述中正确的是A)计算机病毒只感染可执行文件B)计算机病毒只感染文本文件C)计算机病毒只能通过软件复制的方式进行传播D)计算机病毒可以通过读写磁盘或网络等方式进行传播(11)以下叙述中正确的是A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分(12)以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a2(13)以下不能定义为用户标识符的是A)scanf B)Void C)_3com_ D)int(14)有以下程序main(){ int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf("%d %d %3.1f %3.1f\n",a,c,f,x);}程序运行后的输出结果是A)1 65 1 6.5 B)1 65 1.5 6.5C)1 65 1.0 6.5 D)2 65 1.5 6.5(15)以下选项中非法的表达式是A)0<=x<100 B)i=j==0C)(char)(65+3) D)x+1=x+1(16)有以下程序main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=aprintf("%d,%d\n",k,m);}程序运行后的输出结果是A)0,0 B)0,1 C)1,0 D)1,1(17)有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A)11 12<回车> B)11, 12<回车>C)11,12<回车> D)11,<回车>12<回车>(18)设有如下程序段:int x=2002, y=2003;printf("%d\n",(x,y));则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2002 D)输出值为2003(19)设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是A)x=x*100+0.5/100.0; B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0; D)x=(x/100+0.5)*100.0;(20)有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是A)if (celse if (belse x=3; else x=1;C)if (a<3) x=3; D)if (aif (a<2) x=2; if (bif (a<1) x=1; if (c(21)有以下程序main(){ int s=0,a=1,n;scanf("%d",&n);do{ s+=1; a=a-2; }while(a!=n);printf("%d\n",s);}若要使程序的输出值为2,则应该从键盘给n输入的值是A)-1 B)-3 C)-5 D)0(22)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;(23)有以下程序main(){ int k=4,n=0;for( ; n{ n++;if(n%3!=0) continue;k--; }printf("%d,%d\n",k,n);}程序运行后的输出结果是A)1,1 B)2,2 C)3,3 D)4,4(24)要求以下程序的功能是计算:s= 1+1/2+1/3+……+1/10main(){ int n; float s;s=1.0;for(n=10;n>1;n--)s=s+1/n;printf("%6.4f\n",s);}程序运行后输出结果错误,导致错误结果的程序行是A)s=1.0; B)for(n=10;n>1;n--)C)s=s+1/n; D)printf("%6.4f\n",s);(25)已定义ch为字符型变量,以下赋值语句中错误的是A)ch='\';B)ch=62+3;C)ch=NULL;D)ch='\xaa';(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参(27)有以下函数定义:void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A)fun(int y,double m); B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);(28)有以下程序void fun(char *a, char *b){ a=b; (*a)++; }main(){ char c1='A',c2='a',*p1,*p2;p1=&c1; p2=&c2; fun(p1,p2);printf("%c%c\n",c1,c2);}程序运行后的输出结果是A)Ab B)aa C)Aa D)Bb(29)若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是A)int *i=NULL; B)float *f=NULL;scanf("%d",i); *f=10.5;C)char t='m', *c=&t; D)long *L;*c=&t; L='\0';(30)有以下程序#includemain(){ printf("%d\n",NULL); }程序运行后的输出结果是A)0B)1C)-1D)NULL没定义,出错(31)已定义c为字符型变量,则下列语句中正确的是A)c='97'; B)c="97"; C)c=97; D)c="a";(32)以下不能正确定义二维数组的选项是A)int a[2][2]={{1},{2}}; B)int a[][2]={1,2,3,4};C)int a[2][2]={{1},2,3}; D)int a[2][]={{1,2},{3,4}};(33)以下选项中不能正确把cl定义成结构体变量的是A)typedef struct B)struct color cl{ int red; { int red;int green; int green;int blue; int blue;} COLOR; };COLOR cl;C)struct color D)struct{ int red; { int red;int green; int green;int blue; int blue;} cl; } cl;(34)以下能正确定义一维数组的选项是A)int num[]; B)#define N 100int num[N];C)int num[0..100]; D)int N=100;int num[N];(35)下列选项中正确的语句组是A)char s[8]; s={"Beijing"}; B)char *s; s={"Beijing"};C)char s[8]; s="Beijing"; D)char *s; s="Beijing";(36)已定义以下函数fun(int *p){ return *p; }该函数的返回值是A)不确定的值B)形参p中存放的值C)形参p所指存储单元中的值D)形参p的地址值(37)下列函数定义中,会出现编译错误的是A)max(int x,int y,int *z) B)int max(int x,y){ *z=x>y ? x:y; } { int z;z=x>y ? x:y;return z;}C)max(int x,int y) D)int max(int x,int y){ int z; { return(x>y?x:y); }z=x>y?x:y; return(z);}(38)有以下程序#include#define F(X,Y) (X)*(Y)main(){ int a=3, b=4;printf("%d\n", F(a++, b++));}程序运行后的输出结果是A)12 B)15 C)16 D)20(39)有以下程序fun(int a, int b){ if(a>b) return(a);else return(b);}main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf("%d\n", r);}程序运行后的输出结果是A)3 B)6 C)8 D)12(40)若有定义:int *p[3];,则以下叙述中正确的是A)定义了一个基类型为int的指针变量p,该变量具有三个指针B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C)定义了一个名为*p的整型数组,该数组含有三个int类型元素D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素(41)以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址#include#includechar *scmp(char *s1, char *s2){ if(strcmp(s1,s2)<0)return(s1);else return(s2);}main(){ int i; char string[20], str[3][20];for(i=0;i<3;i++) gets(str);strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为A)abcd B)abba C)abc D)abca(42)有以下程序struct s{ int x,y; } data[2]={10,100,20,200};main(){ struct s *p=data;printf("%d\n",++(p->x));}程序运行后的输出结果是A)10 B)11 C)20 D)21(43)有以下程序段main(){ int a=5,*b,**c;c=&b; b=&a;……}程序在执行了c=&b;b=&a;语句后,表达式:**c的值是A)变量a的地址B)变量b中的值C)变量a中的值D)变量b的地址(44)有以下程序#includemain(){ char str[][20]={"Hello","Beijing"},*p=str;printf("%d\n",strlen(p+20));}程序运行后的输出结果是A)0 B)5 C)7 D)20(45)已定义以下函数fun(char *p2, char *p1){ while((*p2=*p1)!='\0'){ p1++;p2++; } }函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'(46)有以下程序main(){ int x=3, y=2, z=1;printf("%d\n",x/y&~z);}程序运行后的输出结果是A)3 B)2 C)1 D)0(47)若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为A)0 B)1 C)-1 D)一个非0值(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(49)有以下程序main(){ int a[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++) p=i+1;printf("%d \n",a[1][2]);}程序运行后的输出结果是A)3 B)6 C)9 D)2(50)有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。