各位大哥哥大姐姐,谁有全国计算机二级java考试真题及答案,急,急,急!

如题所述

这是我的一位计算机老师曾经给我的答案 你可以参考一下
基础(合计20分)
单选题(15小题,每题1分,共15分)
(1) 计算机在实现工业自动化中的应用主要是进行( A )。
A) 实时控制 B)数据处理 C)数值计算 D)人工智能

(2) 在计算机应用中,“计算机辅助设计”的英文缩写为 ( A )。
A) CAD B)CAM C)CAE D)CAT

(3) 微型计算机中使用的鼠标器是连接在 ( D )。
A) 打印机接口上 B)显示器接口上
C) 并行接口上 D)串行接口上

(4) 下面关于普通显示器的四条叙述中,正确的一条是( C )。
A) 显示器是输入设备 B)显示器是输入/输出设备
C) 显示器是输出设备 D)显示器是存储设备

(5) Pentium Ⅲ/500微型计算机,其CPU的时钟频率是( B )。
A) 500KHz B)500MHz C)250KHz D)250MHz

(6) 计算机的主频指的是 ( D )。
A) 硬盘读写速度,用Hz表示
B) 软盘读写速度,用Hz表示
C) 显示器输出速度,用MHz表示
D) 时钟频率,用MHz表示

(7) 微型计算机中的CPU是由( C )。
A) 内存储器和外存储器组成
B) 微处理器和内存储器组成
C) 运算器和控制器组成
D) 运算器和寄存器组成

(8) 微型计算机硬件系统中最核心的部件是 ( C )。
A) RAM和ROM B)输入输出设备 C)CPU D)主板

(9) Windows 2000中将文件“发送到”软盘其实就是( C )。
A) 移动文件到软盘
B) 在软盘中建立文件的快捷方式
C) 将文件复制到软盘
D) 将文件压缩处理后保存到软盘

(10) Windows 中“复制”命令的快捷键是( A )。
A)【Ctrl+C】 B)【Tab+C】 C)【Ait+C】 D)【Shift+C】

(11) 复制活动窗口的信息到剪贴板,只须按下( C )键即可。
A)【Alt+Esc】 B)【Ctrl+Shift】
C)【Alt+Print Screen】 D)【Print Screen】

(12) 与十六进制数(BC)等值的二进制数是( B )。
A)10111001 B)10111100
C)10101100 D)11011010

(13) 在Windows中,复制整个屏幕的信息到剪贴板,只须按下(D)键即可。
A)【Alt+Esc】 B)【Ctrl+Shift】
C)【Alt+Print Screen】 D)【Print Screen】

(14) 下面关于Windows 操作系统中删除文件的说法,不正确的是( D )。
A) 可移动磁盘(如软盘)上的文件被删除后不能被恢复
B) 网络上的文件被删除后不能被恢复
C) 在MS-DOS方式中被删除的文件不能被恢复
D) 直接用鼠标拖到“回收站”的文件不能被恢复

(15) 在Windows资源管理器中,选定文件后,( C )直接删除文件而不把被删除文件送入回收站。
A) 按【Alt+Del】键 B)按【Esc】键,再按【Del】键
C) 按【Shift+Del】键 D)按【Ctrl+Del】键

填空题(5小题,每题1分,共5分)
(1) 微机主存有ROM和RAM,计算机突然停电后,存储的信息就会丢失的是( )。
答案:RAM

(2) 十进制数45等值的二进制数是( )。
答案:101101

(3) 八位二进制数可以表示的最大的十进制数(无符号)是( )。
答案:255

(4) 在Windows 98中,要查找所有的DOC文档文件,应在“查找”对话框“名称和位置”标签的“名称”文本框中输入( )。
答案:*.DOC

(5) 绝对路径是指从该文件所在的磁盘( )开始直到该文件所在目录位置的目录路径。
答案:根目录

语言(合计80分)
单选题(30小题,每题1分,共30分)
1) 以下正确的说法是( A )。
如果在一个函数中的复合语句中定义了一个变量,则该变量( )。
A、只在该复合语句中有效。
B、在该函数中有效。
C、在本程序范围内均有效。
D、为非法变量。

2) 下面四个选项中,均是不合法的整型数量的选项是( D )。
A、-0f1 -0xffff 0011
B、-0Xcdf 017 12,456
C、-018 999 5e2
D、-0x48eg -068 03f

3) 若有代数式∶|3x+lgx|, 则正确的C语言表达式是( A )。
A、fabs(x*3+log10(x))
B、fabs((x*3+log(x))
C、fabs(x*3)+fabs(log(x))
D、fabs(x*3)+fabs(log10(x))

4) 若有变量说明: int a=0,b=0,c=0; ,以下符合C语言语法的赋值表达式是( B )。
A、a=9+b+c=a+9
B、a=9+b; c=a+9
C、 a=9+b,b++
D、a=9+b++=a+7

5) 以下选项中属于C语言数据类型的是( C ).
A、复数型
B、逻辑型
C、双精度型
D、集合型

6) 若以下变量均是整型,且num=Sum=7;则计算表达式Sum=num++,Sum++,++num后Sum的值为( A )。
A、7
B、8
C、9
D、10

7) 已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,
正确的数据输入方式是( C ),(注: _ 表示空格)
int al,a2,char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A、10A_20_B
B、10_A_20_B
C、10A20B
D、10A20_B

8) 设x、y均为float型变量,则以下不合法的赋值语句是( B )。
A、++x;
B、y=(x%2)/10;
C、x*=y+8;
D、x=y=0;

9) 逻辑运算符两侧运算对象的数据类型( D )。
A、只能是0或1
B、只能是0或非0正数
C、只能是整型或字符型数据
D、可以是任何类型的数据

10) 以下程序的运行结果是( D )。
void main(void)
{
int k=4,a=3,b=2,c=1;
printf("\n%d\n",k<a?k:c<b?c:a);
}
A、4
B、3
C、2
D、1

11) 判断char型变量c1是否为大写字母的正确表达式是( C )。
A、'A'<=c1<='Z'
B、(c1>='A')&(c1<='Z')
C、(c1>='A')&&(c1<='Z')
D、('A'<=c1)AND('Z'>=c1)

12) 若x、i、j、和k都是int型变量,则计算下面表达式后,x的值为( C )。
x=(i=4,j=16,k=32)
A、4
B、16
C、32
D、52

13) 下面程序的运行结果是( C )。
#include<stdio.h>
void main(void)
{
int num=0;
while(num<=2)
{
num++;
printf("%d ",num);
}
}
A、1
B、1 2
C、1 2 3
D、1 2 3 4

14) 若运行以下程序时, 从键盘输入ADescriptor3, 则下面程序的运行结果是( D )。
#include<stdio.h>
void main(void)
{ char c;
int v0=0, 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=7,v1=4,v2=7
B、v0=8,v1=4,v2=8
C、v0=11,v1=4,v2=11
D、v0=12,v1=4,v2=12

15) 在C语言中, 引用数组元素时, 其下标的数据类型允许是( C )。
A、整型常量。
B、整型表达式。
C、整型常量或整型表达式。
D、任何类型的表达式。

16) 下面程序段的运行结果是( C )。
char c[]="\t\v\\\Owill\n";
printf("%d",strlen(c));
A、14
B、3
C、9
D、字符串中有非法字符, 输出值不确定

17) 判断字符串a和b是否相等, 应当使用( D )。
A、if (a==b)
B、if (a=b)
C、if (strcpy(a,b))
D、if (strcmp(a,b))

18) 以下程序存在语法性错误,关于错误原因的正确说法是( C )。
void main(void))
{
int A=5,b;
void p_ch1();
...
b=p_ch1(A);
...
}
A、语句void p_ch1(); 有错,它是函数调用语句,不能使用void说明。
B、变量名不能使用大写字母。
C、函数说明和函数调用语句之间有矛盾。
D、函数名中不能使用下划线。

19) 在C语言中,以下正确的说法是( A )。
A、实参和与其对应的形参各占用独立的存储单元
B、实参和与其对应的形参共占用一个存储单元
C、只有当实参和与其对应的形参同名时才共占用存储单元
D、形参是虚拟的,不占用存储单元

20) 若使用一维数组名作函数实参,则以下正确的说法是( A )。
A、必须在主调函数中说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、在被调函数中,不需要考虑形参数组的大小
D、实参数组名与形参数组名必须一致

21) 以下叙述中不正确的是( C )。
A、预处理命令行都必须以#号开始。
B、在程序中凡是以#号开始的语句行都是预处理命令行。
C、C程序在执行过程中对预处理命令进行处理。
D、以下是正确的宏定义 #define IBM_PC

22) 若有定义:enum weekday{mon,tue,wed,thu,fri}workday;则错误的语句是( C )。
A、workday=(enum weekday)3;
B、workday=(enum weekday) (4-2);
C、workday=3;
D、workday=thu;

23) 为了求i的3次方,请选择一个表达式填入,使程序可以正确执行。
#define CUBE(x) (x*x*x)
main
{
int i=4;
printf("%d",CUBE( D ));
}
A、i*i*i
B、x*x*x
C、x
D、i

24) 已有变量定义和函数调用语句:int a=25; print_value(&a);
下面函数的正确输出结果是( D )。
void print_value(int *x)
{
printf("%d\n", ++*x);
}
A、23
B、24
C、25
D、26

25) 以下程序段的输出结果为( A )。
char a[]="language",*ptr=a;
while(*ptr)
{
printf("%c",*ptr-32);
ptr++;
}
A、LANGUAGE
B、陷入死循环
C、有语法错
D、language

26) 若有说明:char c='9',*sp1,*sp2; 以下均正确的一组赋值语句是( A )。
A、sp1=&c;sp2=sp1;
B、sp1=&c;sp2=&sp1;
C、sp1=&c;sp2=*sp1;
D、sp1=&c;*sp2=*sp1;

27) 已知学生记录描述如下:下面对结构体成员"computer"的赋值方式正确是( C )。
struct student
{
int num;
char name[8];
struct
{
float math;
float engl;
float computer;
} mark;
} std;
A、student.computer=84;
B、mark.computer =84;
C、std.mark.computer=84;
D、std.computer=84;

28) 若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确是( A )。
struct pupil
{
char name[20];
int age;
int sex;
}
pup[5],*p;

A、scanf("%d",p->age);
B、scanf("%s",pup[0].name);
C、scanf("%d",&pup[0].age);
D、scanf("%d",&(pup[1].sex));

29) 以下程序的运行结果是( C )。
typedef union
{
long a[3];
int b[4];
char c[6];
} EXAM;
void main(void)
{
printf("%d\n",sizeof(EXAM));
}
A、20
B、26
C、12
D、8

30) 以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调用方式是:( B )。
A、FILE *fp; ^fp=fopen("file1","r");
B、FILE *fp; ^fp=fopen("file1","r+");
C、FILE *fp; ^fp=fopen("file1","rb")
D、FILE *fp; ^fp=fopen("file1","rb+");

程序填空题(4小题,每题2~3空,每套10空,每空2分,共20分)
1) 将以下嵌套的if语句改写在对应的switch语句, 使其完成相同的功能。
(假设mark的取值在1至100之间。)
if语句:
if(mark<60) k=1;
else if(mark<70)k=2;
else if(mark<80)k=3;
else if(mark<90)k=4;
else if(mark<=100)k=5;
switch语句:
switch( ① )
{
( ② ) k=1;break;
case 6 : k=2;break;
case 7 : k=3;break;
case 8 : k=4;break;
( ③ ) k=5;
}
答案:mark/10 case 0:case 1:case 2:case 3:case 4:case 5: default:或case 9:case 10:

2) 某服装店经营套服,也单件出售。若买的不少于50套,每套80元;不足50套的每套90元;只买上衣每件60元;只买裤子每条45元。以下程序的功能是读入所买上衣c和裤子t的件数,计算应付款m。
void main(void)
{
int c,t,m;
printf("input the number of coat and trousers your want buy:\n");
scanf("%d %d",&c,&t);
if ( ① )
if (c>=50) m=c*80;
else m=c*90;
else
if ( ② )
if (t>=50)m=t*80+(c-t)*60;
else m=t*90+(t-c)*60;
else
if ( ③ ) m=c*80+(t-c)*45;
else m=c*90+(t-c)*45;
printf("%d",m);
}
答案:c==t c>t c>=50

3) 以下程序是计算x,y,z三个数中值最小的。
void main(void)
{
int x=4,y=5,z=8;
int u,v;
u=x<y? ( ① ) ;
v=u<z? ( ② ) ;
printf("%d",v);
}
答案:x:y u:z

4) 阅读下面的程序并回答问题。
void main(void)
{
int m,n,x,y;
scanf("%d,%d",&x,&y);
m=1;
n=1;
if (x>0) m=m+1;
if (x>y) n=m+n;
else if (x==y) n=5;
else n=2*m;
printf("m=%d,n=%d",m,n);
}
问题:为了使输出n=4, x的输入值应当为( ① ),y的输入值应当为( ② )
注:必须使用C语言语法来描述,如:x<2 && x<3,否则不得分。
答案:x>0 && x<y y>x

运行结果填空题(2小题,每题5分,共10分)
1) 写出程序的结果。( ① )
#include<stdio.h>
void main(void)
{
int m=11,n=10;
m-=n+1;
printf("%d",m);
m+=n+1;
printf("%d",m);
m*=n;
printf("%d",m);
m/=n+1;
printf("%d",m);
}
答案:0 11 110 10

2) 以下程序的运行结果是( ① ) 。
void main(void)
{
int t;
for(t=0;t<5;t++)
switch(t)
{
case 1:
printf("BB");
break;
case 2:
printf("\n");
break;
case 3:
case 4:
printf("A");
break;
}
}
答案:BB ^AA

概念填空题(10小题,每题1分,共10分)
1) 若有定义:int b=7; float a=2.5, c=4.7;则下面表达式的值为( ① )。
a+(b/3*(int)(a+c)/2)%4
答案:5.5

2) 设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为( ① )—32767。
答案:-32768

3) 若x和a均是int型变量,则计算表达式(1)后的x值为( ① ),计算表达式(2)后的x值为4。
(1) x = ( a = 4 , 6 * 2)
(2) x = a = 4 , 6 * 2
答案:12

4) 每个语句后面必须加上( ① ),表示该语句结束。
答案:分号或/或;

5) 若有以下定义:int m=5,y=2;,则计算表达式y+=y-=m*=y后的y值是( ① )。
答案:-16

6) 若有定义:double x[3][5];,则x数组中行下标的下限为( ① ),列下标的上限为4。
答案:0

7) 在C语言中,&作为双目运算符时表示的是( ① ),而作为单目运算符时表示的是地址。
答案:按位与

8) 若有以下定义和语句:
int a[5]={1,3,5,7,9},*p;
p=&a[2];
则++(*p)的值是( ① )。
答案:6

9) 若有以下定义和语句:
int *p[3],a[6],i;
for(i=0;i<3;i++) p[i]=&a[2*i];
则*p[1]引用的是a的数组元素a[2],*p[0]引用的是a的数组元素( ① );
*(p[1]+1)引用a的数组元素a[3]。
答案:a[0]

10) 在C程序中,文件可以用两种方式存取,它们是( ① )和随机存取。
答案:顺序

判断题(10小题,每题1分,共10分)
1) 字符型数据在内存中以其相应的ASCII码存储。
答案:正确

2) 在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
答案:正确

3) 当关系表达式不成立时,其值为1。
答案:错误

4) break语句不能用于循环语句和switch语句之外的任何其它语句中。
答案:正确

5) 数组的长度是固定的。
答案:正确

6) 若用数组名作为函数调用时的实参,则传递给形参的是数组的第一个元素值。
答案:错误

7) 宏的展开是在编译程序时进行的。
答案:正确

8) 存放变量地址的变量称为指针变量。
答案:正确

9) "c:\user\text.txt"是一个正确的文件描述。
答案:错误

10) 文件按照其数据读、写方式可以分为“文本文件”与“二进制文件”。
答案:错误
温馨提示:答案为网友推荐,仅供参考