网站首页 考研英语 考研政治 考研数学 考研真题 中考 高考 自考 英语 计算机 公务员 求职 留学 校园
考研词汇 | 阅读理解 | 考研作文 | 听力翻译 | 英语复习 | 时事政策 | 政治复习 | 政治题库 | 政治笔记 | 高等数学 | 线性代数
数学复习 | 数学题库 | 英语真题 | 数学真题 | 政治真题 | 专业真题 | 中考作文 | 中考试题 | 高考作文 | 高考志愿 | 高考语文
自考试题 | 自考指南 | 英语四级 | 英语六级 | 四级作文 | 六级作文 | 留学政策 | 海外生活 | 签证面试 | 留学故事 | 旅游签证
成人高考 | 会计职称 | 执业医师 | 工程硕士 | 法律硕士 | 金融英语 | 职称英语 | 司法考试 | 律师考试 | 注册会计 | 雅思 | 托福 | 证券
 当前位置:首页>>计算机等级考试>>计算机等级考试二级>>2004年9月全国计算机等级考试二级C笔试试题(含参考答案)

2004年9月全国计算机等级考试二级C笔试试题(含参考答案)

来源:www.stu88.com 时间:2006-01-08
1.与十进制数200等值的十六进制数为 
  A) A8 B)A4 C)C8 D)C4 
  2.DOS文件系统的组织结构属于
  A)星形结构 B)网形结构 C) 环形结构 D)树形结构 
  3. 对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为
  A)1KB B)2KB C)4KB D)8KB 
  4. 在DOS环境下,代表键盘和显示器的设备文件名为 
  A)PRN B)CON C)NUL D)LPT 
  5. 计算机网络的主要特点是
  A) 运算速度快 B)运算精度高 C)资源共享 D)人机交互 
  6.磁盘处于写保护状态时其中的数据
  A)不能读出,不能删改 B)可以读出,不能删改
  C)不能读出,可以删改 D)可以读出,可以删改 
  7.从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为
  A)EXIT B)QUIT C)RET D)MSDO 
  8. 在Windows环境下,若资源管理器左宣传品中的某文件夹左边标有“+”标记,则表示
  A)该文件夹为空 B)该文件夹中含有子文件夹
  C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件 
  9.在Windows菜单中,暗淡的命令名项目表示该命令
  A)暂时不能用 B)正在执行
  C)包含下一层菜单 D)包含对话框 
  10.在Windows环境下,单击当前窗口中的按钮“× ”(右上角的关闭按钮),其功能是
  A)将当前应用程序转为后台运行 B)退出Windows后再关机
  C)终止当前应用程序的运行 D)退出Windows后重新启动计算机 
  11.用C语言编写的代码程序
  A)可立即执行 B)是一个源程序
  C)经过编译即可执行 D)经过编译解释才能执行 
 
  12.结构化程序由三种基本结构组成,三种基本结构组成的算法
  A)可以完成任何复杂的任务 B)只能完成部分复杂的任务
  C)只能完成符合结构化的任务 D)只能完成一些简单的任务 13. 以下定义语句中正确的是
  13. 以下定义语句中正确的是
  A)char a='A'b='B'; B)float a=b=10.0;
  C)int a=10,*b=&a; D)float *a,b=&a; 
  14.下列选项中,不能用作标识符的是
  A)_1234_ B)_1_2 C)int_2_ D)2_int_
  } 15.有以下定义语句 
  double a,b; int w; long c;
  若各变量已正确赋值,则下列选项中正确的表达式是
  A)a=a+b=b++ B)w%(int)a+b)
  C)(c+w)%(int)a D)w=a==b; 
  16.有以下程序
  main()
  { int m=3,n=4,x;
  x=-m++;
  x=x+8/++n;
  printf("%d\n",x);
  }
  程序运行后的输出结果是
  A)3 B)5 C)-1 D)-2 
  17.有以下程序
  main()
  { char a='a',b;
  print("%c,",++a);
  printf("%c\n",b=a++);
  }
  程序运行后的输出结果是
  A)b,b B)b,c C)a,b D)a,c 
  18.有以下程序
  main()
  { int m=0256,n=256;
  printf("%o %o\n",mn,n);
  }
  程序运行后的输出结果是
  A)0256 0400 B)0256 256 C)256 400 D)400 400 
  19.有以下程序
  main()
  { int a=666,b=888;
  printf("%d\n",a,b);
  }
  程序运行后的输出结果是
  A)错误信息 B)666 C)888 D)666,888 
  20.有以下程序
  main()
  { int i;
  for(i=0;i<3;i++)
  switch(i)
  {
  case 0:printf("%d",i);
  case 2:printf("%d",i);
  default:printf("%d",i);
  }
  }
  程序运行后的输出结果是 
  A)022111 B)021021 C)000122 D)012 
  21.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 
  A)abs(x-y)<10 B)x-y>-10&& x-y<10
  C)@(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100 
  22.有以下程序
  main()
  {
  int a=3,b=4,c=5,d=2;
  if(a>b)
  if(b>c)
  printf("%d",d++ +1);
  else
  printf("%d",++d +1);
  printf("%d\n",d);
  }
  程序运行后的输出结果是
  A)2 B)3 C)43 D)44 
  23.下列条件语句中,功能与其他语句不同的是 
  A) if(a) printf("%d\n",x); else printf("%d\n",y);
  B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
  C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
  D) if(a==0) printf("%d\n",x); else printf("%d\n",y); 
  24.有以下程序
  main()
  { int i=0,x=0;
  for (;;)
  {
  if(i==3||i==5) continue;
  if (i==6) break;
  i++;
  s+=i;
  };
  printf("%d\n",s);
  }
  程序运行后的输出结果是 
  A)10 B)13 C)21 D)程序进入死循环 
  25.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是B
  A)for(i=1,p=1;i<=5;i++) p*=i;
  B)for(i=1;i<=5;i++){ p=1; p*=i;}
  C)i=1;p=1;while(i<=5){p*=i; i++;}
  D)i=1;p=1;do{p*=i; i++; }while(i<=5); 
  26.有以下程序
  main()
  { char a,b,c,d;
  scanf("%c,%c,%d,%d",&a,&b,&c,&d);
  printf("c,%c,%c,%c\n",a,b,c,d);
  } 
  若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是
  A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6 
  27)以下能正确定义二维数组的是
  A)int a[][3]; B)int a[][3]=2{2*3};
  C)int a[][3]={}; D)int a[2][3]={{1},{2},{3,4}}; 
  28. 有以下程序 
  int f(int a)
  { return a%2; }
  main()
  { int s[8]={1,3,5,2,4,6},i,d=0;
  for (i=0;f(s);i++) d+=s;
  printf("%d\n",d);
  }
  程序运行后的输出结果是 
  A)9 B)11 C)19 D)21 
 
  29.若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是
 A)p+1 B)*(p+3) 
 C)*(p+1)+3 D)*(p[0]+2])
 
  30.有以下程序 
  main()
  { int a=7,b=8,*p,*q,*r;
  p=&a;q=&b;
  r=p; p=q;q=r;
  printf("%d,%d,%d,%d\n",*p,"q,a,b);
  }
  程序运行后的输出结果是 
  A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7 
  31.s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是 
  A)if(s1>s2)S; B)if(strcmp(s1,s2))S;
  C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S; 
 
  32.设有定义语句
  int x[6]={2,4,6,8,5,7},*p=x,i;
  要求依次输出x数组6个元素中的值,不能完成此操作的语句是
  A)for(i=0;i<6;i++) printf("%2d",*(p++));
  B)for(i=0;i<6;i++) printf("%2d",*(p+i));
  C)for(i=0;i<6;i++) printf("%2d",*p++);
  D)for(i=0;i<6;i++) printf("%2d",(*p)++); 
  33.有以下程序
  #include 
  main()
  {int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
  *q=*(p+5);
  printf("%d %d\n",*p,*1);
  }
  程序运行后的输出结果是
  A)运行后报错 B)6 6 C)6 11 D)5 10 
  34有以下定义和语句
  int a[3][2]={1,2,3,4,5,6,},*p[3];
  p[0]=a[1];
  则*p[0]+1)所代表的数组元素是
  A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]
 35.有以下程序
  main()
  {char str[][10]={"China","Beijing"},*p=str;
  printf("%s\n",p+10);
  }
  程序运行后的输出结果是
  A) China B)Bejing C)ng D)ing 
 
  36. 有以下程序
  main()
  {char s[]="ABCD",*p;
  for(p=s+1;p }
  程序运行后的输出结果是
  A) ABCD B)A C)B D)BCD
  BCD B C CD
  CD C D D
  D D
  37.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则
  A)称为函数的直接递归调用 B)称为函数的间接递归调用
  C)称为函数的循环调用 D)C语言中不允许这样的递归调用
  38.已有定义:int i,a[10],*p;,则合法的赋值语句是
  A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2;
  39.以下叙述中正确的是 
  A)局部变量说明为static存储数,其生存期将得到延长
  B)全局变量说明为static存储类,其作用域将被扩大
  C)任何存储类的变量在未赋初值时,其值都是不确定的
  D)形参可以使用的存储类说明符与局部变量完全相同
  40.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是
  A)c1^c2 B)c1&c2 C)~c2 D)c1|c2
 
  41.程序中对fun函数有如下说明 
  void *fun();
  此说明的含义是: 
  A)fun了数无返回值
  B)fun函数的返回值可以是任意的数据类型
  C)fun函数的返回值是无值型的指针类型
  D)指针fun指向一个函数,该函数无返回值
 
  42.有以下程序
  main()
  { char s[]"Yes\n/No",*ps=s;
  puts(ps+4);
  *(ps+4)=0;
  puts(s);
  }
  程序运行后的输出结果是 
  A)n/No B)/No C)n/NO D)
  Yes Yes Yes /No
  /No /No Yes
  43.有以下程序 
  main()
  { unsigned int a;
  int b=-1;
  a=b;
  printf("%u",a);
  }
  程序运行后的输出结果是
  A)-1 B)65535 C)32767 D)-32768
  44.有以下程序
  void fun(int *a,int i,int j)
  { int t;
  if(i { t=a;a=a[j];a[j]=t;
  i++; j--;
  fun(a,i,j);
  }
  }
  main()
  { int x[]={2,6,18},i;
  fun(x,0,3);
  for(i=0;i<4;i++) printf("%2d",x);
  printf("\n");
  }
  程序运行后的输出结果是 
  A)1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D)8 6 1 2
  45.有以下说明和定义语句
  struct student
  { int age; char num[8];};
  struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
  struct student *p=stu;
 
  以下选项中引用结构体变量成员的表达式错误的是 
  A) (p++)->num B)p->num C)(*p).num D)stu[3].age
  46.有以下程序 
  mina()
  { int x[]={1,3,5,7,2,4,6,0},i,j,k;
  for(i=0;i<3;i++)
  for (j=2;j>=i;j--)
  if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
  for(i=0;i<3;i++)
  for(j=4;j<7-i;j++)
  if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
  for (i=0;i<3;i++)
  for(j=4;j<7-i;j++)
  if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
  for (i=0;i<8;i++) printf("%d",x);
  printf("\n");
  }
  程序运行后的输出结果是:
  A)75310246 B)01234567 C)76310462 D)13570246
  47.有如下程序
  #include 
  main()
  {FILE *fp1;
  fp1=fopen("f1.txt","w");
  fprintf(fp1,"abc");
  fclose(fp1);
  }
  若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为 
  A)goodabc B)abcd C)abc D)abcgood
  48~50.以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的
  字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出
  正确的选项。 
  #include 
  stuct node
  { char data; struct node *next;};
  (48) CreatList(char *s)
  { struct node *h,*p,*q);
  h=(struct node *) malloc(sizeof(struct node));
  p=q=h;
  while(*s!='\0')
  { p=(struct node *) malloc(sizeof(struct node));
  p->data= (49) ;
  q->next=p;
  q= (50) ;
  s++;
  }
  p->next='\0';
  return h;
  }
  main()
  { char str[]="link list";
  struct node *head;
  head=CreatList(str);
  ...
  }
  (48)A)char * B)struct node C) struct node* D) char
  (49)A)*s B)s C)*s++ D)(*s)++
  (50)A)p->next B)p C)s D)s->next
 二、填空题:(每空2分 ,共40分)
  1.在64位高档微机中,CPU能同时处理 _____ 个字节的二进制数据。
  2.E-mail地址由域名和用户名两部分组成,它们之间用@分隔,其中在@后面的部分 是 _______ 
  3.Windows窗口一般由标题栏、菜单栏、控制按钮等部分组成。为了移动窗口,则要 用鼠标拖动 _____
  4.计算机软件分为系统软件和应用软件,UNIX系统属于 ________ 。
  5.在Windows环境下,为了将屏幕内容存入剪贴板,应按 ________ 键。
  6.以下程序段的输出结果是 _____ 
  int i=9;
  printf("%o\n",i);
  7.以下程序运行后的输出结果是 _______ 。
  main()
  { int a,b,c;
  a=25;
  b=025;
  c=0x25;
  printf("%d %d %d\n',a,b,c);
  }
  8.以下程序运行后的输出结果是 ______ 。
  main()
  { int p[7]={11,13,14,15,16,17,18};
  int i=0,j=0;
  while(i<7 && p%2==1) j+=p[i++];
  printf("%d\n",j);
  }
  9.以下程序运行后的输出结果是 _______ 。
  main()
  { int x=1,y=0,a=0,b=0;
  switch(x)
  {case 1:switch(y)
  { case 0:a++; break;
  case 1:b++; break;
  }
  case 2:a++;b++; break;
  }
  printf("%d %d\n",a,b);
  }
  10.以下程序运行后的输出结果是 _______ 。
  main()
  { int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
  int i=0,j=0,s=0;
  while(i++<4)
  {
  if(i==2||i==4) continue;
  j=0;
  do{ s+= a[j]; j++; } while(j<4);
  }
  printf("%d\n",s);
  }
  11.以下程序运行后的输出结果是 _____ 。
  main ()
  { char a[]="Language",b[]="Programe";
  char *p1,*p2; int k;
  p1=a; p2=b;
  for(k=0;k<=7;k++)
  if(*p1+k)==*(p2+k)) printf("%c",*(p1+k));
  }
 
  12.以下程序运行后的输出结果是 _______ 。
  main()
  { char a[]="123456789",*p; int i=0;
  p=a;
  while(*p)
  { if(i%2==0) *p='*";
  p++;i++;
  }
  puts(a);
  }
 
  13.以下程序中, for循环体执行的次数是 _____ 。
  #define N 2
  #define M N+1
  #define K M+1*M/2
  main()
  { int i;
  for(i=1;i { ... ]
  ...
  }
 14、通过函数求f(x)的累加和,其中f(x)=x2+1
 main()
 {
 printf("The sum=%d\n",SunFun(10));
 }
 SunFun(int n)
 {
 int x,s=0;
 for(x=0;x<=n;x++) s+=F(________);
 return s;
 }
 F( int x)
 { return ____________;}
  15. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
  请填空。
  main()
  { int i,a[20],sun,count;
  suum=count=0;
  for(i=0;i<20;i++) scanf("%d", _____ );
  fro(i=0;i<20;i++)
  { if(a>0)
  { count++;
  sum+= ______ ;
  }
  }
  printf("sum=%d,count=%d\n",sum,count);
  }
  16.以下程序中,函数 
 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。
  #define M 2
  #define N 4
  void SumColumMin(int a[M][N],int *sum)
  { int i,j,k,s=0;
  for(i=0;i { k=0;
  for(j=1;j if(a[k]>a[j])k=j;
  s+= _______ ;
  }
  [*sum] =s;
  }
  main()
  { int x[M][N]={3,2,5,1,4,1,8,3},s;
  SumColumMin( _______ );
  printf("%d\n",s);
  }
 
 2004年9月二级C笔试答案
 选择题
 1-5 C D A B C
 6-10 B A B A C 
 11-15 B C C D C
 16-20 D A C B C
 21-25 C A D D B
 26-30 A C A D C
 31-35 D D A C B 
 36-40 D B D A A
 41-45 C B B C D
 46-50 A C C A B 
 填空题
 1. 8
 2. 域名
 3. 标题栏
 4. 系统软件
 5. PEINTSCREEN
 6. 11
 7. 25 21 37
 8. 24
 9. 21
 10 . 92
 11. gae
 12. 1*3*5*7*9
 13. 4 
 14. x x*x+1 
 15. &a[i] a[i]
 16. a[k][i] *sum x,&s 

下一篇:2004年4月全国计算机等级考试二级C语言笔试试卷(附参考

[编辑:煮酒论剑] [打印本页] [返回顶部↑]
相关文章
  ·2005年4月全国计算机等级考试二级笔试试卷Visual FoxPro语言  (2006-01-08)
·2004年9月全国计算机等级考试二级笔试试卷Visual FoxPro语言  (2006-01-08)
·2004年4月全国计算机等级考试二级笔试试卷Visual FoxPro语言  (2006-01-08)
·2003年9月全国计算机等级考试二级笔试试卷Visual FoxPro语言  (2006-01-08)
·2003年9月全国计算机等级考试二级笔试试卷FoxBase语言  (2006-01-08)
·2003年4月全国计算机等级考试二级笔试试卷Visual Foxpro语言  (2006-01-08)
·2002年9月全国计算机等级考试二级笔试试卷Visual FoxPro语言  (2006-01-08)
·2002年9月全国计算机等级考试二级笔试试卷FoxBase语言  (2006-01-08)
·2002年4月全国计算机等级考试二级笔试试卷FoxBase语言  (2006-01-08)
 
今日推荐
分类栏目
热点文章
·2006年4月全国计算机等级
·06年4月计算机等级考试二
·06年4月计算机等级考试二
·06年4月计算机等级考试二
·2003年9月全国计算机等级
·2005年4月全国计算机等级
·2003年4月全国计算机等级
·2004年9月全国计算机等级
·2003年9月全国计算机等级
·2001年4月二级笔试试题C
·2004年4月全国计算机等级
·1999年4月全国计算机等级
微软认证 | 思科认证 | 电子商务 | 驾照考试 | 报关考试 | 报检考试 | 在职硕士 | 教育硕士 | 城市规划 | 秘书 | 导游 | 护士 | 药师
友情链接 | 网站地图| 免责声明
Copyright ® stu88.com中国学习考试网® 版权所有