收藏 分销(赏)

2023年4月全国计算机等级考试二级C笔试试卷含答案.doc

上传人:二*** 文档编号:4517243 上传时间:2024-09-26 格式:DOC 页数:21 大小:38.04KB 下载积分:5 金币
下载 相关 举报
2023年4月全国计算机等级考试二级C笔试试卷含答案.doc_第1页
第1页 / 共21页
本文档共21页,全文阅读请下载到手机保存,查看更方便
资源描述
2023年4月全国计算机等级考试二级C笔试试卷(含答案)  一、选择题((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、break C) 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=032767 printf("%d,%o/n",m,n); 执行后输出结果是 A) 32767,32767 B) 32767,032767 C) 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);  else printf("%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(x<Y){ } } main() { int a=4,b=3,c=5;  f(a,b); f(a,c); f(b,c);  printf("%d,%d,%d\n",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=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 10 void arrin(int x[N]) { int i=0;  while(i<N)  scanf("%d", ); } 在下划线处应填入的是 A) x+i B)&x[i+1] C)x+(i++) D)&x[++i] (36) 有以下程序 main() { char s[]="\n123\\";  printf("%d,%d\n",strlen(s),sizeof(s)); } 执行后输出结果是 A) 赋初值的字符串有错 B) 6,7 C) 5,6 D) 6,6 (37) 阅读以下函数 fun(char *s1,char *s2) { int i=0; while(s1[i]==s2[i]&& s2[i]!='\0')i++; return(s1[i]== && s2{i}!=='\0'); } 此函数的功能是 A) 将s2所指字符串赋给s1 B) 比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0 C) 比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0 D) 比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0 (38) 以下叙述中对的的是 A) 全局变量的作用域一定比局部变量的作用域范围大 B)静态(static)类别变量的生存期贯穿于整个程序的运营期间 C)函数的形参都属于全局变量 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值 (39) 设有如下说明 typedef struct { int n; char c; double x;}STD; 则以下选项中,能对的定义结构体数组并赋初值的语句是 A) STD tt[2]={{1,'A',62},{2, 'B',75}}; B) STD tt[2]={1,"A",62},2, "B",75}; C) struct tt[2]={{1,'A'},{2, 'B'}}; D)structtt[2]={{1,"A",62.5},{2, "B",75.0}}; (40) 有以下程序 main() { union { unsigned int n;  unsigned char c;  }u1;  ul.c=`A`;  printf("%c\n",u1.n); }  执行后输出结果是 A) 产生语法错 B) 随机值 C) A D) 65 (41) 有以下程序 main() { char str[]="xyz",*ps=str; while(*ps)ps++; for(ps--;ps-str>=0;ps--) puts(ps); } 执行后的输出结果是 A) yz B) z C) z D) x xyz yz yz xy xyz xyz (42) 有以下程序 main() { int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i; pa=a; for(i=0;i<3;i++) if(i<2) pa[1][i]=pa[1][i]-1; else pa[1][i]=1; printf("%d\n",a[0][1]+a[1][1]+a[1][2]); } 执行后输出结果是 A) 7 B) 6 C) 8 D) 无拟定值 (43) 有以下程序 void fun(int *a,int i,int j) { int t; if(i<J)  { t=a[i];a[i]=a[j];a[j]=t;  fun(a,++i,--j);  } } main() { int a[]={1,2,3,4,5,6},i;  fun(a,0,5)  for(i=0;i<6;i++)  printf("%d",a[i]); } 执行后的输出结果是 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(arv[1][i]!='\0' { n=fun(); i++;}  printf(%d\n",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 name[10];  int age;  char sex; }std[3],*p=std; 下面各输入语句中错误的是 A) scanf("%d",&(*p).age); B) scanf("%s",&std.name); C) scanf("%c",&std[0].sex) D) scanf("%c",&(p->sex)); (48) 设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是 A) 10101001 B) 10101000 C) 11111101 D) 01010101 (49) 以下叙述中不对的的是 A)C语言中的文本文献以ASCⅡ码形式存储数据 B)C语言中对二进制文献的访问速度比文本文献快 C)C语言中,随机读写方式不合用于文本文献 D)C语言中,顺序读写方式不合用于二进制文献 (50) 以下程序企图把从终端输入的字符输出到名为abc.txt的文献中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。 #include main() { FILE *fout; char ch;  fout=fopen('abc.txt','w'); ch=fgetc(stdin); while(ch!='#')  { fputc(ch,fout);  ch=fgetc(stdin);  }  fclose(fout); }  犯错的因素是 A) 函数fopen调用形式错误 B) 输入文献没有关闭 C) 函数fgetc调用形式错误 D) 文献指针stdin没有定义 二、填空题(每空2分,共20分) 请将每空的对的答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。 (1) 用十六进制绘存储器中的字节地址进行编号,若地址编号从000到FFFF,则该存诸器的容量为【1】KB。 (2) 假设在当前盘的当前目录下有两个文献A.TXT和B.TXT,现要将文献B.TXT合并连接到文献A.TXT的后面。若使用COPY命令,则完整的命令为【2】。 (3) E-mail地址由用户和域名两部分组成,这两部分的分隔符为【3】。 (4) 假设在当前盘当前目录下有一个可执行程序USER.EXE。现要执行该程序,并规定在执行过程中将显示输出的结果信息存入当前盘当前目录的文献OUT.DAT中,则完整的DOS命令为【4】。 (5) 在DOS环境下,表达打印机的设备文献名为【5】 。 (6) 若有语句 int i=-19,j=i%4;  printf("%d\n",j); 则输出结果是 【6】 。 (7) 若有程序 main() { int i,j;  scanf("i=%d,j=%d";&i,&j);  printf("i=%d,j=%d\n",i,j); } 规定给i赋10,给j赋20,则应当从键盘输入 【7】 。 (8) 若有以下程序 main() { int p,a=5;  if(p=a!=0)  printf("%d\n",p);  else  printf("%d\n",p+2); } 执行后输出结果是 【8】 。 (9) 若有以下程序 main() { int a=4,b=3,c=5,t=0;  if(a  if(a  printf("%d %d %d\n",a,b,c); } 执行后输出结果是 【9】 。 (10) 若有以下程序 main() { int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};  int i,j,s=0;  for(i=0;i<4;i++)  { for(j=0;j<4;j++)  { if(a[i][j]<0)continue;  if(a[i][j]==0)break;  s+=a[i][j];  }  }  printf("%d\n",s); } 执行后输出的结果是 【10】 。 (11) 若有以下程序 main() { char a;  a='H'-'A'+'0';  print("%c\n",a); } 执行后的输出结果是 【11】 。 (12) 若有以下程序 int f(int x,int y) { return(y-x)*x; } main() { int a=3,b=4,c=5,d;  d=f(f(3,4),f(3,5));  printf("%d\n",d); } 执行后输出的结果是【12】。 (13) 函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1  其构成规律是: 第0列元素和主对角线无素均为1 其余元素为其左上方和正上方元素之和 数据的个数每行递增1 请将程序补充完整。 #defint N 6 void YangHui(int *[N][N]) { int i,j;  x[0][0]=1  for(i=1;i<N;I++)  { x[i][0]= 【13】 =1;  for(j=1;j<I;J++)  x[i][j]= 【14】 ;  } } (14) 以下函数的功能是删除字符串s中的所有数字字符。请填空。 void dele(char *s) { int n=0,i;  for(i=0,s[i];i++)  if(【15】)  s[n++]=s[i]; s[n]=【16】; }  (15) 设函数findbig已定义为求3个数中的最大值。以下程序将运用函数指针调用findbig函数。请填空。 main() { int findbig(int,int,int);  int (*f)(),x,yz,z,big;  f=【17】;  scanf("%d%d%d",&x,&y,&z);  big=(*f)(x,y,z);  printf("bing=%d\n",big); } (16) 以下程序的输出结果是【18】 。 #defint MCRA(m) 2*m #define MCRB(n,m) 2*MCRA(n)+m main() { int i=2,j=3;  printf("%d\n",MCRB(j,MCRA(i))); } (17) 设有以下定义 struct ss { int info;struct ss *link;}x,y,z; 且已建立如下图所示链表结构: □□ →□□→□□ X Y Z 请写出删除点y的赋值语句【19】 。 (18) 已有文本文献test.txt,其中的内容为:Hello,everyone!。以下程序中,文献test.txt已对的为"读"而打开,由文献指针fr指向该文献,则程序的输出结果是 【20】 。 #include main() { FILE *fr; char str[40]; ……  fgets(str,5,fr);  printf("%s\n",str);  fclose(fr); } 2023年4月全国计算机等级考试二级C笔试答案 一、选择题 1-5:CDDAD 6-10:BACDB 11-15:CABDB 16-20:ADCAA 21-25:CBDAB 26-30:DCDAB 31-35:CBDCC 36-40:CCBAC 41-45:CAAAC 46-50:DBDDA 二、填空题 (1) 64 (2) COPY A.TXT+B.TXT A.TXT (3) @ (4) USER >OUT.DAT (5) PRN或LPT1或LPT2 (6) -3 (7) i=10,j=20 (8) 1 (9) 5 0 3 (10) 58 (11) 7 (12) 9 (13) x[i][i]和x[i-1][j-1]+x[i-1][j] (14) !(s[i]>='0'&&s[i]<='9')和'\0' (15) findbig (16) 16 (17) x.link=y.link; (18) Hell
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服