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

2013年计算机二级考试C语言课后模拟题六及答案

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

  一、单项选择题
  1.下列描述中不正确的是( C )。
  A) 字符型数组中可以存放字符串
  B) 可以对字符型数组进行整体输入、输出
  C) 可以对整型数组进行整体输入、输出
  D) 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
  2.执行下面的程序段后,变量k中的值为( A )。
  int k=3, s[2];
  s[0]=k; k=s[1]*10;
  A) 不定值 
  B) 33 
  C) 30 
  D) 10
  3.设有数组定义:char array[ ]="China"; 则数组array所占的空间为( C )。
  A) 4个字节 
  B) 5个字节 
  C) 6个字节 
  D) 7个字节
  4.下列程序执行后的输出结果是( D )。
  #include<string.h>
  main( )
  { char arr[2][4];
  strcpy(arr,"you");strcpy(arr[1],"me");
  arr[0][3]=’&’;
  printf("%s \n",arr);
  }
  A) you&me 
  B) you 
  C) me 
  D) err
  5.执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是( D )。
  main( )
  { char s[100];
  int c, i;
  scanf("%c", &C);
  scanf("%d", &i);
  scanf("%s", s);
  printf("%c, %d, %s\n", c, i,s);
  }
  A) 123,456,789 B) 1,456,789
  C) 1,23,456,789  
  D) 1,23,456
  6.假定int类型变量占用两个字节,若有定义:intx[10]={0,2,4}; 则数组x在内存中所占字节数是( D )。
  A) 3 
  B) 6 
  C) 10 
  D) 20
  7.以下程序的输出结果是( C )。
  main( )
  {int i, a[10];
  for(i=9;i>=0;i--) a[i]=10-i;
  printf("%d%d%d",a[2],a[5],a[8]);
  }
  A) 258 
  B) 741 
  C) 852 
  D) 369

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:2013年计算机二级考试C语言课后题及答案汇总 C语言章节练习在线测试

  热点关注:2013年3月计算机等级考试试题答案首发通知 悬赏征集计算机等考真题及答案

  欢迎进入:233网校“计算机二级C语言在线估分”,助大家参考练习!

  8.以下数组定义中不正确的是( D )。
  A) int a[2][3]; 
  B) int b[][3]={0,1,2,3};
  C) intc[100][100]={0}; 
  D) intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
  9.以下程序的输出结果是( A )。
  main( )
  {int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
  printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
  }
  A) 0650 
  B) 1470 
  C)5430 
  D) 输出值不定
  10.以下程序的输出结果是( B )。
  #include<string.h>
  main( )
  {char st[20]="hello\0\t\\\";
  printf(%d %d\n",strlen(st),sizeof(st));
  }
  A) 9 9 
  B) 5 20 
  C) 9 20 
  D) 20 20
  11.以下程序的输出结果是( B )。
  main( )
  {int i,k,a[10],p[3];
  k=5;
  for(i=0;i<10;i++) a[i]=i;
  for(i=0;i<3;i++) p[i]=a[i*(i+1)];
  for(i=0;i<3;i++) k+=p[i]*2;
  printf("%d\n",k);
  }
  A) 20 
  B) 21 
  C)22 
  D) 23
  12.以下程序的输出结果是( C )。
  main( )
  {int i, x[3][3]={1,2,3,4,5,6,7,8,9};
  for(i=0;i<3;i++)printf("%d", x[i][2-i]);
  }
  A) 159 
  B) 147  来源:考
  C) 357 
  D) 369
  13.以下程序的输出结果是( A )。
  main( )
  {int a[3][3]={{1,2},{3,4},{5,6}}, i, j, s=0;
  for(i=1;i<3;i++)
  for(j=0;j<=i;j++) s+=a[i][j];
  printf("%d\n", s);
  }
  A) 18 
  B) 19 
  C) 20 
  D) 21
  14.以下程序的输出结果是( D )。
  main( )
  {char w[][10]={"ABCD","EFGH","IJKL","MNOP"},k;
  for(k=1;k<3;k++)printf("%s\n",w[k]);
  }
  A) ABCD 
  B) ABCD 
  C) EFG 
  D) EFGH
  FGH EFG JK IJKL
  KL IJ O
  M

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:2013年计算机二级考试C语言课后题及答案汇总 C语言章节练习在线测试

  热点关注:2013年3月计算机等级考试试题答案首发通知 悬赏征集计算机等考真题及答案

  欢迎进入:233网校“计算机二级C语言在线估分”,助大家参考练习!

  15.当执行下面的程序时,如果输入ABC,则输出结果是( A )。
  #include<stdio.h>
  #include<string.h>
  main( )
  {char ss[10]="12345";
  gets(ss);strcat(ss,"6789");printf("%s\n",ss);
  }
  A) ABC6789 
  B) ABC67 
  C) 12345ABC6 
  D) ABC456789
  16.若要定义c为2×3×4的三维数组,正确的定义语句是( A )。
  A)float c[2][3][4] 
  B) float c[2,3,4]
  C) floatc(2,3,4)D) float c(2)(3)(4)
  17.若定义inta[2][2]={1,2,3,4},则a数组的各数组元素值分别为( A )。
  A) a[0][0]=1,a[0][1]=2,a[1][0]=3,a[1][1]=4
  B)a[0][0]=1,a[0][1]=3,a[1][0]=2,a[1][1]=4
  C)a[0][0]=4,a[0][1]=3,a[1][0]=2,a[1][1]=1
  D) a[0][0]=4,a[0][1]=2,a[1][0]=3,a[1][1]=1
  18.在下列叙述中,正确的一条是( A )。
  A) 以下语句是正确的:char c[]=”ab”;
  B) 一维数组的定义可采用下列格式:int a(10);
  C) 下面的语句定义了一个二维数组:float a[3,4];
  D) 以下两个语句中的a[3][4]的含义相同:int a[3][4]; a[3][4]=1;
  19.当输入的数据为2、5时,以下程序的输出结果是( C )。
  #include<stdio.h>
  main( )
  {intf[100],i,j,k,m;
  scanf(“%d%d”,&k,&m);
  for(i=0;i<=m;i++) f[i]=0;
  f[k-1]=1;
  for(i=k;i<=m;i++)
  for(j=i-k;j<=i-1;j++) f[i]+=f[j];
  printf(“%d%10d%10d\n”,k,m,f[m]);
  }
  A) 3 5 5 
  B) 3 5 7 
  C) 2 5 5  来源:考
  D) 3 6 9
  20.在下列语句中,正确的是( A )。
  A)char str[]=”China”;
  B) char str[];str=”China”;
  C) char str1[5],str2[]={”China”};str1=str2;
  D) char str1[],str2[];str2={”China”};strcpy(str1,str2);
  21.下面语句中不正确的是( D )。
  A) inta[5]={1,2,3,4,5};
  B) int a[5]={1,2,3};
  C) inta[]={0,0,0,0,0}; 
  D) int a[5]={0*5};

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:2013年计算机二级考试C语言课后题及答案汇总 C语言章节练习在线测试

  热点关注:2013年3月计算机等级考试试题答案首发通知 悬赏征集计算机等考真题及答案

  欢迎进入:233网校“计算机二级C语言在线估分”,助大家参考练习!

  22.若先后输入4、1、5、3、7,以下程序的输出结果为( D )。
  #defineMAX 100
  main( )
  {
  int i,j,n,flag,t,a[MAX];
  printf(“输入数据个数:”);
  scanf(“%d\n”,&n);
  for(i=1;i<=n;i++) scanf(“%d”,&a[i]);
  for(i=1;i<n;i++)
  {flag=1;
  for(j=1;j<=n-i;j++)
  if(a[j]>a[j+1])
  {flag=0;
  t=a[j];
  a[j]=a[j+1];
  a[j+1]=t;
  }
  if(flag) break;
  }
  for(i=1;i<=n;i++) printf(“%-3d”,a[i]);
  printf(“\n”);
  }
  A) 2 4 6 7 
  B) 1 2 3 4
  C) 1 5 4 7 
  D) 1 3 5 7
  23.以下程序的输出结果是( B )。
  main( )
  {int n,a[10];
  for(n=0;n<=9;n++)
  a[n]=n;
  for(n=9;n>=0;n--)
  printf(“%d”,a[n]);
  }
  A) 1 2 3 4 5 6 7 8 9 10 
  B) 9 8 7 6 5 43 2 1 0
  C) 10 9 8 7 6 5 4 3 2 1 
  D) 0 1 2 3 4 5 6 7 8 9
  24.若输入aefjhi、c、adfjhijk,以下程序的输出结果为(B )。
  #include<stdio.h>
  #include<string.h>
  main( )
  {int i;
  char string[20],str[3][20];
  for(i=0;i<3;i++) gets(str[i]);
  if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);
  else strcpy(string,str[1]);
  if(strcmp(str[2],string)>0)strcpy(string,str[2]);
  printf(“Thelargest string is\n%s\n”,string);
  }
  A) adfjhi 
  B) c 
  C) aefjhijk 
  D) aefjhi
  25.以下程序的输出结果是( A )。
  #include<stdio.h>
  #include<string.h>
  main( )
  {char str[12]={’s’,’t’,’r’,’i’,’n’,’g’};
  printf(“%d\n”,strlen(str));
  }
  A) 6 
  B) 7 
  C) 11 
  D) 12
  26.有以下程序:
  #include<stdio.h>
  #define N 6
  main( )
  {char c[N];
  int i=0;
  for(;i<N;c[i]=getchar( ),i++);
  for(i=0;i<N;putchar(c[i]),i++);
  }
  输入以下三行,每行输入都是在第一列上开始,<CR>代表一个回车符:
  a<CR>
  b<CR>
  cdef<CR>
  程序的输出结果是( C )。c[i]={'a','\0','b','\0','c','d'}
  A) abcdef 
  B) a 
  C) a 
  D) a
  b b b
  c cd d
  d cdef
  e
  f
  27.设有:char str[ ]=“Beijing”; 则执行:printf(“%d\n”,strlen(strcpy(str, “China”)));后输出的结果为( A )。"china"copyto str with '\0',it will stop when the strlen meets with '\0'.
  A) 5
  B) 7 
  C) 12 
  D) 14
  28.请选出以下程序的输出结果(A )。
  #include<stdio.h>
  main( )
  {chars1[10],s2[10],s3[10],s4[10];
  scanf(“%s%s”,s1,s2);gets(s3);gets(s4);
  puts(s1);puts(s2);puts(s3);puts(s4);
  }
  输入数据如下:(此处<CR>代表回车符)
  aaaa bbbb<CR>
  cccc dddd<CR>
  A) aaaa 
  B) aaaa 
  C) aaaa 
  D) aaaa bbbb
  bbbb bbbb bbbb cccc
  cccc cccc dddd dddd
  cccc dddd dddd eeee

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:2013年计算机二级考试C语言课后题及答案汇总 C语言章节练习在线测试

  热点关注:2013年3月计算机等级考试试题答案首发通知 悬赏征集计算机等考真题及答案

  欢迎进入:233网校“计算机二级C语言在线估分”,助大家参考练习!

  29.请读程序:
  main( )
  {int n[2],i,j,k;
  for(i=0;i<2;i++) n[i]=0;
  k=2;
  for(i=0;i<k;i++)
  for(j=0;j<k;j++) n[j]=n[i]+1;
  printf(“%d\n”,n[k]);
  }
  上面程序的输出结果是( A )。
  A) 不确定的值 
  B) 3 
  C) 2 
  D) 1
  30.请读程序片段(字符串内没有空格字符):printf(“%d\n”,strlen(“ATS\n012\1\\”));其输出结果应为( C )。
  A) 11 
  B) 10 
  C) 9 
  D) 12
  31.下述对C语言字符数组的描述中错误的是( C )。
  A) 字符数组可以存放字符串
  B) 字符数组中的字符串可以整体输入、输出
  C) 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
  D) 不可以用关系运算符对字符数组中的字符串进行比较
  32.阅读下列程序:
  main( )
  {int n[3],i,j,k;
  for(i=0;i<3;i++)
  n[i]=0;
  k=2;
  for(i=0;i<k;i++)
  for(j=0;j<k;j++)
  n[j]=n[i]+1;
  printf(“%d\n”,n[1]);
  }
  上述程序运行后,输出的结果是( D )。
  A) 2B) 1C) 0 
  D) 3
  33.以下程序的输出结果是( C )。
  main( )
  {int n[3][3], i, j;
  for(i=0;i<3;i++)
  for(j=0;j<3;j++) n[i][j]=i+j;
  for(i=0;i<2;i++)
  for(j=0;j<2;j++) n[i+1][j+1]+=n[i][j];
  printf(“%d\n”, n[i][j]);
  }
  A) 14 
  B) 0 
  C) 6 
  D) 值不确定
  34.以下语句的输出结果为( A )。
  printf(“%d\n”, strlen(“\t\”\065\xff\n”));
  A) 5 
  B) 14 
  C) 8 
  D) 输出项不合法,无正常输出
  35.合法的数组定义是( D )。
  A) int a[]=”string”; 
  B) int a[5]={0,1,2,3,4,5};
  C) char a=”string”;  
  D) char a[]={0,1,2,3,4,5};

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:2013年计算机二级考试C语言课后题及答案汇总 C语言章节练习在线测试

  热点关注:2013年3月计算机等级考试试题答案首发通知 悬赏征集计算机等考真题及答案

  欢迎进入:233网校“计算机二级C语言在线估分”,助大家参考练习!

  36.以下程序的输出结果是( D )。
  main( )
  {char w[ ][10]={"ABCD","EFGH","IJKL","MNOP"},k;
  for(k=1;k<3;k++)printf("%s\n", &w[k][k]);
  }
  A) ABCD 
  B) ABCD 
  C) EFG 
  D) FGH
  FGH EFG JK KL
  KL IJ O
  M
  37.函数调用strcat(strcpy(str1,str2), str3 )的功能是( C )。
  A) 将串str1复制到串str2中后再连接到串str3之后
  B) 将串str1连接到串str2之后再复制到串str3之后
  C) 将串str2复制到串str1中后再将串str3连接到串str1之后
  D) 将串str2连接到串str1之后再将串str1复制到串str3之后
  38.有以下定义:
  char x[ ]=“abcdefg”;
  char y[ ]={‘a’, ‘b’, ‘c’, ‘d’,‘e’, ‘f’, ‘g’};
  则正确的叙述为( C )。
  A) 数组x和数组y等价B) 数组x和数组y的长度相同
  C) 数组x的长度大于数组y的长度 
  D) 数组x的长度小余数组y的长度
  39.下面程序的运行结果是( C )。
  main( )
  {char ch[7]={"65ab21"};
  int i, s=0;
  for(i=0;ch[i]>= ‘0’&&ch[i]<=‘9’;i+=2)
  s=10*s+ch[i]-‘0’;
  printf("%d\n", s);
  }
  A) 12ba56 
  B) 6521 
  C) 6 
  D) 62
  40.以下程序运行后,输出结果是( B )。
  main( )
  {int y=18, i=0, j, a[8];
  do
  {a[i]=y%2; i++;
  y=y/2;
  }while(y>=1);
  for(j=i-1;j>=0;j--)printf("%d", a[j]);
  printf(“\n”);
  }
  A) 10000 
  B) 10010 
  C) 00110 
  D) 10100
  41.以下程序的输出结果是( D )。
  main( )
  {int n[5]={0,0,0}, i, k=2;
  for(i=0; i<k; i++) n[i]=n[i]+1;
  printf("%d\n", n[k]);
  }
  A) 不确定的值 
  B) 2 
  C) 1 
  D) 0
  42.若有定义和语句:char s[10];s=”abcd”;printf(“%s\n”,s);则输出结果是( D )。
  A) abcd 
  B) a 
  C) abc 
  D) 编译通不过

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:2013年计算机二级考试C语言课后题及答案汇总 C语言章节练习在线测试

  热点关注:2013年3月计算机等级考试试题答案首发通知 悬赏征集计算机等考真题及答案

  欢迎进入:233网校“计算机二级C语言在线估分”,助大家参考练习!

  二、填空题
  1.下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请填空。
  #include <stdio.h>
  #include <string.h>
  main( )
  {char a[ ]="clanguage", t;
  int i, j, k;
  k=strlen(a);
  for(i=0; i<=k-2; i+=2)
  for(j=i+2; j<k; j=j+2 )
  if( a[j]>a[i] )
  { t=a[i]; a[i]=a[j]; a[j]=t; }
  puts(a);
  printf("\n");
  }
  2.若有定义语句:char s[100],d[100]; int j=0, i=0;,且s中已赋字符串,请填空以实现字符串拷贝。(注:不得使用逗号表达式)
  while(s[i]){ d[j]= s[i++] ;j++;}
  d[j]=0;
  3.下列程序段的输出结果是 Hello
  main( )
  { char b[]="Hello,you";
  b[5]=0;
  printf("%s\n",
  B);
  }
  4.若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是 a=1234b=5
  char a[10], b;
  scanf(“a=%s b=%c”, a, &
  B);
  5.以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制数的形式输出,请填空。
  main( )
  {int b[16]={‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘A’, ‘B’, ‘C’,‘D’, ‘E’, ‘F’};
  int c[64], d, i=0, base;
  long n;
  printf(“Enter a number:\n”); scanf(“%ld”,&n);
  printf(“Enter new base:\n”); scanf(“%d”,&base);
  do
  {c[i]= n%base ;
  i++;
  n=n/base;
  }while(n!=0);
  printf(“Transmite new base:\n”);
  for(--i;i>=0;--i)
  {d=c[i];
  printf("%c", [ d] );
  }
  }
  6.以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中的第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdefg和abceef,则输出为-1。请填空。
  main( )
  {char str1[100], str2[100], c;
  int i, s;
  printf(“\n Input string 1:\n”); gets(str1);
  printf(“\n Input string 2:\n”); gets(str2);
  i=0;
  while((str1[i]= =str2[i])&&(str1[i]!= ' \0 ' ))
  i++;
  s= str1[i]-str2[i] ;
  printf("%d\n", s);
  }

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:2013年计算机二级考试C语言课后题及答案汇总 C语言章节练习在线测试

  热点关注:2013年3月计算机等级考试试题答案首发通知 悬赏征集计算机等考真题及答案

  欢迎进入:233网校“计算机二级C语言在线估分”,助大家参考练习!

  7.以下语句的输出结果是 2
  printf(“%d\n”,strlen(“\t\”\085\xff\n”));
  8.对数组中的元素值进行排序:
  main( )
  {int a[]={2,4,15,3,17,5,8,23,9,7,11,13}, i, j, k;
   for(k=0;k<12;k++)
  for(i=k;i<12;i++)
  if(a[i]> a[k] )
  {j=a[i];
  a[i]= a[k] ;
   a[k] =j;
  }
  for(i=0;i<12;i++)
  printf(“%4d”, a[i]);
  }
  9.由25人围坐成圆圈,先从任意一人出发用1到25顺时针依次编号,然后从1号开始顺时针报数(1、2、3、……),凡报5的倍数者出圈,剩下者继续报数,求出最后出圈者的编号。
  #include<stdio.h>
   Void main( )
  {int a[26], j, n, count;
  for(j=1;j<=25;j++) a[j]=j;
  j=1;count=0;n= 0 ;
  do
  {if(a[j]!=0) 考试大(www.Examda。com)
  {n++;
  if(n%5= =0)
  { a[j]=0 ;
  if(count= =24) printf(“%d\n”, j);
  count++;
  }
  }
  j++;
  if(j>25) j=1;
  }
  while( count<25 );
  }
  10.阅读下列程序:
  main( )
  {int i, j, row, column, m;
  int array[3][3]={{100, 200, 300}, {28, 72, -30}, {-850, 2, 6}};
  m=array[0][0];
  for(i=0; i<3; i++)
  for(j=0; j<3; j++)
  if(array[i][j]<m)
  {m=array[i][j]; row=i; column=j;}
  printf("%d, %d, %d\n", m, row,column);
  }
  上述程序的输出结果是 -850,2,0
  11.以下程序的功能是:从键盘上输入若干个学生的成绩,计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。
  main( )
  {float x[1000], sum=0.0, ave, a;
  int i, n=0;
  printf(“Enter mark:\n”); scanf(“%f”, &a);
  while(a>=0.0&&n<1000)
  {sum+= a ; x[n]= a ; n++; scanf(“%f”, &a);}
  ave= sum/n ;
  printf(“Output:\n”);
  printf(“ave=%f\n”, ave);
  for(i=0;i<n;i++)
  if( ave>a[i] ) printf(“%f\n”, x[i]);
  }

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:2013年计算机二级考试C语言课后题及答案汇总 C语言章节练习在线测试

  热点关注:2013年3月计算机等级考试试题答案首发通知 悬赏征集计算机等考真题及答案

  欢迎进入:233网校“计算机二级C语言在线估分”,助大家参考练习!





相关阅读



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