欢迎您访问浙江自考网!  今天是
当前位置: > 历年真题 >

浙江省2014年4月自学考试02243计算机软件基础(一)试题

2015-05-26 15:49来源:浙江自考网
浙江省2014年4月高等教育自学考试
计算机软件基础(一)试题
课程代码:02243
    本试卷分A、B卷,
选择题部分
 
一、单项选择题(本大题共18小题,每小题1分,共18分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。
1.以下选项中,合法的用户标识符是
A.long                                   B._2abc
C.3dmax                                  D.A.dat
2.以下选项中可作为C语言合法整数的是
A.10110B                                 B.0386
C.0Xffa                                  D.x2a2
3.假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是
A.7                                      B.8
C.6                                      D.2
 
 
4.阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为
#include "stdio.h"
main()
{ int a,b;
scanf("%d%d",&a,&b);
printf("a+b=%d\n",a+b);
}
A.a+b=46                                 B.有语法错误
C.a+b=12                                 D.不确定值
5.已有定义:int x=3,y=4,z=5;则表达式!(x+y)+z-1&& y+z/2的值是
A.6                                      B.0
C.2                                      D.1
6.以下程序的运行结果是
#include"stdio.h"
main()
{
int a=2,b=-1,c=2;
if(a<b)
if(b<0)
c=0;
else c++;
printf("%d\n",c);
}
A.0                                      B.1
C.2                                      D.3
7.数据库文件的扩展名是
A.DBF;                                   B.DBC;
C.DBT;                                   D.FPT;
8.在Visual FoxPro中,创建一个名为SDB.DBC的数据库文件,使用的命令是
A.CREATE                                 B.CREATE SDB
C.CREATE TABLE SDB                       D.CREATE DATABASE SDB
9.下列关于数据库系统的叙述中,正确的是
A.表的字段之间和记录之间都存在联系
B.表的字段之间和记录之间都不存在联系
C.表的字段之间不存在联系,而记录之间存在联系
D.表中只有字段之间存在联系
10.SQL的数据操作语句不包括
A.INSERT                                 B.UPDATE
C.DELETE                                 D.CHANGE
11.对表记录排序应该使用的命令是
A.INDEX                                  B.SORT
C.LINE                                   D.CREATE
12.下列数据中,______是非线性数据结构。
A.栈                                     B.队列
C.完全二叉树                             D.堆
13.下面说法错误的是
(1)算法原地工作的含义是指不需要任何额外的辅助空间
(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法
(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
(4)同一个算法,实现语言的级别越高,执行效率就越低
A.(1)                                    B.(1),(2)
C.(1),(4)                                D.(3)
14.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用______存储方式最节省运算时间。
A.单链表                                 B.仅有头指针的单循环链表
C.双链表                                 D.仅有尾指针的单循环链表
15.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用______最节省时间。
A.单链表                                 B.单循环链表
C.带尾指针的单循环链表                   D.带头结点的双循环链表
16.有六个元素按6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?
A.5 4 3 6 1 2                            B.4 5 3 1 2 6
C.3 4 6 5 2 1                            D.2 3 4 1 5 6
17.一个递归算法必须包括
A.递归部分                               B.终止条件和递归部分
C.迭代部分                               D.终止条件和迭代部分
18.假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=
A.808                                    B.818
C.1010                                   D.1020
 
二、填空题(本大题共7小题,每空2分,共22分)
19.C语言中,唯一的三目运算符是______,而&&是______目运算符。
20.执行下列程序段后,i的值是______,j的值是______。
int i,j=5;
for(i=0;i<3;i++)
j=j+i;
21.以下程序的运行结果是______。
#include "stdio.h"
main()
{
  int a,b,c,s,w,t;
  s=w=t=0;
  a=-1;b=3;c=3;
  if(c>0)s=a+b;
  if(a<=0)
  {if(b>0)
      if(c<=0)w=a-b;
  }
  else if(c>0)w=a-b;
else t=c;
  printf("%d  %d  %d",s,w,t);
}
22.外排序的基本操作过程是______和______。
23.C语言中,要动态申请内存空间可使用函数______;要释放动态空间可使用函数______。
24.从平均时间性能而言,______排序最佳。
25.使用SQL命令在表stud2.dbf中插入一条记录:学号为“991201”,选课为“VFP程序设计”,命令是:Insert______。
三、程序阅读(本大题共3小题,每小题6分,共18分)
26.程序一(6分)
下面程序运行的结果是______
#include<stdio.h>
#include<string.h>
void sort(char*name[],int);
void print(char*name[],int);
void main()
{
    char*name[]={"Follow me","BASIC",
      "Great Wall","FORTRAN","Computer"};
    int n=5;
    sort(name,n);
    print(name,n);
}
void sort(char*name[],int n)
{  char*temp;
int i,j,k;
    for(i=0;i<n-1;i++)
    {   k=i;
for(j=i+1;j<n;j++)
   if(strcmp(name[k],name[j])>0)  k=j;
if(k!=i)
       {
          temp=name[i];
          name[i]=name[k];
          name[k]=temp;}
  }
}
void print(char*name[],int n)
{
    int i;
    for(i=0;i<n;i++)
     puts(name[i]);
}
27.程序二(6分)
输入17,下面程序执行的结果是______
    #include<stdio.h>
    #include<math.h>
    void main()
    {
      int m,i,k;
      scanf("%d",&m);
      k=sqrt(m);
      for(i=2;i<=k;i++)
if(m%i==0)break;
      if(i>k)
printf("%d is a prime number\n",m);
      else
           printf("%d is not a prime number\n",m);
    }
28.程序三(6分)
下面程序运行的结果是______
#include<stdio.h>
struct NODE
{
    int k;
    struct NODE *link;
};
void main()
{
     struct NODE m[5],*p=m,*q=m+4;
     int i=0;
     while(p!=q)
      {
        p->k=++i;/*p指向k*/
        p++;
        q->k=i++;
        q--;
      }
      q->k=i;
      for(i=0;i<5;i++)
printf("%d",m[i].k);
      printf("\n");
}
四、程序填空(本大题共4小题,共22分)
29.(2分)下面程序的功能是求一维数组中的最小元素。
findmin(int*s,int t,int*k)
{ int p;
for(p=0,*k=p; p<T; p++)
if(s[p]<s[*k])
______;
}
main()
{ int a[10],i,*k=&i;
for(i=0; i<10; i++)
scanf("%d",&a[i]);
findmin(a,10,k);
printf("%d,%d\n",*k,a[*k]);
}
30.(6分)下面程序的功能是计算1-3+5-7+……-99+101的值。
main()
{ int i,t=1,s=0;
for(i=1; i<=101; i+=2)
{  ______;
s=s+t;
   ______;
}
printf("%d\n",s);
}
31.(8分)有以下程序段:
s=1.0;
for(k=1; k<=n; k++)
s=s+1.0/(k*(k+1));
printf("%f\n",s);
填空完成下述程序,使之与上述程序的功能完全相同。
s=0.0;
______;
k=0;
do
{s=s+d;
______;
d=1.0/(k*(k+1));
}while(______);
printf("%f\n",s);
32.(6分)下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。
main()
{ float x,amax,amin;
 scanf("%f",&x);
 amax=x;
 amin=x;
 while(______)
 { if(x>amax)amax=x;
   if(______)amin=x;
   scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
五、编程题(本大题共2小题,每小题10分,共20分)
33.判断101-200之间有多少个素数,并输出所有素数。
34.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
 
一、单项选择题(本大题共15小题,每小题2分,共30分)
  在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”
  的相应代码涂黑。错涂、多涂或未涂均不得分。
1.下列C语言书写形式中属于八进制整型常量的是
A.25u                                B.025L   
C.OX81                               D.081
2.已知:int x=8,y =5,z;,则z=x%y的值是
A.1                                 B.1.6   
C.3                                 D.6
3.已知:int xl =10,x2=9,x3 =12,x4 =15;,则表达式xl<x2? x2:(x3<x4?x3:x4)的值是
A.9                                 B.10   
C.1 2                               D.15
4.下列一维数组的定义正确的是
    A.char ch[ ]={};
    B.int  M=10;
       char  ch[M];
    C.char  ch(10);
    D.#define M  lO;
       char  ch[M];
5.下列函数定义形式正确的是
  A. int  total( float x,y,z);
  B.int  total( x,y,z)
    float x,y,z;
 
    C.int  total( x,y,z);
    float x,y,z;
    D.float x,y,z;
       int  total( x,y,z);
6.执行下列语句之后,ch的值为
    char    *p,ch=;int  b=2;p=&ch;ch=*p+b;
A.                               B.   
C.                                D.
7.有如下定义:
    struct  st
    {float  x;
     char  *y;
    }a[4]={{2.O,“mmm”},{5.1,“kkk”},{8.4,“qqq”},{2.4,“vvv”}},*p=a+1;
    则表达式(p-1)- >y;的结果是
A.“mmm”                            B.“kkk”   
C.“qqq”                            D.“vvv”
8.在数据结构中,具有独立含义的最小标识单位是
  A.数据                              B.数据节点
    C.数据项                            D.逻辑结构
9.已知单链表的节点定义如下:
    struct  node
    { datatype data;
      struct  node    *next;
    } *p,*S;
设p已经指向单链表中某一个非空节点,现将s所指的节点插入到p所指节点之后,其语句应为
    A.s ->next=p+1;p->next=s;
    B.(*p).next=s;(*s).next=(*p).next;
    C.s - >next=p- >next;p - >next=s- >next;
    D.s - >next =p - >next;p- >next=s;
10.有六个元素按6,5,4,3,2,l的顺序进栈,则下列中不是合法的出栈序列的是
    A.5 4 3 6 1 2                       B.4 5 3 1 2 6
    C.3 4 6 5 2 1                       D.2 3 4 1 5 6
11.给定N个权值建立哈夫曼树,则该哈夫曼树的节点总数为
    A.N                                 B.2N-1
    C.2N                                D.2N+1
12.图的邻接表如题12图,其中链表节点中第一个数据项存储邻接点在表头中对应的序

题12图
  号,从顶点a出发进行深度优先遍历,经历的节点顺序为
A.a,b,c,d,e                             B.a,c,e,d,b
C.a,c,b,e,d                             D.a,c,d,b,e
13.对二叉排序树进行中序遍历,得到的节点序列按关键字值为
A.无序                                  B.可能递增有序,也可能递减有序
C.递减有序                              D.递增有序
14.设初始序列为5,7,4,3,8,6,执行第一趟直接选择排序算法后得到的序列为
A.3,4,5,6,7,8                            B.5,4,3,7,8,6
C.5,4,3,7,6,8                            D.3,7,4,5,8,6
15.结构化分析方法采用的需求分析是面向
A.功能                                  B.数据流
C.数据结构                              D.对象
 
二、填空题  (本大题共10小题,每小题2分,共20分)
16.已知:int x=25,y=-25,z=2567;,则语句printf(“%2d,%4d,%5d\n”,x,y,z);的输出结果是(用□表示空格符的输出):______。
17.若A为主调函数,B为被调函数,B函数的类型不为int或char,并且B在A的后面定义,那么必须在A函数定义之前或者A函数体的说明部分对B函数进行_____。
18.设顺序表的表长为N,则在该顺序表上查找成功的平均查找次数为______。
19.栈是一种操作受限制的线性表,它的操作特性是______。
20.二叉树第i(i≥1)层上最多有______个节点。
21.图的两种基本遍历方法为深度优先遍历和______。
22.折半查找要求待查序列按关键字______。
23.当具有n个元素的序列已经按关键字值完全正序时,对之进行冒泡排序的比较次数只需要______次。
24.结构化分析方法中使用______和数据字典构成系统的逻辑模型。
25.软件设计中一般采用两个准则度量模块的独立性,这两个准则是______和内聚。
三、解答题  (本大题共4小题,每小题4分,共16分)
26.二叉树节点采用顺序存储结构(其中“”代表空节点(虚拟节点))如下:
2)写出该二叉树的中序遍历结果。
27.根据题27图:

题27图
    (1)给出两个拓扑排序的序列;
    (2)画出对应的邻接矩阵示意图(节点的顺序必须按照ABCDEF的顺序)。
28.画出具有16个有序节点(节点序号为l~l6)的折半查找判定树。
29.给定序列( 52 ,12 ,45 ,59 ,90 ,23 ,56 ,35)按升序进行排序,
  (1)给出直接插入排序的第1趟和第2趟结果;
  (2)给出冒泡排序的第1趟和第2趟结果。
四、程序分析题(本大题共4小题,每小题4分,共1 6分)
30.写出下列程序的运行结果。
    #include<stdio.h>
    main)
   {
    int j,a[10]={12,22,9,34,18,19,5,23,33,99},*pl=&a[0],*p2=&a[1];
    if(*pl<*p2){pl=&a[1];p2=&a[O];}
    for(j=2;j<10;j++)
     {
     if(a[j]>*pl)  { p2=pl;pl=&a[j];continue;}
    if(a[j]>*p2)   p2=&a[j];
    }
    printf(“%d,%d”,* pl,* p2);
  }
    运行结果:________
31.写出下列程序的运行结果。
    #include<stdio.h>
    void fun(int a[ ] ,int b[ ] ,int c[ ])
    {int  kl =O,k2 =O,k3 =0;
      while( kl <5&&k2 <5)
           if(a[k1]<b[k2])c[k3++]=a[k1++];
      else c[k3++]=b[k2++];
    while( kl <5)c[k3++]=a[kl++];
    while( k2 <5)c[k3++]=b[k2++];
    }
    main)
   {
     int a[5]={6,8,12,25,33},b[5]={3,6,9,36,89},c[10],k;
     fun( a,b,c);
     for(k =O;k<10;k++)
    printf(“%d,”,c[k]);
  }
  运行结果:_______
32.下面程序的功能是:首先输入9个递增有序整数数列,然后再输入一个整数,将该整数插入到数列中使之保持有序性。填空完成程序。
  #include<stdio.h>
  main()
  { int a[10] ,x,i;
    for(i=O;i<9;i++)scanf(“%d”,&a[i]);
    scanf(“% d” ,&x);
    i=8;
    while(i> =O)
    {   if(a[i]<=x)  ①_______;
    a[i+1]=a[i];i --;
    }
    ②______;
    for(i=O;i<10;i++)  printf(“%d,” ,a[i]);
  }
33.下面算法的功能是:计算带表头节点的单链表中数据元素的个数,head为单链表的表头指针。填空完成算法。
    typedef struct node
    { int data;
        struct node * next;
    }Lnode;
  int count( Lnode * head)
  {
    Lnode  * p=head;
    int j=①______;
    while(p ->next!=NULL)
    {    j++;②______;}
   retum j;
  }
五、程序设计题(本大题共2小题,每小题9分,共18分)
34.编写C语言程序实现:有10个学生,每个学生数据包括学号、三门课成绩;从键盘输入10个学生数据;并实现查找功能,也就是:输入某学生的学号,如果存在该学号,则输出该学生的学号和所有成绩,否则输出“查无此人”。
35.设二叉排序树采用二叉链表存储结构,要求:定义二叉链表的数据类型;并编写一个算法实现:给定一个数据元素的值,在给定的二叉排序树中查找该数据元素的位置,如果找到,则返回指向该元素的指针,否则返回空指针。
自考试题下载:
浙江省2014年4月自学考试02243计算机软件基础(一)试题

上一篇:浙江省2014年4月自学考试02365计算机软件基础(二)试题

下一篇:浙江省2014年4月自学考试02641技术监督法律法规试题