- 相关推荐
全国计算机等级考试二级笔试试题及答案
在日常学习和工作中,我们都要用到试题,通过试题可以检测参试者所掌握的知识和技能。你所了解的试题是什么样的呢?以下是小编整理的全国计算机等级考试二级笔试试题及答案,欢迎阅读与收藏。
全国计算机等级考试二级笔试试题及答案 1
一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)
下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 第一台电子数字计算机ENIAC诞生于
A) 1927年 B)1936年 C) 1946年 D) 1951年
(2) 用FORTRAN语言编制的源程序要变为目标程序,必须经过
A) 汇编 B) 解释 C) 编辑 D) 编译
(3) 计算机软件一般包括系统软件和
A) 字处理软件 B) 应用软件 C) 管理软件 D) 科学计算机软件
(4) 计算机内使用的数是
A) 二进制数 B) 八进制数 C) 十进制数 D) 十六进制数
(5) 目前微型机常用的5.25寸双面高密度软盘的容量是
A) 360KB B) 1.44MB C) 760KB D) 1.2MB
(6) 具有多媒体功能的微机系统常用CD-ROM作为外存储器,它是
A) 只读内存储器 B) 只读大容量软盘 C) 只读硬盘 D) 只读光盘
说明:
(7)到(17)题给定的条件如下:
微机系统有A和B两个容量相同的软盘驱动器,硬盘C的目录结构为
文件AUTOEXEC.BAT的内容为
PROMPT $P$G
CD F4
CD DOS
(7) 微机系统用硬盘C启动后,当前系统提示符是
A) C:> B) C:DOS> C) C:F4> D) C>
(8) 在用C盘启动后,把A盘格式化成系统盘的命令为
A) FORMAT A: B) FORMAT A:/S
C) DOSFORMAT A:/S D) DOSFORMAT A:S
(9) 设当前盘为C盘,C盘当前目录为DOS。把JD1.FOR和JD2.FOR连接起来后存入A盘根目录下,命名为JD3.FOR,应使用命令
A) COPY JD1.FOR+JD2.FOR A:JD3.FOR
B) COPY F4JD1.FOR+JD2.FOR A:JD3.FOR
C) COPY F4JD1.FOR+F4JD2.FOR A:JD3.FOR
D) COPY F4JD1.FOR+F4JD2.FOR JD3.FOR
(10) 设当前盘为C盘,C盘当前目录为DOS。把FORMAT.COM和DISKCOPY.COM两个命令文件复制到A盘上的命令为
A) COPY DOS*.* A: B) COPY*.COM A:
C) COPY DOS*.* A: D) COPY DOS*.COM A:
(11) 列出硬盘C上所有扩展名为.FOR文件的命令是
A) DIR*.FOR B) DIR C:F4*.FOR C) DIR C:*.FOR D) DIR C:F4*.*
(12) 把A盘的所有信息复制到B盘上的命令为
A) COPY A:*.* B: B) COPY A:*.* B:*.*
C) C:DOSDISKCOPY A: B: D) C:DOSDISKCOPY B: A:
(13) 设当前盘为C盘。删除硬盘C上的两个扩展名为.EXE文件的命令是
A) DELF4*.EXE B) DELXD?.EXE C) DELF4*.* D) DEL *.EXE
(14) 设当前盘为C盘。C盘当前目录为DOS。在硬盘C的根目录下建立新子目录USER的命令为
A) MD C:USER B) MDUSER C) MDUSER D) MD USER
(15) 设当前盘为C盘,C盘当前目录为根目录。在硬盘C上删除子目录F4的命令或命令组为
A) RD F4 B) RDF4 C) DELF4*.* D) DEL*.*
RD F4 RD F4
(16) 设当前盘为C盘,C盘当前目录为根目录。把JD1.FOR改名为JX1.FOR的命令为
A) REN JD1.FOR JX1.FOR B) REN JX1.FOR JD1.FOR
C) REN F4JD1.FOR JX1.FOR D) REN F4JX1.FOR JD1.FOR
(17) 显示C盘根目录下所有.TXT文件内容的命令为
A) TYPE C:*.TXT B) TYPE C:*.TXT>CON
C) COPY C:*.TXT>CON D) COPY C:*.TXT CON
(18) 按照数据模型分类,FoxBASE和dBASE是属于
A) 层次型 B) 网状型 C) 关系型 D) 混合型
(19) FoxBASE和dBASE命令文件的.扩展名为
A) .PRG B) .DBF C) .MEM D) .TXT
(20) "计算机等级考试"这七个汉字作为字符串常量,在FoxBASE和dBASE中,可以表示为
A) {计算机等级考试} B) (计算机等级考试)
C) 计算机等级考试 D) "计算机等级考试"
(21) 请选出可用作C语言用户标识符的一组标识符
A) void B) a3_b3 C) For D) 2a
define _123 -abc DO
WORD IF Case sizeof
(22) 设 int a=12,则执行完语句 a+=a-=a*a后,a的值是
A) 552 B) 264 C) 144 D) -264
(23) C语言程序的基本单位是
A) 程序行 B) 语句 C) 函数 D) 字符
(24) 请选出合法的C语言赋值语句
A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b);
(25) 执行下面程序片段的结果是
int x=23;
do
{ printf("%2d",x--);}
while(!x);
A) 打印出321 B) 打印出23 C) 不打印任何内容 D) 陷入死循环
(26) 请选出以下语句的输出结果
printf("%d",strlen(" "65xff"));
A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出
(27) 设有如下的函数
ggg(x)
float x;
{ printf("%d",x*x);}
则函数的类型
A) 与参数x的类型相同 B) 是void C) 是int D) 无法确定
(28) 设有如下枚举类型定义:
enum language { Basic=3,Assembly,Ada=100,COBOL,Fortran};
枚举量Fortran的值为
A) 4 B) 7 C) 102 D) 103
(29) 若有以下说明和语句,请选出哪个是对c数组元素的正确引用
int c[4][5], (*cp)[5];
cp=c;
A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)
(30) 标准函数 fgets(s, n, f) 的功能是
A) 从文件f中读取长度为n的字符串存入指针s所指的内存
B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C) 从文件f中读取n个字符串存入指针s所指的内存
D) 从文件f中读取长度为n-1的字符串存入指针s所指的内存
(31) 设有如下一段程序:
int *var,ab;
ab=100
var=&ab;
ab=*var+10;
执行上面的程序后,ab的值为
A) 120 B) 110 C) 100 D) 90
(32) 以下程序段给数组所有的元素输入数据,请选择正确答案填入。
#include
main()
{ int a[10],i=0;
while(i<10) scanf("%d",________ );
┇
}
A) a+(i++) B) &a[i+1] C) a+i D) &a[++i]
(33) 设有如下的程序段:
char str[ ]="Hello";
char *ptr;
ptr=str;
执行上面的程序段后,*(ptr+5)的值为
A) o B) C) 不确定的值 D) o的地址
(34) 在宏定义 #define PI 3.14159中,用宏名PI代替一个
A) 单精度数 B) 双精度数 C) 常量 D) 字符串
(35) 字符(char)型数据在微机内存中的存储形式是
A) 反码 B) 补码 C) EBCDIC码 D) ASCII码
(36) 执行下面的程序段
int x=35;
char z=A;
int b;
B=((x&15)&&(z 后,B的值为 A) 0 B) 1 C) 2 D) 3 (37) C语言规定,程序中各函数之间 A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用 (38) 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 的表达式是 A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1.0/a/b/c (39) 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是 A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x (40) 设有 static char str[ ]="Beijing"; 则执行 printf("%d", strlen(strcpy(str,"China"))); 后的输出结果为 A) 5 B) 7 C) 12 D) 14 (41) 设有如下程序: #include main() { int **k, *j, i=100; j=&i; k=&j; printf("%d", **k); } 上面程序的输出结果是 A) 运行错误 B) 100 C) i的地址 D) j的地址 (42) 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行 (m=a>b)&&(n=c>d) 后n的值为 A) 1 B) 2 C) 3 D) 4 (43) 下面函数的功能是 sss(s, t) char *s, *t; { while((*s)&&(*t)&&(*t++== *s++)); return(*s-*t); } A) 求字符串的长度 B) 比较两个字符串的大小 C) 将字符串s复制到字符串t中 D) 将字符串s接续到字符串t中 (44) 请选出以下程序的输出结果 #include sub(x,y,z) int x, y, *z; { *z=y-x; } main() { int a, b, c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%d,%d,%d", a,b,c); } A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7 (45) 下面程序的输出结果是 #include main() { int i=2,p; p=f(i,i+1); printf("%d",p); } int f(a,b) int a,b; { int c; if(a>b) c=1; else if(a==b) c=0; else c=-1; return(c); } A) -1 B) 0 C) 1 D) 2 (46) 请选出以下程序段的输出结果 #include #define MIN(x,y) (x)<(y)? (x):(y) main() { int i,j,k; i=10; j=15; k=10*MIN(i,j); printf("%d",k); } A) 15 B) 100 C) 10 D) 150 (47) 请选出以下程序段的输出结果 #include main() { char sl[10], s2[10], s3[10], s4[10]; scanf("%s%s",s1,s2); gets(s3); gets(s4); puts(s1); puts(s2); puts(s3); puts(s4); } 输入数据如下:(此处代表回车符) aaaa bbbb cccc dddd A) aaaa B) aaaa C) aaaa D) aaaa bbbb bbbb bbbb bbbb cccc cccc cccc dddd dddd cccc dddd dddd eeee (48) 请选出以下程序的输出结果 #include fun(s, n1, n2) int *s, n1, n2; { int i, j, t; i=n1; j=n2; while(i { t= *(s+i); *(s+i)= *(s+j); *(s+j)=t; i++; j--; } } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},i, *p=a; fun(p,0,3); fun(p,4,9); fun(p,0,9); for(i=0; i<10; i++) printf("%d", *(a+i)); printf(""); } A) 0 9 8 7 6 5 4 3 2 1 B) 4 3 2 1 0 9 8 7 6 5 C) 5 6 7 8 9 0 1 2 3 4 D) 0 9 8 7 6 5 1 2 3 4 (49) 请选出以下程序的输出结果 #include main() { int a[ ]={ 1,2,3,4 },i; int x=0; for(i=0; i<4; i++) { sub(a,x); printf("%d",x);} printf(""); } sub(s,y) int *s, y; { static int t=3; y=s[t]; t--; } A) 1 2 3 4 B) 4 3 2 1 C) 0 0 0 0 D) 4 4 4 4 (50) 下面程序的输出结果为 struct st { int x; int *y; } *p; int dt[4]={10,20,30,40}; struct st aa[4]={ 50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3] }; main() { p=aa; printf("%d", ++p->x ); printf("%d", (++p)->x); printf("%d", ++( *p->y)); } A) 10 B) 50 C) 51 D) 60 20 60 60 70 20 21 21 31 二、填空题(每空2分,共40分) 请将每空的正确答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。 (1) 十进制数123用八位二进制表示为 【1】 。 (2) 70年代末开始出现16位微处理器,标志着微型计算机进入了第三代;80年代起使用 【2】 位微处理器,标志微型计算机进入了第四代。 (3) 通用计算机操作系统的功能和任务是:作业管理、文件管理、外设管理、CPU管理和 【3】 管理。 (4) PC-DOS的两个隐含文件是:IBMBIO.COM(输入输出程序)与 【4】 (磁盘操作管理程序)。 (5) FoxBASE和dBASE有两种变量:即内存变量和 【5】 变量 。 (6) 设有如下程序段: int i=0, sum=1; do { sum+=i++;} while(i<6); printf("%d", sum); 上述程序段的输出结果是 【6】 。 (7) 阅读下列程序: #include main() { int i, j, row, column,m; static int array[3][3]={{100,200,300},{28,72,-30},{-850,2,6} }; m=array[0][0]; for (i=0; i<3; i++) for (j=0; j<3; i++) if (array[i][j] { m=array[i][j]; row=i; column=j;} printf("%d,%d,%d",m,row,column); } 上述程序的输出结果是 【7】 。 (8) 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是 【8】 。 (9) 下面程序的输出结果是 【9】 。 #include main() { int a=3, b=2, c=1; c-=++b; b*=a+c; { int b=5, c=12; c/=b*2; a-=c; printf( %d,%d,%d,",a,b,c); a+=--c; } printf( %d,%d,%d,",a,b,c); } (10) 设有如下程序: #include main(argc,argv) int argc; char *argv[ ]; { while( --argc>0) printf("%s",argv[argc]); printf(""); } 假定上述程序经编译和连接后生成可执行文件PROG.EXE,如果在DOS提示符下键入PROG ABCD EFGH IJKL ,则输出结果为 【10】 。 (11) 阅读下列程序: #include #define MAX_COUNT 4 void fun(); main() { int count; for (count=1; count<=MAX_COUNT; count++) fun(); } void fun() { static int i; i+=2; printf("%d",i); } 上述程序的输出结果是 【11】 。 (12) 设有下列程序: #include #include main() { int i; char str[10], temp[10]; gets(temp); for (i=0; i<4; i++) { gets(str); if (strcmp(temp,str)<0) strcpy(temp,str); } printf("%s",temp); } 上述程序运行后,如果从键盘上输入(在此代表回车符): C++ BASIC QuickC Ada Pascal 则程序的输出结果是 【12】 。 (13) 设有如下程序: #include main(argc,argv) int argc; char *argv[ ]; { FILE *fp; void fc(); int i=1; while( --argc>0) if((fp=fopen(argv[i++],"r"))==NULL) { printf("Cannot open file! "); exit(1); } else { fc(fp); fclose(fp); } } void fc(ifp) FILE *ifp; { char c; while((c=getc(ifp))!=#) putc-32); } 上述程序经编译、连接后生成可执行文件名为cpy.exe。假定磁盘上有三个 文本文件,其文件名和内容分别为: 文件名 内容 a aaaa# b bbbb# c cccc# 如果在DOS下键入 cpy a b c 则程序输出 【13】 。 (14) 若输入3个整数3,2,1,则下面程序的输出结果是【14】 。 #include void sub( n,uu) int n, uu[ ]; { int t; t=uu[n--]; t+=3*uu[n]; n=n++; if(t>=10) { uu[n++]=t/10; uu[n]=t%10;} else uu[n]=t; } main( ) { int i, n, aa[10]={0,0,0,0,0,0} scanf( "%d%d%d",&n,&aa[0],&aa[1]); for(i=1; i for(i=0; i<=n; i++) printf("%d",aa[i]); printf(""); } (15) 若有以下定义: double w[10]; 则w数组元素下标的上限为 【15】 ,下限为 【16】 。 (16) 以下程序统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请填空。 #include #include main( ) { int num[26],i; char c; for(i=0; i<26; i++) num[i]=0; while( 【17】 !=#) /*统计从终端输入的大写字母个数*/ if( isupper(c)) num[c-65]+=1; for(i=0; i<26; i++) /*输出大写字母和该字母的个数*/ if(num[i]) printf("%c:%d,i 【18】 , num[i]); } (17) 下面的程序调用getone函数开辟一个动态存储单元,调用assone函数把数据输入此动态存储单元,调用outone函数输出此动态存储单元中的数据。请填空。 #include getone(s) int **s; { *s=(int *)malloc(sizeof(int));} assone(a) int *a; { scanf("%d", 【19】 );} outone(b) int *b; printf("%d", 【20】 );} main( ) { int *p; getone(&p); assone(p); outone(p); } 参考答案 一`选择题((1)~(40)题每题1分,(41)~(50)题每题2分,共60分) (1)C (2)D (3)B (4)A (5)D (6)D (7)B (8)C (9)C (10)A (11)B (12)C (13)A (14)C (15)C (16)C (17)D (18)C (19)A (20)D (21)B (22)D (23)C (24)B (25)B (26)A (27)C (28)C (29)D (30)B (31)B (32)A (33)B (34)D (35)D (36)B (37)A (38)D (39)A (40)A (41)B (42)B (43)B (44)B (45)A (46)A (47)A (48)C (49)C (50)C 二、填空题(每空2分,共40分) (1) 01111011 (2) 32 (3) 内存 或存储器 或存储 (4) IBMDOS.COM 允许用小写字母 (5) 字段 或字段名 (6) 16 (7) -850,2,0若遗漏逗号扣1分 (8) 28 (9) 2,5,1,2,3,-2若遗漏逗号扣1分 (10) IJKLEFGHABCD 若在字符间嵌入空格扣1分 若在字符间嵌入空格扣1分 (12) QuickC 若大写字母写成小写字母,或小写字母写成大写字母扣1分 (13) AAAABBBBCCCC 若在字符间嵌入空格扣1分若用小写字母扣1分 (14) 2 7 2 1 或2721 (15) 9 (16) 0 (17) (c=get)) 注意,外层括号不得遗漏 (18) +65 或 +A (19) a 或&*a (20) *b 1、[单选题] 在Visual FoxPro中,下面关于属性、事件、方法叙述错误的是( )。 A.属性用于描述对象的状态 B.方法用于表示对象的行为 C.事件代码也可以像方法一样被显式调用 D.基于同一个类产生的两个对象不能分别设置自己的属性值,参考答案:D 参考解析: 在面向对象的概念中,属性用来表示对象的状态,方法用来描述对象的行为,事件是一种由系统预先定义而由用户或系统发出的动作,事件作用于对象,对象识别事件并作出相应反应,事件可以由系统引发,也可以由用户引发,当由用户引发时,可以像方法一样被显式调用。基于类生成的对象,虽然采用了相同的属性来表示状态,但它们在属性上的取值完全不同。这些对象一般有着不同的状态,且彼此间相对独立。 2、[单选题] 在Visual FoxPro中,用于建立或修改程序文件的命令是( )。 A.MODIFY<文件名> B.MODIFY COMMAND<文件名> C.MODIFY PROCEDURE<文件名> D.MODIFY PROGRAM<文件名> 参考答案:B 参考解析:用命令方式建立和修改程序文件的命令格式是:MODIFY COMMAND<文件名>。 3[简答题]对考生文件夹下的数据库“图书借阅”中的表完成如下操作: 为表“图书借阅”增加一个字段“姓名”,字段类型为“字符型”,宽度为“8”。 编写程序“cx1”完成以下两小题: (1)填写表“图书借阅”的新字段值“姓名”(取自“借书证号”对应的读者信息表的“姓名”字段)。 (2)查询表“图书借阅”中“2007年12月30日”的借书记录,并将查询结果输入表“result”中。 运行该程序。 参考解析: 【考点指引】本题主要考查利用SQL语句来修改表结构和修改字段值。 【操作步骤】 ①在命令窗口中输入命令:MODI COMM cxl(回车执行),打开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码: OPEN DATEBASE图书借阅 ALTER图书借阅ADD姓名C(8) USE读者信息 GO TOP DO WHILE.NOT.EOF() a=借书证号 b=姓名 UPDATE图书借阅SET姓名=b WHERE借书证号=a SELECT读者信息 SKIP ENDDO SELEcT*INTO TABLE result FROM图书借阅WHERE借阅日期=CTOD("12—30—07") 关闭程序文件编辑窗口并保存程序文件。 ②在命令窗口中输入命令:DO cxl(回车执行),执行程序文件。 4、[单选题] 在下面的Visual FoxPro表达式中,运算结果不为逻辑真的是( )。 A.EMPTY(SPACE(0)) B.LIKE(ˋxy*′,ˋxyz′) C.AT(ˋxy′,ˋabcxyz′) D.ISNULL(.NULL.) 参考答案:C 参考解析:Space函数返回由指定数目组成的字符串,Space(0)返回空字符串,Empty函数判断指定的表达式的运算结果是否为空,故A)选项为真;Like函数比较前后两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回值为逻辑真,否则为逻辑假,前字符串可包含通配符,故B)选项为真;At函数如果前字符串是后字符串的子串,返回前字符串首字符在后字符串中第几次出现的位置,函数值为数值型,故C)返回的不为逻辑真;IsnuU函数判断一个表达式的值是否为空值,故D)选项为真。 5、[单选题]在VisualFoxPr0中创建项目,系统将建立一个项目文件,项目文件的'扩展名是 A.pjxB.pjxC.proD.itm 参考答案:A 6、[单选题] 在Visual FoxPro中,“表”是指( )。 A.报表B.关系C.表格控件D.表单 参考答案:B 7、[单选题]下列关于栈叙述正确的是( )。 A.栈顶元素最先能被删除 B.栈顶元素最后才能被删除 C.栈底元素永远不能被删除 D.栈底元素最先被删除 参考答案:A 参考解析:栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先人栈却最后被删除。所以选择A)。 8、[单选题] 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。 A.O(n)B.O(n2)C.O(10g2n)D.O(n10g2n) 参考答案:C 参考解析:当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较l092n次,而顺序查找需要比较n次。 9、[单选题] 在Visual FoxPro中,CREATE PROJECT命令将创建一个( )。 A.项目B.数据库C.程序D.菜单 参考答案:A 参考解析:执行CREATE PROJECT命令即可创建项目;执行CREATE DATABASE命令可建立数据库;执行MOD IFY COMMAND命令可建立程序文件;执行CREATE MENU命令可建立菜单。故A选项正确。 10、[单选题]打开数据库abe的正确命令是 A.OPENDATABASEabe B.USEabe C.USEDATABASEabe D.OPENabe 参考答案:A 参考解析:使用命令打开数据库,其语法格式为:OPENDATABASE[数据库名l?] [EXCLUSIVEISHARED].[NOUPDATE] [VALIDATE] 其中各参数的含义如下: ①EXCLUSIVE:以独占方式打开数据库;②SHARED:以共享方式打开数据库: ③NOUPDATE:按只读方式打开; VALIDATE:指定VisualFoxPr0检查在数据库中引用的 对象是否合法。 【全国计算机等级考试二级笔试试题及答案】相关文章: 全国计算机等级考试二级笔试试卷及答案11-28 计算机等级考试四级笔试模拟试题及答案05-11 全国计算机等级考试二级visualBasic笔试试卷11-25 2016年全国计算机等级考试二级笔试试卷03-20 全国计算机等级考试二级C语言试题二03-29 2007年3月全国计算机等级考试二级JAVA笔试真题答案及解析03-28 全国计算机等级考试二级C语言-笔试第二套03-30 全国计算机等级考试二级笔试试题及答案 2