当前位置:文档之家› 2006年VC(春)笔试试卷

2006年VC(春)笔试试卷

2006年VC(春)笔试试卷
2006年VC(春)笔试试卷

江苏省高等学校非计算机专业学生

计算机基础知识和应用能力等级考试

二级C语言程序设计2006年(春)笔试试卷

(考试时间120分钟,满分60分)

第一部分计算机基础知识

(1)信息技术指的是用来扩展人的信息器官功能、协助人们进行信息处理的一类技术。在下列基本信息技术中,用于扩展人的效应器官功能的是__________。

A)感测与识别技术B)通信与存储技术

C)计算与处理技术D)控制与显示技术

(2)微电子技术是以集成电路为核心的电子技术。在下列关于集成电路(IC)的叙述中,正确的是__________。

A)集成电路的发展导致了晶体管的发明

B)现代计算机的CPU均是超大规模集成电路

C)小规模集成电路通常以功能部件、子系统为集成对象

D)所有的集成电路均为数字集成电路

(3)通信技术的发展促进了信息的传播。在下列有关通信与通信技术的叙述中,错误的是__________。

A)通信系统必有“三要素”,即信源、信号与信宿

B)现代通信指的是使用电(光)波传递信息的技术

C)数据通信指的是计算机等数字设备之间的通信

D)调制技术主要分为三种,即调幅、调频和调相

(4)在计算机中,数值为负的整数一般不采用“原码”表示,而是采用“补码”方式表示。若某带符号整数的8位补码表示为1000 0001,则该整数为__________。

A)129 B)-1 C)-127 D)127

(5)在下列有关CPU(中央处理器)与Pentium微处理器的叙述中,错误的是__________。

A)CPU除包含运算器和控制器以外,一般还包含若干个寄存器

B)CPU所能执行的全部指令的集合,称为该CPU的指令系统

C)Pentium系列处理器在其发展过程中,其指令系统越来越丰富

D)Pentium处理器与PowerPC处理器虽然产自不同的厂商,但其指令系统相互兼容

(6)根据存储器芯片的功能及物理特性,目前用作优盘存储器芯片的是__________。

A)SRAM B)SDRAM

C)EPROM D)Flash ROM

(7)I/O接口指的是计算机中用于连接I/O设备的各种插头/插座,以及相应的通信规程及电气特性。在下列有关I/O总线与I/O接口的叙述中,错误的是__________。

A)PC机系统总线一般分为处理器总线和主板总线

B)PCI总线属于I/O总线

C)PC机的I/O接口可分为独占式和总线式

D)USB是以并行方式工作的I/O接口

(8)输入设备用于向计算机输入命令和数据,它们是计算机系统必不可少的重要组成部分。在下列有关常见输入设备的叙述中,错误的是__________。

A)目前数码相机的成像芯片仅有一种,即CCD成像芯片

B)扫描仪的主要性能指标包括分辨率、色彩位数和扫描幅面等

C)目前台式PC机普遍采用的键盘可直接产生一百多个按键编码

D)鼠标器一般通过PS/2接口或USB接口与PC机相连

(9)显示器的作用是将数字信息转换为光信息,最终将文字和图形/图像显示出来。在下列有关PC机显示器的叙述中,错误的是__________。

A)目前出厂的台式PC机大多数使用AGP接口连接显示卡

B)彩色显示器上的每个像素由RGB三种基色组成

C)与CRT显示器相比,LCD的工作电压高、功耗小

D)从显示器的分辨率来看,水平分辨率与垂直分辨率之比一般为4:3

(10)计算机软件(简称软件)指的是能指挥计算机完成特定任务的、以电子格式存储的程序、数据和相关的文档。在下列有关软件的叙述中,错误的是__________。

A)软件的版权所有者不一定是软件作者

B)共享软件指的是一种无版权的软件

C)用户购买一个软件后,仅获得了该软件的使用权,并没有获得其版权

D)软件许可证是一种法律合同,它确定了用户对软件的使用方式

(11)在下列有关Windows操作系统(这里指Windows 95及其以后的版本)的多任务处理功能的叙述中,正确的是__________。

A)在多任务处理过程中,前台任务与后台任务都能得到CPU的响应(处理)

B)由于CPU具有并行执行指令的功能,所以操作系统才能同时进行多个任务的处理

C)如果用户只启动一个应用程序,那么该程序就可以自始至终地独占CPU

D)Windows操作系统采用协作方式支持多个任务的处理

(12)文件管理是操作系统的基本功能之一。在Windows操作系统环境下,下列有关文件管理功能的叙述中,错误的是__________。

A)计算机中的所有程序、数据、文档都组织成文件存放在外存储器中

B)磁盘上的文件分配表(FAT)有两个,且内容相同

C)任何磁盘上的文件根目录表(FDT)仅有一个

D)文件管理以扇区为单位分配磁盘上的存储空间

(13)随着Internet的飞速发展,其提供的服务越来越多。在下列有关Internet服务及相关协议的叙述中,错误的是__________。

A)电子邮件是Internet最早的服务之一,主要使用SMTP/POP3协议

B)WWW是目前Internet上使用最广泛的一种服务,常使用的协议是HTTP

C)文件传输协议(FTP)主要用于在Internet上浏览网页时控制网页文件的传输

D)远程登录也是Internet提供的服务之一,它采用的协议称为Telnet

(14)在下列有关程序设计语言及其处理程序的叙述中,错误的是__________。

A)程序设计语言可以分为机器语言、汇编语言和高级语言

B)机器语言与计算机硬件关系紧密,用它编写的程序可移植性较差

C)用于辅助编写汇编语言程序的编辑软件称为汇编程序

D)高级程序设计语言可以有解释与编译两种工作方式

(15)在下列有关常见局域网、网络设备以及相关技术的叙述中,错误的是__________。

A)以太网是最常用的一种局域网,它采用总线结构

B)每个以太网网卡的介质访问地址(MAC地址)是全球惟一的

C)无线局域网一般采用无线电波或红外线进行数据通信

D)“蓝牙”是一种远距离无线通信的技术标准,适用于山区住户组建局域网

(16)字符编码标准规定了字种及其编码。在下列有关汉字编码标准的叙述中,错误的是__________。

A)我国颁布的第一个汉字编码标准是GB2312—80,它包含常用汉字6 000多个

B)GB2312—80和GBK标准均采用双字节编码

C)GB18030—2000标准使用3字节和4字节编码,与GB2312—80和GBK兼容

D)UCS-2是双字节编码,它包含拉丁字母文字、音节文字和常用汉字等

(17)不同格式的图像文件,其数据编码方式有所不同,通常对应于不同的应用。在下列几组图像文件格式中,制作网页时用得最多的是__________。

A)GIF与JPEG B)GIF与BMP

C)JPEG与BMP D)GIF与TIF

(18)计算机中处理的声音分为波形声音和合成声音两类。在下列有关波形声音的叙述中,错误的是__________。

A)波形声音的获取过程就是把模拟声音信号转换为数字形式,包括取样、量化和编码等步骤

B)声音信号的数字化主要由声卡来完成,其核心是数字信号处理器(DSP)

C)MP3采用MPEG-3标准对声音进行压缩编码

D)波形声音的主要参数包括取样频率、量化位数和声道数目等

(19)在下列有关数据库技术的叙述中,错误的是__________。

A)关系模型是目前在数据库管理系统中使用最为广泛的数据模型之一

B)从组成上看,数据库系统由数据库及其应用程序组成,它不包含DBMS及用户

C)SQL语言不限于数据查询,还包括数据操作、定义、控制和管理等多方面的功能

D)Access数据库管理系统是Office软件包中的软件之一

(20)Microsoft Word是目前最常用的文字处理软件之一。在下列有关Microsoft Word(97及其以后的版本)功能的叙述中,错误的是__________。

A)在默认情况下,页面的版面(纸张大小)为A4

B)在同一个文档中,所有页面的版面(纸张大小)只能相同

C)系统具有基于字典的拼写检查功能

D)在普通视图中,可以显示表格,但不能显示所插入的图片

第二部分C语言程序设计

一、选择题

(21)下列各选项都是在C语言程序段中增加的注释,其中注释方法错误的是__________。

A)void main(/*int argc,char*argv[]*/) B)void main()

{ } {pri/*remark*/ntf("name");}

C)void main() D)void main()

{int x/*=10*/; { int x=10;

printf("%d",x); /*printf(”%d",x);*/

} }

(22)设有声明“int value='5';”,则执行下列选项的赋值语句后,value的值不等于5的是__________。

A)value=value-'0"; B)value=value-0x30;

C)value=value-49; D)value=value-'\060';

(23)若有定义和声明“typedef enum{green,red,yellow,blue,black}color;color flower;”,则下列语句中正确的是__________。

A)green=red; B)flower=red;

C)color=red; D)enum=red;

(24)设有下列程序段:

static char b=2; int a=1;

void Y() void X()

{ static float d=4;…} { int c=3;…}

关于程序段中各变量的属性,以下叙述中错误的是__________。

A)a是全局变量,函数X可以访问,函数Y不能访问

B)b是全局变量,函数X和函数Y都可以访问

C)C是动态变量,函数X可访问,函数Y不可访问

D)d是静态变量,函数X和函数Y都可以访问

(25)若有如下声明和语句:

int t[3][3],*pt[3],k;

for(k=0;k<3;k++) pt[k]=&t[k][0];

则表达式*(*(pt+1)+2)所引用的是__________。

A)t[2][0] B)&t[2][0]

C)t[1][2] D)&t[1][2]

(26)设有声明“float a=1.23456;int i;”,欲将a中的数值保留小数点后两位,第三位进行四舍五入运算,能实现该功能的表达式是__________。

A)i=a*100+0.5,a=i/100.0 B)a=(a*100+0.5)/100.0

C)a=((int)a*100+0.5)/100.0 D)a=(a/100+0.5)/100.0

(27)设有如下程序:

#include

main()

{ char s[128]={'\0'},*p=s;

while(strcmp(s,"END")){ gets(s);while(*p)putchar(*p++);}}

(27)gets函数每次输入一个字符串。以下关于该程序运行时输出结果的叙述中正确的是__________。

A)所有输入的字符串都能被完整输出

B)所有输入的字符串都不能被完整输出

C)只能完整输出第一个字符串

D)只能完整输出最后一个字符串

(28)若已定义一个有返回值的函数,则以下关于调用该函数的叙述中错误的是__________。

A)函数调用可以作为独立的语句存在

B)函数调用可以出现在表达式中

C)函数调用可以作为一个函数实参

D)函数调用可以作为一个函数形参

(29)对应main函数中的fun函数调用语句,以下给出的四个fun函数首部中错误的是__________。

main()

{ int a[50],n;fun(n,&a[9]); }

A)void fun(int m,int x[]) B)void fun(int s,int h[41])

C)void fun(int p,int*s) D)void fun(int n,int a)

(30)以下所列对结构类型变量tdl的声明中错误的是__________。

A)typedef struct aa B)#define AA struct aa

{ int n;float m;}AA; AA { int n;float m;}tdl;

AA tdl;

C)struct D)struct

{ int n;float m;}aa; {int n;float m;}tdl;

struct aa tdl;

二、填空题

●基本概念题(共5分)

(1)执行以下程序段后,number的值是【1】。

char sir[]="Hello!";int number;number=sizeof(sty);

(2)关键字case和default只能在【2】语句中出现。

(3)若有说明“int a[]-[4]={1, 2, 3, 4, 5, 6, 7, 8, 9};”,则数组a第一维的大小是【3】。

(4)设有如下声明和语句:

int a=2,b,c=5;scanf("%d",&b);b=c--||scanf("%d",&c)&&a++;

该程序段执行时,若从键盘输入的数据是4__3(__代表空格键),则变量c的值为【1】。

(5)在用fopen函数打开一个已经存在的数据文件abc时,若要求既可以读出abc文件中原来的内容,也

可以用新的数据覆盖文件原来的数据,则调用fopen函数时,使用的存取方式参数应当是【5】。

●阅读程序题(共13分)

(6)以下程序运行时输出结粜是【6】。

#include

#include

main()

{ char arr[2][4];

strcpy(arr[0],"you");strcpy(arr[1],"me"); arr[0][3]='&';printf("%s\n" arr[0]);}

(7)以下程序运行时输出结果是【7】。

#include

main()

{ int s,i,sum(int);

for(i=1;i<=5;i++) s=sum(i); printf("%d\n",s);}

sum(int k)

{ static int x=0;return x+=k;}

(8)以下程序运行时输出结果为【8】。

#include

main()

{ printf("%d\n",f(21,35));}

int f(int a,int b)

{ if(a==b)return a;

else if(a>b) return f(a-b,b);

else retum f(a,b-a);}

(9)以下程序运行时,输出结果的第一行是【9】,第二行是【10】。

#include

int t(int x,int y,int*ep,int*dp)

{ x=x*x;y=y*y; *cp=x+y; *dp=x-y;}

main()

{ int a=4,b=3,c=5,d=6; t(a,b,&c,&d); printf("%d,%d\n%d,%d",a,b,c,d);}

(10)以下程序运行时,输出结果的第一行是【11】,第二行是【12】。

#include

void change(int x,int m)

{ char ch[]={'0','2','3','4','5','6','7','8','9'},b[80];int i=0,r;

while(x) { r=x%m;x/=m;b[i++]=ch[r];}

for(--i;i>=0;i--) printf("%c",b[i]);}

main()

{ int a,b; change(10,2);printf("\n");change(10,8);}

(11)以下程序执行时,输出结果的第一行是【13】,第二行是【14】,第三行是【15】。

#include

#define N20

main()

{ int i,j,k,n,arr[N][N]; k=1,i=0;n=3;

while(i

{ for(j=i;j

for(j=n-i-2;j>=i;j--) arr[n-i-1][j]=k++;

for(j=n-i-2;j>=i;j--) arr[j][i]=k++;

for(j=i+1;j<=n-i-2;j++) arr[i][j]=k++;

i++:}

if(n%2) arr[i][i]=k;

for(i=0;i

prinrf("\n");}}

(12)以下程序运行时,输出结果的第一行是【16】,第二行是【17】,第三行是【18】。

#include

#include

struet node

{ char info[5];struct node*link;};

main()

{ struct node*create(char*);

void print(struet node*);

struct node*head=NULL; char c[]="the teacher";

head=create(c); print(head); struct node*create(char*s)

{ int k;struct node *h,*p; h=NULL;

while(*s)

{ k=0; p=(struct node *)malloc(sizeof(struct node));

while(k<4&&*s) P->info[k++]=* s++;

P->info[k]='\0';p->link=h; h=p;}

return h;}

void print(struct node *head)

{ struct node *P=head;

while(p!=NULL) { puts(p->info); p=p->link; }}

●完善程序题(共12分)

(13)以下程序的功能是:实现两个复数相加的计算并输出运算结果。

#include

#include

struct complex

{ float r,i;};

struct complex *cal(struct complex *x1,strnct complex *x2)

{ struct complex *p;

p=( 【19】) malloc(sizeof(struct complex));

p=>r=(*x1).r+(*x2).r; p=>i=(*x1).i+(*x2).i; 【20】;}

main()

{ struct complex *p,x,y;

scanf("%f%f%f%f",&x.r,&x.i,&y.r,&y.i); p=cal(&x,&y);

printf("result:%.2f+%.2fi", 【21】; free(p);}

(14)以下程序中函数float fun(int n)的功能是:根据下列公式计算并返回s的值(n≥0)。

s=n∑i=0 (-1)i 2×i+1

#include

float fun(int n)

{ float s=0.0,w,f=-1.0;int i;

for(i=0;i<=n;i++) {f= 【22】;w=f/(2*i+1); 【23】;}

return s;}

main()

{ int n=5;float s; 【24】; printf("%f\n",s);}

(15)以下程序的功能是:首先对字符串s1和s2分别按字典序排序,然后将sl和s2有序合并为字符串

s3并同时删除s3中重复出现的字符,最后输出字符串s3。例如,当字符串sl和s2分别是“good”

和“morning”时,程序应输出“dgimnor”。

#include

#include

void merge(char *x,char *y,char *z)

{ char t;int i=0,j=0,k=-1;

while( 【25】)

{ if(x[i]

else t=y[j++];

while(x[i]==t) i++;

while(y[j]==t) j++; 【26】=t;}

while(x[i]) if(x[i]!=z[k]) z[++k]=x[i++];

else i++;

while(y[j]) if(y[j]!=z[k]) z[++k]=y[j++];

else j++; z[++k]='\0';}

void sort(char s[])

{ int i,j,k,n;char t; n=strlen(s);

for(i=0;i

{ 【27】; for(j=i+1;js[j])k=j; if(k!=i) {t=s[k];s[k]=s[i];s[i]=t;}}} main()

{ char s1[100]="good",s2[100]="moming",s3[200];

sort(s1);sort(s2); merge(sl,s2,s3);puts(s3);}

(16)以下程序的功能是:对于一个长度不超过50的字符串S,按输入的命令进缔删除、插入字符的操作。

删除和插入命令的格式如下:

1.删除命令格式:D a (a表示被删除的字符)。

命令功能:从字符串S中删除字符a,若S串中有多个a,只删除第一个。

例如,S字符串为“This is a book.”,执行命令“D s”后,S字符串变为“Thi is a book.”

2.插入命令格式:I al a2(a1表示定位字符,a2表示要插入的字符)。

命令功能:将字符a2插入到字符串S中最后一个出现的字符a1的前面。

例如,S字符串为“This is a book.”,执行命令“I s d”后,S字符串变为“This ids a

book.”

#include

#inelude

void delete(char s[],char c);

void insert(char s[],char c1,char c2)

main()

{ char s[50]="This is a book.",op,c1[2],c2[2];int i,p,k;

printf("\nInput command\n"); scanf("%c", 【28】;

switch(op)

{ case'D':scanf("%s",c1);delete(s,c1[0]);break;

case'I':scanf("%s%s",c1,c2); insert(s,c1[0],c2[0]);break;

defauIt:printf("\nCommand format error!\n");return 1; }

printf("%s\n",s);}

void delete(char s[],char c)

{ int i,n=-1;

for(i=0;s[i]!='\0';i++) if(s[i]==c) { n=i;break;}

if(n==-1) {printf("\nThere is no\'%c\'in the\"%s\"\n",c,s);exit(1);}

for(i=n;s[i]!='\0';i++) s[i]= 【29】;}

void insert(char s[],char c1,char c2)

{ int i,n=-1,m;

for(i=0;s[i]!='\0';i++) if(s[i]==c1) n=i;

if(n==-1) { printf("\nThere is no\'%c\'in the\"%s\"\n",c1,s);exit(0);} m=strlen(s);

for(i=m;i>n;i--) s[i]=s[i-1];

【30】;}

相关主题
文本预览
相关文档 最新文档