浙江省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来源:www.91exam.org=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
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
int fun3(int m)
{ int i;
if(m==2||m==3) return 1;
if(m<2||m%2==0) return 0;
for(i=3;ireturn 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{ scanf(″%f″,&a[i]);
s=s+a[i];}
printf(″n=%d,s=%f″,n,s);
}
运行时输入:5(回车)
5 3 4 2 9
输出结果为:_______