无忧首页企业系统我的无忧
无忧服务:
兼职活动培训
娱乐交友:
交友社区资讯
全职实习:
实习暑假寒假
微信号:school51
扫一下,立即关注
加关注
在线支付,立省10元
下载新版APP
===大学生成长生活平台===

2013年计算机二级考试C语言第十章课后题及参考答案

2013-03-18来源/作者:卫凯点击次数:643

第十章 字符串

  一、选择题

  10.1 以下能正确进行字符串赋值,赋初值的语句是

  A) char

  s[5]={\’\’a\’\’,\’\’e\’\’,\’\’i\’\’,\’\’o\’\’,\’\’u\’\’};

  B) char *s; s="good!";

  C) char s[5]="good!";

  D) char s[5]; s="good!";

  答案: B

  10.2 以下程序段的输出结果是

  A) 68

  B) 0

  C) 字符D的地址

  D) 不确定的值

  char str[]="ABCD",*p=str;

  printf("%d\\n",*(p+4));

  答案: B

  10.3 以下程序段的输出结果是

  A) 11

  B) 10

  C) 9

  D) 8

  printf("%d\\n",strlen("ATS\\n012\\1\\\\"));

  答案: C

  10.4 当运行以下程序时输入OPEN T H E DOOR<CR>(此处<CR>代表Enter键),则输出结果是

  A) oPEN tHE dOOR

  B) open the door

  C) OPEN T H E DOOR

  D) Open The Door

  #include "stdio.h"

  char fun(char *c)

  { if(*c<=\’\’Z\’\’&&*c>=\’\’A\’\’) *c-=\’\’A\’\’-\’\’a\’\’;

  return *c;

  }

  main()

  { char s[81],*p=s;

  gets(s);

  while (*p)

  { *p=fun(p); putchar(*p); p++; }

  putchar(\’\’\\n\’\’);

  }

  答案: B

  10.5 以下程序的输出结果是

  A)GFEDCBA

  B) AGADAGA

  C) AGAAGAG

  D) GAGGAGA

  #include "stdio.h"

  #include "string.h"

  void fun(char *w,int m)

  { char s,*p1,*p2;

  p1=w; p2=w+m-1;

  while(p1<p2)

  { s=*p1++; *p1=*p2--; *p2=s; }

  }

  main()

  { char a[]="ABCDEFG";

  fun(a,strlen(a));

  puts(a);

  }

  答案: C

计算机二级C语言章节练习在线测试
第10章 字符串 马上检测

  10.6 以下程序的输出结果是

  A) ABCD

  B) A

  C) D

  D) ABCD

  BCD B C ABC

  CD C B AB

  D D A A

  main()

  { char s[]="ABCD",*p;

  for(p=s; p<s+4; p++) printf("%s\\n",p);

  }

  答案: A

  10.7 设有如下定义:

  char *aa[2]={"abcd","ABCD"};

  则以下说法中正确的是

  A) aa数组元素的值分别是"abcd"和"ABCD"

  B) aa是指针变量,它指向含有两个数组元素的字符型一维数组

  C) aa数组的两个元素分别存放的是含有四个字符的一维数组的首地址

  D) aa数组的两个元素中各自存放了字符\’\’a\’\’和\’\’A\’\’的地址

  答案: C

  10.8 以下程序的输出结果是

  A) 6385

  B) 69825

  C) 63825

  D) 693825

  main()

  { char ch[2][5]={"6937","8254"},*p[2];

  int i,j,s=0;

  for(i=0; i<2; i++) p[i]=ch[i];

  for(i=0; i<2; i++)

  for(j=0; p[i][j]>\’\’\\0\’\’&&p[i][j]<=\’\’9\’\’; j+=2)

  s=10*s+p[i][j]-\’\’0\’\’;

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

  }

  答案: A

  10.9 以下程序的输出结果是

  A) ABCDEFGHIJKL

  B) ABCD

  C) ABCDEFGHIJKLMNOP

  D) AELM

  main()

  { char

  *alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};

  char **p;

  int i;

  p=alpha;

  for(i=0; i<4; i++) printf("%s",p[i]);

  printf("\\n");

  }

  答案: C

  10.10 库函数strcpy用以复制字符串。若有以下定义和语句:

  char str1[]="string",str2[8],*str3,*str4="string";

  则对库函数strcpy的不正确调用是

  A) strcpy(str1,"HELLO1");B) strcpy(str2,"HELLO2");

  C) strcpy(str3,"HELLO3");D) strcpy(str4,"HELLO4");

  答案: C

计算机二级C语言章节练习在线测试
第10章 字符串 马上检测

  二、填空题

  10.11 以下程序的输出结果是____。

  #include "stdio.h"

  main()

  { char b[]="ABCDEFG",*chp=&b[7];

  while(--chp>&b[0]) putchar(*chp);

  putchar(\’\’\\n\’\’);

  }

  答案: GFEDCB

  10.12 以下程序的输出结果是_____。

  #include "stdio.h"

  void fun(char *a1,char *a2,int n)

  { int k;

  for(k=0; k<n; k++)

  a2[k]=(a1[k]-\’\’A\’\’-3+26)%26+\’\’A\’\’;

  a2[n]=\’\’\\0\’\’;

  }

  main()

  { char s1[5]="ABCD",s2[5];

  fun(s1,s2,4);

  puts(s2);

  }

  答案:XYZA

  10.13 以下程序的输出结果是____。

  main()

  { char *p[]={"BOOL","OPK","H","SP"};

  int i;

  for(i=3; i>0; i--,i--) printf("%c",*p[i]);

  printf("\\n");

  }

  答案:SO

  10.14 当运行以下程序时从键盘输入字符串qwerty和abcd,则程序的输出结果是____。

  #include "string.h"

  #include "stdio.h"

  strle(char a[],char b[])

  { int num=0,n=0;

  while(*(a+num)!=\’\’\\0\’\’) num++;

  while(b[n]) { *(a+num)=b[n]; num++; n++; }

  return (num);

  }

  main()

  { char str1[81],str2[81],*p1=str1,*p2=str2;

  gets(p1); gets(p2);

  printf("%d\\n",strle(p1,p2));

  }

  答案:10

  10.15 以下程序的输出结果是____。

  #include "string.h"

  #include "ctype.h"

  void fun(char str[])

  { int i,j;

  for(i=0,j=0; str[i]; i++)

  if(isalpha(str[i])) str[j++]=str[i];

  str[j]=\’\’\\0\’\’;

  }

  main()

  { char ss[80]="It is!";

  fun(ss);

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

  }

  答案:Itiss!

  10.16 以下fun函数的功能是将一个字符串的内容颠倒过来,请填空。

  #include "string.h"

  void fun(char str[])

  { int i,j,k;

  for(i=0,j=____; i<j; i++,____)

  { k=str[i]; str[i]=str[j]; str[j]=k; }

  }

  答案:strlen(str)-1j--

  10.17 以下程序段的输出结果是_____。

  printf("%d\\n",strlen("s\\n\\0160end"));

  答案:3

  10.18 以下程序段的输出结果是_____。

  char s[20]="goodgood!",*sp=s;

  sp=sp+2;

  sp="to";

  puts(s);

  答案:goodgood!

计算机二级C语言章节练习在线测试
第10章 字符串 马上检测





相关阅读



关于我们 | 联系我们 | 用户指南 | 网站地图 | 意见建议 | 会员注册 | 用户协议 | 隐私政策