计算机二级C语言试题11.doc_第1页
计算机二级C语言试题11.doc_第2页
计算机二级C语言试题11.doc_第3页
计算机二级C语言试题11.doc_第4页
计算机二级C语言试题11.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一套一、选择题(1)(40)题每小题1分,(41)(50)题每小题2分,共计60分。下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 在计算机中,一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随CPU的型号而定(2) 计算机网络的突出优点是A) 速度快 B) 资源共享 C) 精度高 D) 容量大(3) 计算机网络能传送的信息是:A) 所有的多媒体信息 B) 只有文本信息 C) 除声音外的所有信息 D) 文本和图像信息(4) 切断计算机电源后,下列存储器中的信息会丢失的是:A) RAM B) ROM C) 软盘 D) 硬盘(5) 十进制数127转换成二进制数是A) 11111111 B) 01111111 C) 10000000 D) 11111110(6) 要想打印存放在当前盘当前目录上所有扩展名为.TXT 的文件内容, 应该使用的DOS命令为A) DIR *.TXTPRN B) TYPE *.TXTPRNC) COPY *.TXT PRN D) COPY *.TXTPRN(7) 将当前盘当前目录及其子目录中的全部文件 (总量不足1.2MB) 复制到一张空的A盘的根目录下,应该使用的DOS命令为A) XCOPY *.*A: /M B) XCOPY *.*A: /SC) XCOPY *.*A: /P D) XCOPY *.*A: /A(8) 在C盘根目录下执行PROMPT $p$g命令之后,DOS的提示符变为A) C: B) C: C) C D) C:(9) DOS命令 COPY CON DISP中的CON代表A) 子目录 B) 磁盘文件 C) 键盘 D) 显示器(10) 结构化程序设计所规定的三种基本控制结构是A) 输入、处理、输出 B) 树形、网形、环形C) 顺序、选择、循环 D) 主程序、子程序、函数(11) 要把高级语言编写的源程序转换为目标程序,需要使用A) 编辑程序 B) 驱动程序 C) 诊断程序 D) 编译程序(12) 英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为A) 50 B) 66 C) 52 D) 68(13) Windows环境下,PrintScreen键的作用是A) 复制当前窗口到剪贴板 B) 打印当前窗口的内容C) 复制屏幕到剪贴板 D) 打印屏幕内容(14) 在Windows环境下,为了终止应用程序的运行,应A) 关闭该应用程序窗口 B) 最小化该应用程序窗口C) 双击该应用程序窗口的标题栏 D) 将该应用程序窗口移出屏幕(15) 下列各带有通配符的文件名中,能代表文件XYZ.TXT的是A) *Z.? B) X*.* C) ?Z,TXT D) ?.?(16) 若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为A) 1.4 B) 1 C) 2.0 D) 2(17) 若变量a是int类型,并执行了语句:a=A+1.6;,则正确的叙述是A) a的值是字符C B) a的值是浮点型C) 不允许字符型和浮点型相加 D) a的值是字符A的ASCII值加上1(18) 以下程序段的输出结果是int a=1234;printf(%2dn,a);A) 12 B) 34 C) 1234 D) 提示出错、无结果(19) 以下选项中不属于C语言的类型的是A) signed short imt B) unsigned long intC) unsigned int D) long short(20) 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A) scanf(%d%d%d,&a,&b,d); B) scanf(%d%d%d,&a,&b,&d);C) scanf(%d%d%d,a,b,d); D) scanf(%d%d%d,a,b,*d);(21) 在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是A) a=20000+20000; B) a=4000*10;C) a=30000+10000; D) a=4000L*10L;(22) 以下叙述正确的是A) 可以把define和if定义为用户标识符B) 可以把define定义为用户标识符,但不能把if定义为用户标识符C) 可以把if定义为用户标识符,但不能把define定义为用户标识符D) define和if都不能定义为用户标识符(23) 若定义:int a=511,*b=&a;, 则printf(%dn,*b);的输出结果为A) 无确定值 B) a的地址 C) 512 D) 511(24) 以下程序的输出结果是main() int a=5,b=4,c=6,d;printf(%dn,d=ab?(ac?a:c):(b);A) 5 B) 4 C) 6 D) 不确定(25) 以下程序中,while循环的循环次数是main() int i=0;while(i10) if(i1) continue;if(I=5) break; i+;.A) 1 B) 10C) 6 D) 死循环,不能确定次数(26) 以下程序的输出结果是main() int a=0,i;for(i=;i5;i+) switch(i) case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;printf(%dn,a);A) 31 B) 13 C) 10 D) 20(27) 以下程序的输出结果是main() int a=4,b=5,c=0,d;d=!a&!b|!c;printf(%dn,d); A) 1 B) 0 C) 非0的数 D) -1(28) 以下程序的输出结果是#include main() int i=0,a=0;while(i=A&ch=Z) ch=ch-A+a;return ch;main() char s=ABC+abc=defDEF,*p=s;while(*p) *p=cchar(*p);p+;printf(%sn,s);A) abc+ABC=DEFdef B) abc+abc=defdefC) abcaABCDEFdef D) abcabcdefdef(30) 以下程序的输出结果是int f() static int i=0;int s=1;s+=i; i+;return s; main() int i,a=0;for(i=0;is B) *p*s C) apas D) p-ap-s(34) 以下程序的输出结果是main() char cf35=AAAA,BBB,CC;printf(%sn,ch1);A) AAAA B) BBB C) BBBCC D) CC(35) 在C语言中,形参的缺省存储类是A) auto B) register C) static D) extern(36) 若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是A) p=2*(int*)malloc(sizeof(int);B) p=(int*)malloc(2*sizeof(int);C) p=(int*)malloc(2*2);D) p=(int*)calloc(2,sizeof(int);(37) 以下程序的输出结果是main() char x=040; printf(%0n,x1);A) 100 B) 80 C) 64 D) 32(38) 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A) fopen(A:userabc.txt,r) B) fopen(A:userabc.txt,r+)C) fopen(A:userabc.txt,rb) C) fopen(A:userabc.txt,w)(39) 以下不能正确进行字符串赋初值的语句是A) char str5=good!; B) char str=good!;C) char *str=good!; D) char str5=g,o,o,d;(40) 若有下面的说明和定义:struct test int ml; char m2; float m3;union uu char ul5; int u22; ua; myaa;则sizeof(struct test )的值是A) 12 B) 16 C) 14 D) 9(41) 若有定义:int aa 8;。则以下表达式中不能代表数组元aa1的地址的是A) &aa0+1 B) &aa1 C) &aa0+ D) aa+1(42) 以下程序的输出结果是f(int b,int m,int n) int i,s=0;for(i=m;ireturn s;main()int x,a=1,2,3,4,5,6,7,8,9;x=f(a,3,7);printf(%dn,x);A) 10 B) 18 C) 8 D) 15(43) 若有以下定义和语句:int s45,(*ps)5;ps=s;则对s数组元素的正确引用形式是A) ps+1 B) *(ps+3) C) ps02 D) *(ps+1)+3(44) 以下程序的输出结果是main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i3;i+) for(j=i;j=b1) strcpy(b2,pb);printf(%dn,strlen(b2);A) 8 B) 3 C) 1 D) 7(46) 在说明语句:int *f();中,标识符f代表的是A) 一个用于指向整型数据的指针变量B) 一个用于指向一维数组的行指针C) 一个用于指向函数的指针变量D) 一个返回值为指针型的函数名(47) 不合法的main函数命令行参数表示形式是A) main(int a,char *c) B) main(int arc,char *arv)C) main(int argc,char *argv) D) main(int argv,char *argc)(48) 以下程序的输出的结果是int x=3;main() int i; for (i=1;incre() staic int x=1;x*=x+1;printf( %d,x);A) 3 3 B) 2 2 C) 2 6 D) 2 5(49) 若以下定义:struct link int data;struck link *next;a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:a bdata next data next 5 9 0 pcdata next 7 q指针p指向变量a,q指向变量c。则能够把c插入到a和b 之间并形成新的链表的语句组是:A) a.next=c; c.next=b; B) p.next=q; q.next=p.next;C) p-next=&c; q-next=p-next; D) (*p).next=q; (*q).next=&b;(50) 设有以下说明语句typedef struct int n;char ch8;PER;则下面叙述中正确的是A) PER 是结构体变量名 B) PER是结构体类型名C) typedef struct 是结构体类型 D) struct 是结构体类型名二、填空题(每空2分,共40分)请将每一个空的正确答案写在答案卡上,答在试卷上不得分。(1) 为了要将当前盘目录中的可执行程序ABC.EXE的输出结果存放到当前盘当前目录中的文件OUT.TXT中,则应使用的DOS命令为【1】 。(2) 计算机网络分为广域网和局域网,因特网属于【2】 。(3) 要想在当前目录下方便地执行C盘UCDOS目录中的程序,就应该先执行预设搜索路径的命令,该DOS命令为【3】 。(4) 要查看当前目录中扩展名为.DAT的所有文件目录,应该使用的DOS 命令为【4】 。(5) 在Windows环境下,当进行复制操作时,其复制的内容将存放在【5】中。(6) 若从键盘输入58,则以下程序输出的结果是 【6】 。main() int a;scanf(%d,&a);if(a50) printf(%d,a);if(a40) printf(%d,a);if(a30) printf(%d,a);(7) 以下程序的输出结果是【7】 。main() int a=177;printf(%on,a);(8) 以下程序的输出结果是【8】 。 main() int a=0a+=(a=8);printf(%dn,a); (9) 以下程序输出的结果是【9】 。main() int a=5,b=4,c=3,d;d=(abc);printf(%dn,d);(10) 以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针.请将定义补充完整。struct node int info; 【10】 link;(11) 以下程序的输出结果是【11】 。main() int s,i; for(s=0,i=1;i3;i+,s+=i); printf(%dn,s);(12) 以下程序的输出结果是【12】 。main() char *p=abcdefgh,*r; long *q; q=(long*)p; q+; r=(char*)q; printf(%sn,r);(13) 以下程序的输出结果是【13】 。main() char s=abcdef; s3=0; printf(%sn,s);(14) 以下程序的输出结果是【14】 。main() int x=0;sub(&x,8,1);printf(%dn,x);sub(int *a,int n,int k) if(k=n) sub(a,n/2,2*k);*a+=k;(15) 设有如下宏定义#define MYSWAP(z,x,y) z=x; x=y; y=z;以下程序段通过宏调用实现变量a、b内容交换,请填空。float a=5,b=16,c;MYSWAP( 【15】 ,a,b);(16) 以下程序用来统计文件中字符个数。请填空。 #include stdio.h main() FILE *fp; long num=0L; if(fp=fopen(fname.dat,r)=NULL) pirntf(Open errorn); exit(0); while( 【16】 ) fgetc(fp); num+; printf(num=%1dn,num-1); fclose(fp); (17) 以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#define N 3#define M 3 select(int aNM,int *n) int i,j,row=1,colum=1;for(i=0;iN;I+)for(j=0;jarowcolum)row=i;colum=j;*n= 【17】;return 【18】; main() int aNM=9,11,23,6,1,15,9,17,20,max,n; max=select(a,&n); printf(max=%d,line=%dn,max,n); (18) mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。int mystrlen(char *str) int i;for(i=0; 【19】!=0;i+);return(【20】);一、选择题((1)(40)每小题1分,(41)(55)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 用8位无符号二进制数能表示的最大十进制数为A) 127 B) 128 C) 255 D) 256(2) 在64位高档微机中,一个字长所占的二进制位数为A) 8 B) 16 C) 32 D) 64(3) 在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住A) Alt键 B)Esc键 C)Shift键 D)Ctrl键(4) 在Windows菜单中,暗淡(灰色)的命令项表示该命令A) 暂时不能用 B) 正在执行 C) 包含下一层菜单 D) 包含对话框(5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为A) TYPE B) TYPE/H C) TYPE/* D) TYPE/?(6) 下列选项中,能作为合法DOS文件名的是A) ANP/A.DAT B) ABCCOM C) ECD.BASIC D) XY+Z.TXT(7) 下列叙述中正确的是A) 在Windows环境下,最大化的窗口是不能移动的B) 在Windows环境下,应用程序窗口最小化后,该应用程序暂停执行C) 在Windows环境下,只有最小化的窗口才能关闭D) 在Windows环境下,不能关闭最大化的窗口(8) 在Windows环境下,工具栏中的复制按钮是A) 打印机图标 B) 剪刀标志 C) 复制标志 D) 粘贴标志(9) 在Windows98环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按A) Ctrl+PrintScreen键 B) Alt+PrintScree键C) Shift+PrintScreen键 D) PrintScreen键(10) 目前,计算机病毒扩散最快的途径是A) 通过软件复制 B) 通过网络传播C) 通过磁盘考贝 D) 运行游戏软件(11) 以下叙述中正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点(12) C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构 B) if、switch、breakC) for、while、do-while D) if、for、continue(13) 在一个C程序中A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置(14) 下列叙述中正确的是A) C语言中既有逻辑类型也有集合类型B) C语言中没有逻辑类型但有集合类型C) C语言中有逻辑类型但没有集合类型D) C语言中既没有逻辑类型也没有集合类型(15) 下列关于C语言用户标识符的叙述中正确的是A)用户标识符中可以出现在下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头(16) 若有以下程序段(n所赋的是八进制数)int m=32767,n=032767printf(%d,%o/n,m,n);执行后输出结果是A) 32767,32767 B) 32767,032767C) 32767,77777 D) 32767,077777(17) 下列关于单目运算符+、-的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量(18) 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf(%Xn,m);执行后输出结果是A) 0X0 B) 0x0 C) 0 D) 0XABC(19) 有以下程序段int m=0,n=0; char c=a; scanf(%d%c%d,&m,&c,&n); printf(%d,%c,%dn,m,c,n);若从键盘上输入:10A10,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0(20) 有以下程序main() int i; for(i=0;ibc)printf(%dn,d); else if(c-1=d)=1)printf(%dn,d+1); elseprintf(%dn,d+2)执行后输出结果是A) 2 B) 3 C) 4 D) 编译时有错,无结果(23) 有以下程序main() int p7=11,13,14,15,16,17,18,i=0,k=0; while(i7&pi%2)k=k+pi;i+; printf(%dn,k);执行后输出结果是A) 58 B) 56 C) 45 D) 24(24) 有以下程序main() int i=0,s=0;doif(i%2)i+;continue;i+;s +=i;while(iy?x:y; int f2(int x,int y) return xy?y:x; main() int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c);e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf(%d,%d,%dn,d,f,e);执行后输出结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 3,5,4(28) 有如下程序void f(int x,int y) int t; if(xy)t=x,x=y;main() int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(%d,%d,%dn,a,b,c);执行后输出结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5(29) 若有以下定义和语句#include int a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是A) *q=0; B) w=p; C) *p=a; D) *p=*w;(30) 有以下程序int *f(int *x,int *y) if(*x*y) return x; else return y;main() int a=7,b=8,*p,*q,*r;执行后输出结果是A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,8(31) 有以下程序main() char *s=one,two,three,*p; p=s1; printf(%c,%sn,*(p+1),s0);执行后输出结果是A) n,two B) t,one C)w,one D) o,two(32) 有以下程序main() int x8=8,7,6,5,0,0,*s; s=x+3 printf(%dn,s2);执行后输出结果是A) 随机值 B) 0 C) 5 D) 6(33) 以下能正确定义数组并正确赋初值的语句是A) int N=5,bNN; B) int a12=1,3;C) int c2=1,2,3,4; D) int d32=1,2,34;(34) 有以下程序main() int m3=1,4,7,2,5,8,3,6,9; int i,j,k=2; for(i=0;i3;i+) printf(%d,mki); 执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9(35) 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#define N 10void arrin(int xN) int i=0; while(i=0;ps-) puts(ps);执行后的输出结果是A) yz B) z C) z D) xxyz yz yz xyxyz xyz(42) 有以下程序main() int a3=1,2,3,4,5,0,*pa3,i;pa=a;for(i=0;i3;i+)if(i2) pa1i=pa1i-1;else pa1i=1;printf(%dn,a01+a11+a12);执行后输出结果是A) 7 B) 6 C) 8 D) 无确定值(43) 有以下程序void fun(int *a,int i,int j) int t;if(iJ) t=ai;ai=aj;aj=t; fun(a,+i,-j); main() int a=1,2,3,4,5,6,i; fun(a,0,5) for(i=0;i6;i+) printf(%d,ai);执行后的输出结果是A) 6 5 4 3 2 1 B) 4 3 2 1 5 6 C) 4 5 6 1 2 3 D) 1 2 3 4 5 6(44) 有以下程序main(int arge,char *argv) int n,i=0;while(arv1i!=0 n=fun(); i+; printf(%dn,n*argc);)int fun() static int s=0; s+=1; return s;假设程序经编译、连接后生成可执行文件exam.exe,若键入以下命令行exam 123则运行结果为A 6 B)8 C)3 D)4(45) 以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是A) main() B) main int *p; int *p; fun(p); fun(&p); int fun(int *p) int fun(int *p) int s; p=&s; int s;*p=&s;C) #include D) #include main() main() int *p; int *p; fun(&p); fun(p); int fun(int *p) int fun(int *p) *p=(int *)malloc(2); p=(int *)malloc(sizeo(int);(46) 若要说明一个类型名STP,使得定义语句STP s等价于char *s,以下选项中正确的是A) typedef STP char *s; B) typedef *char STP;C) typedef stp *char; D) typedef char* STP;(47) 设有如下定义struct ss char name10; int age; char sex;std3,*p=std;下面各输入语句中错误的是A) scanf(%d,&(*p).age); B) scanf(%s,&);C) scanf(%c,&std0.sex) D) scanf(%c,&(p-sex);(48) 设char型变量x中的值为10100111,则表达式(2+x)(3)的值是A) 10101001 B) 10101000 C) 11111101 D) 01010101(49) 以下叙述中不正确的是A)语言中的文本文件以ASC码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论