搜索
您的当前位置:首页正文

江苏省二级C++考试试题库

来源:赴品旅游


江苏省计算机等级考试试题库系统 (1)下列关于微处理器的叙述中,错误的是( ) (A)Pentium是Intel公司的微处理器产品 (B)Pc 机与Macintoch是不同厂家生产的计算机,但是他们互相兼容 (C)PowerPc与Pentium微处理器结构不同,指令系统也有很大区别 (D)Pentium机器上的程序一定可以在Pentium 4机器上运行 (2)以下选项( )中所列的都是计算机网络中传输数据常用的物理介质 (A)光缆、集线器和电源 (B)电话线、双绞线和服务器 (C)同轴电缆、光缆和插座 (D)同轴电缆、光缆和双绞线 (3)下面关于PC机中CPU的若干叙述,其中错误的是( ) (A)CPU中包含几十个甚至上不百个寄存器,用来临时存放待处理的数据

(B)CPU是PC机中不可缺少的组成部分,它担负着运行系统软件和应用软件的任务 (C)CPU的速度比主存储器低的多,使用高速缓存(Cache)可以显著提高CPU的速度 (D)PC机中可以有多个CPU (4)键盘、显示器和硬盘等常用外围设备在系统启动时都需要参与工作,他们的驱动程序

必须存放在( )

(A)硬盘 (B)BIOS (C)内存 (D)CPU (5)下列关于计算机网络中协议功能的叙述中最为完正的是( ) (A)决定谁先接收信息 (B)决定计算机如何进行内部处理 (C)为网络中进行通信的计算机制定的一组需要共同遵守的规则和标准 (D)检查计算机通信时传送的错误 (6)当多个程序共享内存资源而内存不够时,操作系统的存储管理程序将把内存与( ) 结合起来,提供一个容量比实际内存大的多的”虚拟存储器” (A)高速缓冲存储器 (B)光盘存储器 (C)硬盘存储器 (D)离线后备存储器 (7)若一台计算机的字长为4个字节,则表明该计算机( ) (A)能处理的数值最大为4位二进制 (B)能处理的数值最多由4位二进制组成 (C)在CPU中定点运算器和寄存器为32位 (D)在CPU中运算结果最大为2的32次方 (8)下列说法中错误的是( ) (A)现实世界中很多景物如树木,花草,烟火等很难用几何模型表示 (B)计算机图形学主要是研究使用计算机描述景物并生成其图象的原理、方法和技术 (C)用于描述景物的几何图形可以分为线框模型、曲面模型和实体模型等很多 (D)利用扫描仪输入计算机的机械零件图属于计算机图形 (9)两个同类局域网互联,应使用的设备是

( ) (A)网卡 (B)路由器 (C)网桥 (D)调制解调器 (10)在下列汉字标准中,有一种不支持繁体汉字,它是( )

(A)GB2312-1980 (B)GBK (C)BIG 5

(D)GB18030 (11)在校园网中,若只有150个因特网IP地址可给计算机中心使用,但计算机中心有500台计算机要接入因特网,以下说法中正确的是( ) (A)最多只能允许150台接入因特网 (B)由于IP地址不足,导致150台计算机无法设置IP地址,无法连网 (C)安装代理服务器,动态分配150个IP地址给500台计算机,便可使500台计算机接入因特网 (D)计算机IP地址可如意设置,只要其中150台IP地址设置正确,便可保证500台计算

机接入因特网

(12)无线电波分中波、短波、超短波和微波等,其中关于微波叙述正确的是( ) (A)微波沿地面传播,绕射能力强,适用于广播和海上通信

(B)微波具有较强的电离层反射能力,适用于环球通信

(C)微波是具有极高频率的电磁波,波长很短,主要是直线传播,也可以从物体上得到反射

(D)微波通信可用于电话,但不宜传输电视图象

(13)以下关于高级程序设计语言中的数据成分的说法中,正确的是( )

(A)数据名称命名说明数据需要占用存储单元的多少和存放形式

(B)数组是一组相同类型数据元素的有序集合

(C)指针变量中存放的是某个数据对象的值 (D)用户不可以自己定义新的数据类型

(14)移动通信是当今社会的重要通信手段,下列说法错误的是( )

(A)第一代移动通信系统,是一种蜂窝式模拟移动通信系统

(B)GPRS提供分组交换传输方式的GSM新业务,是一种典型的第三代移动通信系统 (C)第二代移动通信系统采用数字传输,时分多址或码分多址作为主体技术

(D)第三代移动通信系统能提供全球漫游,高质量的多媒体业务和高质量、高保密性的优质服务

(15) 在组建局域网时,一般都需要集线器、交换

机之类的网络设备。下列有关网络设备的叙述中,错误的是 ()。

A.集线器分为共享式集线器和交换式

集线器。

B.网络交换机就是电话系统中的程控交换机。

C.数据传输率是集线器和交换机的重要的性能指标。

D.与共享式集线器相比,一般来说交换机的功能更强、性能更好、价格更贵。 (16)采用补码表示法,整数”0”只有一种表示形式,该表示形式为( )

(A)1000...00 (B)0000...00

(C)1111...11 (D)0111...11

(17)以下关于局域网和广域网的叙述中,正确的是( )

(A)广域网只是比局域网覆盖的地域广,它们所采用的技术是相同的

(B)家庭用户拨号入网,接入的大多是广域网

(C)现阶段家庭用户的PC机只能通过电话线接入网络

(D)单位或个人组建的网络都是局域网,国家建设的网络才是广域网

(18)日常所说的“上网访问网站”,就是访问存放在( )上的信息

A.网关 B.网桥 C.Web服务器 D.路由器

(19)下列关于计算机信息系统的叙述中,错误的是( )

(A)信息系统属于数据密集性应用,数据具有持久性

(B)信息系统的数据可分为多个应用程序所共享

(C)信息系统是以提供信息服务为主要目的的应用系统

(D)信息系统涉及的数据量大,必须存放在内存中

(20) 计算机网络中各个组成部分相互通信时都必

须都必须认同的一套规则成为网络协议。在下列英文缩写中,() 不是网络协议。

A.HTTP

B.TCP/IP

C.FTP D.WWW

第二部分 Vc++程序设计

(1)下列字符常量的写法中,错误的是( ) (A)’\\105’ (B)’*’ (C)’\\4f’ (D)’\\a’

(2)已知枚举类型定义语句为:

enum Token{Name, Number, Plus=5,MINUS, PRINT=10};

则下列说法中错误的是( ) (A) 枚举类型Name的值为1

(B) 枚举类型Number的值为1

(C) 枚举类型MINUS的值为6

(D) 枚举类型PRINT的值为10

(3)下列语句段将输出字符”*”的个数为

( ) int i=100; while(1){ i--; if(i==0) break; cout<<’*’ } A)98个 B)99个 C)100个 D)101个

(4)设有如下程序: # include int main()

A) testDefaultParam(5); B) testDefaultParam(5,8); C) testDefaultParam(6,’#’); D) testDefaultParam(0,0,’*’); (6)下列关于构造函数的描述中,错误的是

( ) A)构造函数可以设置默认参数

B)构造函数在说明类变量时自动执行

C)构造函数可以对静态数据成员进行初始

D)构造函数可以重载

(7)虚函数必须是类的( )

A)成员函数 B)朋友函数 C)构造函数 D)析构函数

(8) 关于抽象类,下列表述正确的是

( ) A)抽象类的成员函数中至少有一个是没有

实现的函数

B)派生类必须实现作为基类的抽象类中的

纯虚函数

C)派生类不可能成为抽象类

D)抽象类不能用来定义对象

9)在下列成对的表达式中,运算符”/”的意义相同的一组是( )

A)8/3和8.0/3.0 B)8/3.0和

8/3 C)8.0/3和8/3 D)8.0/3.0

和8.0/3 { int **x,*y,z=10; y=&z; x=&y; cout<<**x+1<void testDefaultParam(int a, int b=7,

char z=’*’); 下面的函数调用中,不合法的是( ) 10)下面程序的输出结果是( ) # include void fun(int ,i); int main()

{ int n=2;

fun(n); return 0; } void fun(int i) { static int x=1; int y=1; if(i>0) {

++x; ++y; cout<2 2 C)2 2 3 3 D)2 2 3 2

阅读程序题:

(1)阅读以下程序,请写出第一行内容( ),第二行内容( ) # include int a=3, b=4; void sub() void main() {

sub();

cout<<”a=”<void sub() {

int a,b,c; a=10; b=15; a=a-::a; b=b-::b; c=::a+::b;

cout<<”a=”<(2)阅读以下程序,输出的内容为( ) # include void main() {

int x=35; int &y=x; y/=5;

y=’M’>’N’ ? x*2: x*3; ++y;

cout<<”x=”<(3)阅读以下程序,输出的第一行为( ),第二行为( ),第三行为( )

#include

void main() {

int *key=new int[10]; for(int i=0; i<10; i++) {

key[i]=i*5+3; }

cout<<”*key=”<<*key<(4)阅读以下程序,程序输出的第一行是( ),第二行是( ) # include

void findmax(int *a, int n, int i, int *pk) {

if(iif(a[i]>a[*(pk)]) *pk=i; findmax(a,n,i+1,pk); } }

void main(void) {

int a[10]={34,32,23,12,67,54,44,60,33,24}, index=0;

findmax(a,10,0,&index); cout<cout<<”Its’index is:”<(5)以下程序输出的第二行是( ),第四行是( ) # include class A{ int i; public:

static int count; A(int a=0) {

i=a+count; count++;

cout<int A::count=0;

void main(void) {

A a(100); A b; A c(200);

cout<<”count=”<(6)下列程序的功能是:判断一个字符串是否匹配另一个含”通配符”的字符串,统配符”*”表示该位置上可以出现任意多个字符(包括0个字符),例如:一个具有通配符的字符串是”ab*t”,则字符串”about”、“abort”和”abt”与之匹配,而字符串”abuse”和”aboutan”与之不匹配,规定具有通配符的字符串中必须有一且只有一个”*”。 # include # include

int like(char *s1, char *s2) {

char *p1=s1, *p2=s1+strlen(s1)-1; int i=0, j=(strlen(s2)-1 ); while(*p1!=’*’ && *p1==s2[i]) i++, p1++;

while(*p2!= ‘*’ && *p2==s2[j]) j--,p2--;

if(i-1( return 0; ) }

void main() {

char s1[ ]=”ab*t”, s2[20]; cout<cout<<”\\nPlease input a string:”; cin>>s2;

if(like(s1,s2 )) cout<<”ok!”<cout<<”Not matched”<(7) 以下程序对反映学生情况的数组a进行排序,按其数组元素的成员id(学号)从小到大排序

# include

class Elem{ //描述一名学生的成绩和学号

int score; int id; public:

Elem(int s=0, int i=0) {

score=s; id=i; }

int key() //获取学号 {

return id; }

int GetScore() //获取成绩 {

return score; }

void Select(Elem a[], int n) {

for(int i=0;iint min=a[i].key; int p=i,j; Elem temp;

for(j=i+1; jif (a[j].key()if(p!=i){

( ); a[j]=a[p];a[p]=temp; } }

} a[i]=( ); } void main(void) Select(a,8); { for(int j=0; j<8; j++) int s[ ]={56,78,65,90,88,76,72,80}; int id[ ]={8,1,2,6,7,4,3,5}; cout<(8)输入一行字符串,用单向链表统计该字符串中每个字符出现的次数。方法是:对该字符串中的每个字符,依次查找链表上的结点。若链表结点上有该字符,则将该结点的count值加1;否则产生一个新结点,存放该字符,置count为1,并将该新结点放入链首,最后,输出链表上的每个结点的字符以及出现的次数,链表的结构如下图所式:

head c count next c count next c count next

# include

struct node{ char c; int count; node *next; }

void print(node *head) {

while(head){

cout<<”字符:”<c<<”\出现”<count<<”次\\n”; head=head->next; } }

void dele(node *head) {

node *p;

while(head!=null) {

p=head;

head=( ); delete p; } }

node *search(node *head, char ch) {

node *p; p=head; while(p){

if(p->c==ch){ p->count++; break; }

( ); }

if(p==0){

p=new node; p->c=ch; p->count=1;

if(head) ( ); else p->next=0; ( ); }

return head; }

void main(void) {

char s[300],*p=s; node *h=0; char c;

cout<<”请输入一行字符串”; cin.getline(s,300);

while(c=*p++) h=search(h,c); print(h); dele(h) }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top