历年计算机编程真题答案题库精选
注明:按照考试真题顺序进行排序。
51.以下定义错误的是( )。
A.struct A{A _a};
B.struct A{A* _a;};
C.struct A{A& _a;};
D.struct B;struct A{B& _b;};struct B{A& _a;};
答案:A
52.在C++语言中,下面关于数组的描述错误的是( )
A.数组的名字就是指向该数组第一个元素的指针
B.长度为n 的数组,下标的范围是0-n-1
C.数组的大小必须在编译时确定
D.数组可通过值参数、地址指针、引用参数三种方式传递给函数
答案:C
53.设x,y,t 均为int 型变量,执行下列语句后,y 的值为( )。
x=y=3;t=++x||++y;
A.不确定
B.4
C.3
D.1
答案:C
54.两个指针变量的值相等时,表明两个指针变量是( )。
A.占据同一内存单位
B.指向同一内存单元地址或者都为空
C.是两个空指针
D.都没有指向
答案:B
55.已year 为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为"真"的数据是( )。
A.1990
B.1992
C.1996
D.2000
答案:A
56.下列哪种方法不能用于文本加密( )。
A.RSA
B.RC4
C.MD5
D.DES
答案:C
57.语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b);scanf 最多可执行次数为( )。
A.4
B.6
C.5
D.1
答案:C
58.关于指针概念说法不正确的是( )。
A.一个指针变量只能指向同一类型变量
B.一个变量的地址称为该变量的指针
C.只有同一类型变量的地址才能放到指向该类型变量的指针变量之中
D.指针变量可以由整数赋,不能用浮点赋
答案:D
59.下面程序段( )。
char a[3],b[]="China";
a=b;
printf("%s", a);
A.输出结果为China
B.输出结果为Ch
C.输出结果为Chi
D.无法通过编译
答案:D
60.下列运算符中优先级最高的是( )。
A.<
B.+
C.&&
D.!=
答案:B
61.下面说明不正确的是( )。
A.char a[10]="china";
B.char a[10],*p=a;p="china"
C.char *a;a="china";
D.char a[10],*p;p=a="china"
答案:D
62.声明语句为int a[3][4];下列表达式中与数组元素a[2][1]等价的是( )。
A.*(a[2]+1)
B.a[9]
C.*(a[1]+2)
D.*(*(a+2))+1
答案:A
63.下面关于"指针"的描述不正确的是( )。
A 当使用free 释放掉一个指针内容后,指针变量的值被置为NULL
B32 位系统下任何类型指针的长度都是4 个字节
C 指针的数据类型声明的是指针实际指向内容的数据类型
D 野指针是指向未分配或者已经释放的内存地址
答案:A
64.若有定义语句:char a ='\82';则变量a( )。
A.说明不合法
B.包含1 个字符
C.包含2 个字符
D.包含3 个字符
答案:B
65.C++中构造函数和析构函数可以抛出异常吗( )。
A.都不行
B.都可以
C.只有构造函数可以
D.只有析构函数可以
答案:C
66.UNIX 命令的一般格式是( )。
A.命令名[选项] [参数]
B. [选项] [参数] 命令名
C. [参数] [选项] 命令名
D. [命令名] [选项] [参数]
答案:A
67.变更用户身份的命令是( )。
A.who
B.whoami
C.su
D. id
答案:C
68.用于终止某一进程执行的命令是( )。
A.free
B.pstree
C.kill
D.ps
答案:C
69.一个文件名字为rr.z,可以用来解压缩的命令是( )。
A.tar
B.gzip
C.compress
D.uncompress
答案:D
70.以下LINUX 系统的键盘命令中,显示当前工作目录的命令是( )。
A.ls 命令
B.cd 命令
C.pwd 命令
D.cat 命令
答案:C
71.在大多数Linux 发行版本中,以下哪个属于块设备(block devices)( )。
A.串行口
B.硬盘
C.虚拟终端
D.打印机
答案:B
72.怎样更改一个文件的权限设置( )。
A.attrib
B.chmod
C.change
D.file
答案:B
73.在使用了shadow 口令的系统中,/etc/passwd 和/etc/shadow 两个文件的权限正
确的是( )。
A.-rw-r----- ,-r--------
B.-rw-r--r-- , -r--r--r—
C.-rw-r--r-- ,-r--------
D.-rw-r--rw- , -r-----r—
答案:C
74.在Linux 系统中的脚本文件一般以什么开头( )。
A.$/bin/sh
B.#!/bin/sh
C.use /bin/sh
D.set shell=/bin/sh
答案:B
75.下面哪个命令可以压缩部分文件( )。
A.tar -dzvf filename.tgz *
B.tar -tzvf filename.tgz *
C.tar -czvf filename.tgz *
D.tar -xzvf filename.tgz *
答案:C
76.在Linux 中,通常把设备作为( )文件来处理。
A.特殊
B.普通
C.目录文件
D.设备
答案:A
77.在Linux 系统中获取帮助信息的命令为( )。
A.help
B.man
C.cat
D.type
答案:B
78.在Linux 系统中的mv 命令表示( ) 。
A.删除文件
B.移动文件或对文件换名
C.复制文件
D.撤销文件
答案:B
79.在UNIX 系统中,复制文件采用的命令为( )。
A.cp
B.mv
C.rm
D.copy
答案:A
80.一个进程刚被创建后,其初始状态为( )。
A.运行态
B.等待态
C.就绪态
D.创建态
答案:C
81.下列叙述中,正确的是( )。
A.声明变量时必须指定一个类型
B.Java 认为变量number 和Number 相同
C.Java 中唯一的注释方式是“//”
D.源文件中public 类可以有0 或多个
答案:A
82.在switch(expression)语句中,expression 的数据类型不能是( )。
A.double
B.char
C.byte
D.short
答案:A
83.已知int[] a =new int[100];在下列给出的数组元素中,非法的是( )。
A.a[0]
B.a[1]
C.a[99]
D.a[100]
答案:D
84.下列语句序列执行后,x 的值是( )。
int a=3,b=4,x=5;
if( ++a<b ) x=x+1;
A.5
B.3
C.4
D.6
答案:A
85.设x,y 均为已定义的类名,下列声明对象x1 的语句中正确的是( )。
A.public x x1= new y( );
B.x x1=x( );
C.x x1=new x( );
D.int x x1;
答案:C
86.有一个类A,以下为其构造函数的声明,其中正确的是( )。
A.void A(int x){...}
B.A(int x){...}
C.a(int x){...}
D.void a(int x){...}
答案:B
87.Java 语言的类间的继承关系是( )。
A.多重的
B.单继承
C.线程的
D.不能继承
答案:B
88.下面说法正确的是( )。
A.final 可修饰类、属性、方法
B.abstract 可修饰类、属性、方法
C.定义抽象方法需有方法的返回类型、名称、参数列表和方法体
D.用final 修饰的变量,在程序中可对这个变量的值进行更改
答案:A
89.下面关于java 中类的说法哪个是不正确的( )。
A.类体中只能有变量定义和成员方法的定义,不能有其他语句
B.构造函数是类中的特殊方法
C.类一定要声明为public 的,才可以执行
D.一个java 文件中可以有多个class 定义
答案:C
90.下面的是关于类及其修饰符的一些描述,正确的是( )。
A.abstract 类只能用来派生子类,不能用来创建abstract 类的对象。
B.final 类不但可以用来派生子类,也可以用来创建final 类的对象。
C.abstract 不能与final 同时修饰一个类。
D.abstract 方法必须在abstract 类中声明,但abstract 类定义中可以没有abstract 方
法。
答案:D
91.下列关于静态初始化器的叙述中,哪一个是正确的( )。
A.静态初始化器是在构造函数之前加上static 修饰符。
B.静态初始化器是对类自身进行初始化。
C.静态初始化器在同一个类中只能有一个。
D.静态初始化器是在其所属的类加载内存时由系统自动调用执行。
答案:D
92.下面哪个说法正确( )。
A.如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名
字。
B.如果源文件包含import 语句,则该语句必须是除空行和注释行外的第一个语句
行。
C.如果某源文件包含package 语句,则该语句必须是第一个非空、非注释行。
D.接口中的方法必定是抽象方法,但可以不用关键字abstract 修饰。
答案:C
93.类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些
修饰符获得需要的访问控制( )。
A.public
B.no modifier
C.protected
D.private
答案:D
94.下面的哪些表达式可以加入printValue()方法的"doing the same as..."部分( )。
A.printValue();
B.this.printValue();
C.person.printValue();
D.super.printValue().
答案:D
95.类Teacher 和Student 都是类Person 的子类( )。
Person p;
Teacher t;
Student s;
p, t and s are all non-null.
if(t instanceof Person) { s = (Student)t; }
这个语句导致的结果是什么( )。
A.将构造一个Student 对象。
B.表达式合法。
C.编译时非法。
D.编译时合法而在运行时可能非法。
答案:B
若有以下定义和赋值语句,则与&s[i][j]等价的是( )。
int s[2][3] = {0}, (*p)[3], i, j;
p = s;
i = j = 1;
A.*(*(p+i)+j)
B.*(p[i]+j)
C.*(p+i)+j
D.(*(p+i))[j]
答案:C
97.已知关键字序列为(51,22,83,46,75,18,68,30),按关键码字51 进
行一趟快速排序,完成后的序列为( )。
A.(30,22,18,46,51,75,68,83)
B.(30,18,22,46,51,75,83,68)
C.(30,18,22,46,51,75,68,83)
D.(18,22,30,46,51,68,75,83)
答案:A
98.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5 为基
准进行一趟快速排序的结果为( )。
A.2,3,5,8,6
B.3,2,5,8,6
C.3,2,5,6,8
D.2,3,6,5,8
答案:C
99.有关插入排序的叙述,错误的是( )。
A.插入排序在最坏情况下需要O(n2)时间
B.插入排序在最佳情况可在O(n)时间内完成
C.插入排序平均需要O(nlog2n)时间
D.插入排序的空间复杂度为O(1)
答案:C
100.下述几种排序方法中,要求内存最大的是( )。
A.快速排序
B.插入排序
C.选择排序
D.归并排序
答案:D