全国计算机等级考试二级笔试试卷基础知识和C程序设计(考试时间120分钟,满分100分)2023年4月一、选择题((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语言用户标记符的叙述中对的的是用户标记符中可以出现在下划线和中划线(减号)用户标记符中不可以出现中划线,但可以出现下划线用户标记符中可以出现下划线,但不可以放在用户标记符的开头用户标记符中可以出现在下划线和数字,它们都可以放在用户标记符的开头(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("%X\n",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,%d\n",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;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); }}执行后输出结果是A) 011122 B) 012 C) 012023 D) 120(21) 有以下程序main(){ int i=1,j=1,k=2; if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执行后输出结果是A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,3(22) 有以下程序main(){ int a=5,b=4,c=3,d=2; if(a>b>c)printf("%d\n",d); else if((c-1>=d)==1)printf("%d\n",d+1); elseprintf("%d\n",d+2)}执行后输出结果是A) 2 B) 3 C) 4 D) 编译时有错,无结果(23) 有以下程序main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i];i++;} printf("%d\n",k);}执行后输出结果是A) 58 B) 56 C) 45 D) 24(24) 有以下程序main(){ int i=0,s=0;do{if(i%2){i++;continue;}i++;s +=i;}while(i<7); printf("%d\n",s);}执行后输出结果是A) 16 B) 12 C) 28 D) 21(25) 有以下程序main(){ int i=10,j=1; printf("%d,%d\n",i--,++j);}执行后输出结果是A) 9,2 B) 10,2 C) 9,1 D) 10,1(26) 有以下程序main(){ char a,b,c,*d; a=’\’; b=‘\xbc’; c=‘\0xab’; d="\017"; print("%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中对的的是A) 程序中只有a=’\’;语句不对的 B) b=‘\xbc’;语句不对的C) d="\0127";语句不对的 D) a=’\’;和c=‘\0xab’;语句都不对的(27) 有以下程序int fl(int x,int y){ return x>y?x:y; }int f2(int x,int y){ return x>y?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,%d\n",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(xint 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=s[1]; printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是A) n,two B) t,one C)w,one D) o,two(32) 有以下程序main(){ int x[8]={8,7,6,5,0,0},*s; s=x+3 printf("%d\n",s[2]);}执行后输出结果是A) 随机值 B) 0 C) 5 D) 6(33) 以下能对的定义数组并对的赋初值的语句是A) int N=5,b[N][N]; B) int a[1][2]={{1},{3}};C) int c[2][]={{1,2},{3,4}}; D) int d[3][2]={{1,2},{34}};(34) 有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9(35) 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
define N 10void arrin(int x[N]){ int i=0; while(i