江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2015年6月江苏省计算机二级C增考真题

20156月份增考

江苏省计算机等级考试二级C真题

本套题目的全部视频详细讲解见:http://school.njwww.net/kecheng/detail_823027

第1部分  基础知识

1.下列关于信息技术的叙述中,错误的是________

A.信息技术的发展历史不足百年,它是随着计算机技术的发展而逐渐发展起来的

B.信息技术已经成为当今社会最有活力,最有效益的生产力之一

C.现代信息技术的主要特点之一是以电()信号来传输信息

D.目前常讲的新一代信息技术包括大数据、云计算、移动互联网等技术

 

2.下列关于目前台式PC机的叙述中,错误的是______

A.芯片组是PC机各组成部分相互连接和通信的枢纽,它实现了PC机总线的功能

B.大多数CPU芯片中集成有高速缓冲存储器(cache),其工作速度很快(CPU速度相差不大)

C.目前PCI-E总线是PC机最为重要的I/O总线之一,大多数的独立显卡使用该总线接口

D.USB3.0USB2.0的接口连接器相同,区别在于前者的数据传输速度是后者的一倍以上

 

3.下列关于I//O设备的叙述中,错误的是______

A.目前键盘和鼠标等设备可以通过无线方式与PC主机相连接

B.光学分辨率是扫描仪的主要性能指标之一,目前普通家用扫描仪的分辨率已达几千dpi

C.传统显示器的宽度与高度之比一般是1:1,现在主流的液晶显示器的宽高之比是4:3

D.目前用于打印数码照片的打印机主要是喷墨打印机

 

4.下列关于PC机外存储器,错误的是__________

A.移动硬盘通常采用USB接口或eSata接口,可随时插上或拔下(即支持"热插拔")

B.存储卡是闪存做成的一种固态存储器,所有存储卡的形状,大小,接口都是相同的

C.固态硬盘(简称SSD)是基于半导体存储器芯片的一种存储设备,其接口规范、功能及使用方法与普通硬盘几乎相同

D.DVD盘片有单面单层、单面双层、双面单层和双面双层等品种,单面单层的120mm DVD存储容器约4.7GB

 

5.从操作系统发布的时间来看,下列四个Windows操作系统中最早发布的是________

 A.Windows Xp

 B.Windows 2000

 C.Windows Vista

 D.Windows 7

 

6.下面给出的四个语言中,不属于程序设计语言的是______

 A.Lisp语言

 B.Matlab语言

 C.Html语言

 D.Ada语言

 

7.下列关于数字通信技术的叙述中,错误的是________

 A.光纤具有通信容量大,传输距离远,不会受高压线和雷电电磁感应影响

 B.移动通信技术的发展已经历的四代,目前我国所有的智能手机均使用3G

 C.我国自行研发的北斗卫星导航定位系统日趋成熟,并已逐渐投入商业运行

 D.路由器的主要作用是将两个或多个计算机网络进行互连

 

8.Internet使用TCP/IP协议实现了全球范围的计算机网络的互连,连接在

Internet上的每一台主机都有一个IP地址,目前使用的IPv4标准,IP地址为_____

 A.32

 B.64

 C.96

 D.128

 

9.在下列的汉字标准中,不属于汉字编码标准的是______

 A.GB2312-80

 B.GB8566-88

 C.GBK

 D.GB18030-2000

 

10.由于采用的压缩编码方式及数据组织方式的不同,声音文件形成了

多种不同的文件格式,在下列四种文件中,不属于数字声音文件的是_____

A.APE

B.WMA

C.MP3

D.TIF

 

C程序设计理论部分

 

1.以下叙述中正确的是_________

  A.一个用C语言编写的程序在运行时总是从main函数开始逐条执行语句

  B.main函数是系统库函数

  C.main函数中每行只能写一条语句

  D.main函数必须出现在所有其他函数之前

2.若已有声明 "double a[2][3]={1,2,3,4,5,6};",则下列表达式中

不能正确引用a[1][1]的表达式是________

A.*(a[0]+4)

B.*(a[1]+1)

C.*(*(a+3)+1)

D.*(*a+4)

 

3.下列程序运行时输出结果是_______

#include

int x=1;

int f(int y);

int main()

{

  printf("%d",f(x));

  return 0;

}

#define x 2

int f(int y)

{

  return x+y;

}

A.1  B.2  C.3  D.4

 

4.以下均为函数形式参数声明,其中正确的是_____

A. int a[]  B.int a[][]  C.int a[2][]  D.int a[]={0}

 

5.已知有结构类型定义和变量声明:

struct student

{

  int num;

  char name[10];

}stu={1,"Mary"},*p=&stu;

下列语句中错误的是_____

A.printf("%d",stu.num);

B.printf("%d",&stu->num);

C.printf("%d",(&stu)->num);

D.printf("%d",p->num);

 

6.填空

以下程序运行时输出到屏幕的结果中第一行是______第二行是_______

#include

#define UP 2

#define DN (2+UP)

#define HI DN/2

int main()

{

  printf("%d\n%d",DN,((UP+DN)*HI)/2);

  return 0;

}

 

7.填空题

以下程序运行时输出到屏幕的结果中第一行是_____第二行是_______

#include

int main()

{

  char str[]="dog",*s=str,*s1,*s2,ch;

  while(*s) s++;

  s1=str;  s2=s-1;

  while(s2>s1)

  {

   ch=*s1;  *s1=*s2; *s2=ch;

   s1++;  s2--;

  }

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

  return 0;

}

 

8.填空题

以下程序运行时输出到屏幕的结果中第一行是______,第二行是_______

#include

#define N  3

int main()

{

  int i,j,k=1, a[N][N]={0};

  for(i=0;i

  {

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

      a[j][i-j]=k++;

  }

  for(;i<2*N-1;i++)

  {

   for(j=i+1-N; j<=N-1;j++)

     a[j][i-j]=k++;

  }

  for(i=0;i

  {

    for(j=0;j

      printf("-",a[i][j]);

    printf("\n");

  }

  return 0;

}

 

9.填空题

以下程序运行时输出到屏幕的结果是_____

#include

long fun(long x)

{

  if(x<10)  return x;

  else

  {

    long y=x/10, z=x;

    while(y>0)

    { z=z*10;  y/=10;  }

    return z+fun(x/10);

  }

}

 

int main()

{

  printf("%ld",fun(123));

  return 0;

}

 

10.填空题

以下程序运行时输出到屏幕的结果中第一行是______,第二行是_____,第三行是_____

#include

#include

typedef struct node

{

  int d;

  struct node *next;

}NODE;

NODE *insert(NODE *head, int x, int key)

{

   NODE *s,*p,*q;

   s=(NODE *)malloc(sizeof(NODE));

   s->d=key;

   s->next=NULL;

   if(head==NULL)

   { head=s;  return head; }

   if(head->d==x)

   {s->next=head;  head=s;  return head;}

   else

   {

      q=head;  p=q->next;

      while((p->d!=x) && (p->next !=NULL))

      {q=p;  p=p->next;  }

      if(p->d==x)

      {s->next=p;  q->next=s;  }

      else

      { s->next=NULL; p->next=s; }

      return head;

    }

}

 

void print(NODE *head)

{

  if(head==NULL) return;

  while(head->next!=NULL)

  {

    printf("%d,", head->d);

    head=head->next;

  }

  printf("%d \n",head->d);

}

 

 

int main()

{

  NODE *head=NULL;

  head=insert(head,0,3);  print(head);

  head=insert(head,3,1);  print(head);

  head=insert(head,4,5);  print(head);

  return 0;

}

 

C操作题部分

1.完善程序:

【要求】

1.打开T盘中文件myf0.c,依据以下程序功能将文件中的序号(1)--(4)替换

为相应的代码

2.修改后的源程序仍保存在Tmyf0.c文件中

【程序功能】

  以下程序用[2,20]之间的所有整数验证定理:对于任意一个正整数,都可以找到

至少一串连续奇数,它们的和等于该正整数的立方。

  例如: 2*2*2=8=3+5,  3*3*3=27=7+9+11, 4*4*4=64=1+3+5+7+9+11+13+15

【待完善的源程序】

 #include

#include

int main()

{  long n,i,k,j,p,sum;

   for(     (1)      ) 

   {  k=n*n*n;

      for(i=1;i     (2)      )  

      {   for(j=i,sum=0;     (3)       ;j+=2)                

                  sum+=j;

        if(sum==k)

        {   printf("\n%ld*%ld*%ld=%ld=",n,n,n,sum);

                for(p=i;p <      (4)       ;p+=2) printf("%ld+",p);   

                printf("%ld",p);

             break;

       }

     }

     if(i>=k/2)printf(" \n error! ");

  }

  getch();

  return 0;

}

 

 

 

 

2.(改错题)

【要求】

1.打开T盘中文件myf1.c,依据以下程序功能改正文件中程序的错误

2.可以修改语句中的一部分内容,调整语句次序,增加少量的变量声明或

预出来命令,但不能增加其他语句,也不能删去整条语句

3.修改后的源程序仍保存在Tmyf1.c文件中

 

【程序功能】

  在某数组所存储的N个整数中找出最小值和最大值,将最小值移到第一个

整数之前,将最大值移到最后一个整数之后,其他整数保持相对存储位置不变

【测试数据与运行结果】

 处理前数组中数据:  8,5,6,9,4,1,-1,7,3,2

 处理后数组中数据:  -1,8,5,6,4,1,7,3,2,9

 

【含有错误的源程序】

#include

#include

#define N =10                                 

void crl(int *a)

{  int i,j,max=0,min=0,temp;

   for(i=1;ia[i]) min=i;

   temp=a[min];

   j=min;

   while(j>0)

   {  a[j]=a[j-1];

      j--;

   }

   a[0]=temp;

   for(i=1;i

   temp=a[max];

   j=max;

   while(j

   {  a[j]=a[j-1];                           

      j++;

   }

   a[N-1]=temp;

}

int main()

{  int a[N]={8,5,6,9,4,1,-1,7,3,2},i;

   crl(int a);                                  

   for(i=0;i

     printf("]",*a+i);   

   printf("\n");

   getch();

   return 0;

}

 

3.编程题

【要求】

1.打开T盘中文件myf2.c,在其中输入所编写的程序

2.数据文件myf2.out的打开,使用,关闭均用C语言标准库中缓冲文件系统的

文件操作函数实现

【程序功能】

在一个字符串中的所有数字字符子串前插入指定字符

【编程要求】

1.编写函数char *insert(char *p)。函数功能:p指向的字符串中所有连续的

数字字符子串前插入一个'$'符号。函数返回p指向字符串的起始地址

2.编写main函数。函数功能:声明一个字符型数组并用所给测试字符串初始化该数

组,用该数组作实参调用insert函数对数组中字符串做处理,将处理后的字符串

输出到显示器及myf2.out中。最后将考生本人的准考证号字符串输出到myf2.out文件

【测试数据与运行结果】

处理前的字符串:  "AB1CD12EF123GH"

处理后的字符串:  "AB$1CD$12EF$123GH"

 

填空题答案

(1)n=2 ;  n<=20;  n++

(2)i+=2 i=i+2

(3)sum

(4)j-2

改错题答案

(1)#define N =10     修改为  #define N 10

(2)a[j]=a[j-1];      修改为  a[j]=a[j+1]

(3)crl(inta);        修改为  crl(a)

(4)printf("]",*a+i);    修改为printf("]",a[i]);printf("]",*(a+i));

 

编程题答案

 

 

本套题目的全部视频详细讲解见:http://school.njwww.net/kecheng/detail_823027