资源描述
计算机与信息科学类试题一、 选择题(1)(40)每题1分,(41)(50)每题2分,共60分)1、 1MB等于(D)A)1000字节 B)1024字节 C)10001000字节 D)10241024字节2、 与十六进制数200等值得十进制数为(B)A)256 B)512 C)1024 D)20483、 所谓“裸机“是指(C)A)单片机B)单板机 C)不装备任何软件的计算机 D)只装备操作系统的计算机4、 能将高级语言编写的源程序转换为目标程序的是(C)A)链接程序 B)解释程序 C)编译程序 D)编辑程序5、 在64为计算机中,一个字长所占字节数为(B)A)64 B)8 C)4 D)16、 在Windows环境下,当一个应用程序窗口被最小化后,该应用程序(A)A)继续在后台运行 B)继续在前台运行 C)终止运行 D)暂停运行7、在Windows环境下,能实现窗口移动的操作是(D)A)用鼠标拖动窗口中的任何部位 B)用鼠标拖动窗口的边框C)用鼠标拖动窗口的控制按钮 D)用鼠标拖动窗口的标题栏。8、 在Windows环境下,PrintScreen键的作用是(C)A)打印当前窗口的内容 B)打印屏幕内容C)复制屏幕到剪贴板 D)复制当前窗口到剪贴板9、 Internet的通信协议是(A)A)TCP/IP B)BBS C)WWW D)FTP10、 下列叙述中正确的是(D)A)计算机病毒只感染可执行文件B)计算机病毒只感染文本文件C)计算机病毒只能通过软件复制的方式进行传播D)计算机病毒可以通过网络或读写磁盘方式进行传播11、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是(B)A)有零个或多个输入 B)有零个或多个输出 C)有穷性 D)可行性12、 以下叙述中正确的是(B)A)C语言的源程序不必通过编译就可以直接运行B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令C)C源程序经编译形成的二进制代码可以直接运行D)C语言中的函数不可以单独进行编译13、 以下符合C语言语法的实型常量是(C)A)1.2E0.5 B)3.14.159E C).5E-3 D)E1514、 以下4组用户定义标识符中,全部合法的一组是(A)A)_main B)If C)txt D)int enclude -max REAL k_2 sin turbo 3COM _00115、 若以下选项中的变量已正确定义,则正确的赋值语句是(C)A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;16、 设有以下定义int a=0; double b=1.25;char c=A;#define d 2则下面语句中错误的是(D)A)a+; B)b+ C)c+; D)d+;17、 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 计算结果不相符的是(B)A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)18、 有以下程序main( )int x=102,y=012; printf(“%2d,%2d”,x,y); 执行后输出结果是(C)A)10,01 B002,12 C)102,10 D)02,1019、以下4个选项中,不能看作一条语句的是(D)A); B)a=0,b=0,c=0; C)if(a0); D)if(b=0) m=1;n=2;20、设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是(A)A)scanf(“%d”,pa); B)scanf(“%d”,a);C)scanf(“%d”,&pa); D)scanf(“%d”,*pa);21、以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是(A)A)if(ab)&(bc) k=1; B) if(ab)|(bc) k=1 else k=0;C)if(ab) k=1; else if(bc) k=1else k=0; 22、有以下程序main( ) char k; int I; for(i=1;i3;i+) scanf(“%c”,&k); switch(k) case 0: printf(“another”); case 1: printf(“number”); 程序运行时,从键盘输入:01,程序执行后的输出结果是(C)A) another B)another C)another D)number number number number number another number 23、有以下程序main( ) int x=0,y=5,z=3; while(z-0&+x5) y=y-1; printf(“%d,%d,%d”,x,y,z); 程序执行后的输出结果是(B)A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-524、有以下程序main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%d”,s); 程序执行后的输出结果是(D)A)自然数19的累加和 B)自然数110的累加和 C)自然数19中的奇数之和 D)自然数110中的偶数之和25、有以下程序main( ) int i,n=0; for(i=2;i5;i+) do if(i%3) continue; n+; while(!i); n+; printf(“n=%d”,n); 程序执行后的输出结果是(D)A)n=5 B)n=2 C)n=3 D) n=426、若程序中定义了以下函数 double myadd(double a,double b) return (a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A)A)double myadd(double a,b); B)double myadd(double,double);C)double myadd(double b,double a); D)double myadd(double x,double y);27、有以下程序 char fun(char x , char y) if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%d”,x,y,z); 执行后输出结果是(C)A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,130、有以下程序段int ( ) int aa10=1,2,3,4?PYH?鲍鹬凳牵)A)5 B)6 C)8 D)931、有以下程序main( ) char a=”abcdefg”,b10=”abcdefg”; printf(“%d %d”,sizeof(a),sizeof(b); 执行后输出结果是(C)A)7 7 B)8 8 C)8 10 D)10 1032、有以下程序void swap1(int c) int t; t=c0;c0=c1;c1=t;void swap2(int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;b中的值是(D)A)5 B)6 C)8 D)931、有以下程序main( ) char a=”abcdefg”,b10=”abcdefg”; printf(“%d %d”,sizeof(a),sizeof(b); 执行后输出结果是(C)A)7 7 B)8 8 C)8 10 D)10 1032、有以下程序void swap1(int c) int t; t=c0;c0=c1;c1=t;void swap2(int ,5,6,7,8,9,10,i; for(i=2;i=0;i-) sum(&aa); printf(“%d”,aa0); 执行后的输出结果是(Aelse k=0; 22、有以下程序main( ) char k; int I; for(i=1;i3;i+) scanf(“%c”,&k); switch(k) case 0: printf(“another”); case 1: printf(“number”); 程序运行时,从键盘输入:01,程序执行后的输出结果是(C)A) another B)another C)another D)number number number number number another number 23、有以下程序main( ) int x=0,y=5,z=3; while(z-0&+x5) y=y-1; printf(“%d,%d,%d”,x,y,z); 程序执行后的输出结果是(B)A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-524、有以下程序main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%d”,s); 程序执行后的输出结果是(D)A)自然数19的累加和 B)自然数110的累加和 C)自然数19中的奇数之和 D)自然数110中的偶数之和25、有以下程序main( ) int i,n=0; for(i=2;i5;i+) do if(i%3) continue; n+; while(!i); n+; printf(“n=%d”,n); 程序执行后的输出结果是(D)A)n=5 B)n=2 C)n=3 D) n=426、若程序中定义了以下函数 double myadd(double a,double b) return (a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A)A)double myadd(double a,b); B)double myadd(double,double);C)double myadd(double b,double a); D)double myadd(double x,double y);27、有以下程序 char fun(char x , char y) if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%d”,x,y,z); 执行后输出结果是(C)A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,130、有以下程序段int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;b中的值是(D)A)5 B)6 C)8 D)931、有以下程序main( ) char a=”abcdefg”,b10=”abcdefg”; printf(“%d %d”,sizeof(a),sizeof(b); 执行后输出结果是(C)A)7 7 B)8 8 C)8 10 D)10 1032、有以下程序void swap1(int c) int t; t=c0;c0=c1;c1=t;void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t;main( ) int a2=3,5,b2=3,5; swap1(a); swap2(b0,b1); printf(“%d %d %d %d”,a0,a1,b0,b1); 其输出结果是(B)A)5 3 5 3 B) 5 3 3 5 C)3 5 3 5 D)3 5 5 333、有以下程序void sum(int *a) a0=a1;main( ) int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=2;i=0;i-) sum(&aa); printf(“%d”,aa0); 执行后的输出结果是(A#include struct NODE int num; struct NODE *next; ;main( ) struct NODE *p,*q,*r; int sum=0; p=(struct NODE *)malloc(sizeof(struct NODE); q=(struct NODE *)malloc(sizeof(struct NODE); r=(struct NODE *)malloc(sizeof(struct NODE);p-num=1;q-num=2;r-num=3;p-next=q;q-next=r;r-next=NULL;sum+=q-next-num;sum+=p-num;printf(“%d”,sum); 执行后的输出结果是(B)A)3 B)4 C)5 D)649、有以下程序#include main( ) FILE *fp; int i,k=0,n=0; fp=fopen(“d1.dat”,”w”); for(i=1;i4;i+) fprintf(fp,”%d”,i); fclose(fp); fp=fopen(“d1.dat”,”r”); fscanf(fp,”%d%d”,&k,&n); printf(“%d %d”,k,n); fclose(fp); 执行后输出结果是(B)A)1 2 B)123 0 C)1 23 D) 0 050、有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)#include main( ) FILE *fp; int i,a4=1,2,3,4,b; fp=fopen(data.dat,wb); for(i=0;i4;i+) fwrite(&a,sizeof(int),1,fp); fclose(fp); fp=fopen(data.dat,rb); fseek(fp,-2L*sizeof(int).SEEK_END); fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中* fclose(fp); printf(%d,b); 执行后输出结果是(D)A)2 B)1 C) 4 D)3二、填空题(每空2分,共40分)1、E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【】。2、计算机网络分为广域网和局域网,因特网属于【广域网】。3、从Windows环境进入MSDOS方式后,返回Windows环境的DOS命令为【EXIT】。4、在Windows环境下,只要在“开始”菜单中单击【文档】选项,就可以查阅最近打开过的文档清单。5、计算机的运算速度可以用MIPS来描述,1MIPS是指每秒执行【百万条或一百万条或1000000条】条指令。6、已知字符A的ACSII码值为65,以下语句的输出结果是【B 66】 char ch=B; printf(“%c %d”,ch,ch);7、有以下语句段 int n1=10,n2=20; printf(“【n1=%dn2=%d】”,n1.n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=208、有以下程序main( )BR int t=1,i=5;for(;i=0;i-) t*=i;printf(“%d”,t); 执行后输出结果是【0】。9、有以下程序main( ) int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%d”,x); 执行后输出结果是【-4】。 10、有以下程序#include main( ) char ch1,ch2; int n1,n2; ch1=getchar(); ch2=getchar(); n1=ch1-0; n2=n1*10+(ch2-0); printf(“%d”,n2); 程序运行时输入:12,执行后输出结果是【12】。11、有以下程序void f( int y,int *x)y=y+*x; *x=*x+y;main( ) int x=2,y=4; f(y,&x); printf(“%d %d”,x,y); 执行后输出的结果是【8 4】。12、函数fun的功能是计算xndouble fun(double x,int n) int i; double y=1; for(i=1;i=n;i+) y=y*x; return y; 主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调用语句为【fun(a,4)+fun(b,4)-fun(a+b,3)】。13、下面rotate函数的功能是:将n行n列的矩阵A转置为A,例如: 1 2 3 4 1 5 9 13 5 6 7 8 2 6 10 14 当 A 9 10 11 12 则 A= 3 7 11 15 13 14 15 16 4 8 12 1 请填空#define N 4void rotate(int aN) int i,j,t; for(i=0;iN;i+) for(j=0;【j=i】;j+) t=aj; 【aj=aj】; aj=t; 14、以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。void sstrcpy(char *s,char *t) while(*s+=【*t+】);main( ) char str1100,str2=”abcdefgh”; sstrcpy(str1,str2); printf(“%s”,str1);15、下列程序的运行结果是:【6】#include char *ss(char *s) return s+strlen(s)/2;main( ) char *p,*str=”abcdefgh”; p=ss(str); printf(“%s”,p);16、下面程序的运行结果是:【efgh】int f( int a, int n) if(n1) return a0+f(&a1,n-1);else return a0;main ( ) int aa3=1,2,3,s; s=f(&aa0,3); printf(“%d”,s);17、以下程序中给指针p分配三个double型动态内存单元,请填空。# include main ( ) double *pp=(double *) malloc(【3*sizeof(double)】); p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%f”,p0,p1,p2);18、以下程序的运行结果是【2002Shangxian】# include typedef struct student char name10; long sno; float score; STU;main( ) STU a=“zhangsan”,2001,95,b=“Shangxian”,2002,90,c=“Anhua”,2003,95,d,*p=&d; d=a; if(strcmp(a.name,b.name)0) d=b; if(strcmp(c.name,d.name)0) d=c; printf(“%ld%s”,d.sno,p-name);19、以下sum函数的功能是计算下列级数之和。S=1x+x2/2!+x3/3!+.+xn/n!请给函数中的各变量正确赋初值。double sum( double x, int n ) int i; double a,b,s; 【a=1.0;b=1.0;s=1.0;BR】 for( i=1;i=n;i+) a=a*x; b=b*i; s=s+a/b; return s;
展开阅读全文