您现在的位置:首页 > >

浙江省7月高等教育自学考试计算机软件基础一试题历年试卷


浙江省 2002 年 7 月高等教育自学考试

计算机软件基础(一)试题

课程代码:02243

一、单项选择题(在每小题的四个备选答案中有一个正确的答案,将正确答案的序号写在题干

的括号内。每小题 1 分,共 18 分)

1.要为字符型变量 a 赋初值,下列语句中哪一个是正确的( )

A. char a='3';

B. char a="3";

C. char a=%;

D. char a=*;

2.表达式!x||a==b 等效于( )

A. !((x||a)==b)

B. !(x||y)==b

C. !(x||(a==b))

D. (!x)||(a==b)

3.下列格式符中,哪一个可以用于以 16 进制形式输出整数( )

A. %16d

B. %8x

C. %d16

D. %d

4.下列各语句定义了数组,其中哪一个是不正确的( )

A. char a[3][10]={"China","American","Asia"};

B. int x[2][2]={1,2,3,4};

C. float x[2][]={1,2,4,6,8,10};

D. int m[][3]={1,2,3,4,5,6};

5.数组声明为“char str1[20]=″Littile″,str2[]=″Cat″;”,调用函数“strcat(str1,str2);”

后,字符串 str1 为( )

A. ″LittileCat″

B.″Littile Cat″

C.″Cat″

D.″Cattile″

6.下列语句应将小写字母转换为大写字母,其中正确的是( )

A. if(ch>='a'&ch<='z') ch=ch-32;

B. if(ch>='a'&&ch<='z') ch=ch-32;

C. ch=(ch>='a'&&ch<='z')?ch-32:";

D. ch=(ch>'a'&&ch<'z')?ch-32:ch;

7.下列 while 循环,将执行( )次。

int i=7;while(--i) printf(″%d″,i);

A. 6

B. 7

C. 0

D.无限

8.表文件成绩.DBF 中有性别(C)和总分(N)字段,要显示总分超过 490 或总分低于 360 的全部

男生记录,应使用命令:( )

A. DISPLAY FOR 性别=″男″.AND.总分>490 .OR. 总分<360

B. DISPLAY FOR 性别=″男″,总分>490,总分<360

C. DISPLAY FOR 性别=″男″.AND.总分>490 .AND. 总分<360

D. DISPLAY FOR 性别=″男″.AND.(总分>490 .OR. 总分<360)

9.要更改当前表文件中“奖学金”字段的全部值,可使用命令( )

A. MODIFY STRUCTURE

B. REPLACE

C. MODIFY

D. ZAP

10.若要给当前表增加一个字段,应使用命令( )

A. APPEND

B. MODIFY STRUCTURE

C. BROWSE

D. EDIT

11.在以下关于索引的说明中,错误的是( )

A.索引可以提高查询速度

B.一个数据库文件可以生成多个索引文件

C.索引和排序具有不同的含义

D.索引文件能单独使用

12.有关 FoxPro 的变量,以下说法错误的是( )

A.变量也可以作条件使用

B.内存变量的类型有:字符型、数值型、日期型和逻辑型

C.内存变量必须用 STORE 命令赋初值

D.ACCEPT,INPUT,WAIT 都是内存变量交互输入命令

13.无论对分查找是否成功,其时间复杂度都是( )

A. O(log2n)

B. O(n)

C. O(nlog2n)

D. O(n2)

14.有 6 个元素 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

15.对线性表进行对分法查找,其前提条件是( )

A.线性表以顺序方式存储,并且按关键码值排好序

B.线性表以顺序方式存储,并且按关键码值的检索频率排好序

C.线性表以链接方式存储,并且按关键码值排好序

D.线性表以链接方式存储,并且按关键码值的检索频率排好序

16.下列哪个是队列的特点( )

A.先进后出

B.先进先出

C.尾指针追上头指针

D.只能顺序存储

17.已知长度为 n 的线性表,采用顺序查找方法进行查找,那么在每个元素被查找概率相同的

情况下,查找成功的平均查找长度(即平均比较次数)为( )

A. n/2

B. n/2+1

C. (n-1)/2

D. n

18.从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端,这种排序方

法称为( )

A.插入排序

B.归并排序

C.选择排序

D.冒泡排序

二、填空题(1-5 题每空 1 分,其他题每空 2 分,共 22 分)

1.数据的逻辑结构分为两大类型,即,_______和______。

2.如果用对分法对一个序列进行查找,该序列中的元素必须按______的顺序排列。

3.数据的存储结构要解决两个问题,一是要为数据元素分配存储单元,另一个是要表示出数

据元素之间的_______。

4.数据结构是指互相有关联的_______的集合。

5.栈的特点为_______。

6.某考试的结果存放在表 EXAM.DBF 中,PASS.DBF 是一张具有和表 EXAM.DBF 的结构的

空表,用 APPEND 命令把表 EXAM.DBF 中“考试成绩”超过 60 分(含 60 分)的记录全部

追加到 PASS.DBF 中。

_______

7.写出以下命令的功能:

USE 学生成绩

COPY TO 合格 ①

USE 合格

DELETE FOR 成绩<60

PACK



①_______

②_______ 8.把代数式(xy)2(-2x)2 写成 C 语言的表达式为:_______

9.写出下列程序段的输出结果:

int k,j=3;

k=j++;

printf(″k=%d j=%d\n″,k,j);_______

10.定义 a 为 10 个整型数的数组,p 为指向 a 首地址的指针:_______

11.定义语句为 char a[15],b[]="windows 95";,则语句 printf("%s",strcpy(a,b));的输出结果

_。

12.若 s=10,执行语句 s=(s>=0&&s<=100)?-s:s;字符变量 s 的值为______。

三、程序阅读(每题 6 分,共 18 分)

1.程序一(6 分)

#include <stdio.h>

void main()

{ int a[8]={1,0,1,0,1,0,1,0},i;

for(i=2;i<6;i++) a[i]+=a[i-1]+a[i-2];

for(i=0;i<8;i++) printf(″(%d)%d″,i,a[i]);

printf(″\n″);

}

输出结果:_______

2.程序二(6 分)

#include <stdio.h>

int fun3(int m)

{ int i;

if(m==2||m==3) return 1;

if(m<2||m%2==0) return 0;

for(i=3;i<m;i=i+2) if(m%i==0) return 0;

return 1;

}

void main()

{ int n;

for(n=1;n<10;n++)

if(fun3(n)==1) printf(″%d″,n);

}

输出结果:_______

3.程序三(6 分)

#include ″stdio.h″

void main()

{ int i,n; float a[10],s=0;
scanf(″%d″,&n); for(i=0;i<n;i++) { scanf(″%f″,&a[i]);
s=s+a[i];} printf(″n=%d,s=%f″,n,s); } 运行时输入:5(回车)
53429 输出结果为:_______ 四、程序填空(每空 2 分,共 20 分) 1.下列程序在输入 m 后求 n 使 n!≤m≤(n+1)!(例如输入 726,应输出 n=6) #include <stdio.h> void main() { int m,i,jc;
_______ scanf(_______); for(i=2;jc<=m;i++) jc=jc*i; printf(_______,i-2); } 2.输入若干个学生的姓名、学号、数学、英语、计算机成绩到文件中 student.dat。 #include <stdio.h> void main() { char name[8],numb[8];_______; FILE *fp; scanf(″%d″,&n); fp=_______ for(i=1;i<=n;i++) {
_______(″%s%s%d%d%d″,name,numb,&m,&e,&c); fprintf(fp,″%s %s %d %d %d\n″,name,numb,m,e,c); } _______ } 3.以下函数用“冒泡法”对一维数组 x(整型)的数组元素从小到大排序。 void sort (x,n) int x[],n; { int i,j,xx,k; for(j=0;j<n;j++) { k=0; for(i=0;i<n-1;i++) if(x[i]>x[i+1]) { _______ x[i]=x[i+1];

_______ k=1;} if(k==0) _______ } } 五、编程题(第 1 题 10 分,第 2 题 12 分,共 22 分) 1.用顺序查询命令 LOCATE 查找表“销售.DBF”中“进货单价”为 2000 以上(包括 2000)的 所有商品,如果找到,则把每种商品的“销售单价”设为“进货单价*1.12”,然后显示记录 的“商品名”,“供应单价”和“销售单价”。(10 分) 2.编写一个程序,输入 N 个数,求出其中的最大值,并输出。(12 分)



友情链接: 工作计划 总结汇报 团党工作范文 工作范文 表格模版 生活休闲