全国高等教育自学考试计算机软件基础.docx
《全国高等教育自学考试计算机软件基础.docx》由会员分享,可在线阅读,更多相关《全国高等教育自学考试计算机软件基础.docx(18页珍藏版)》请在冰豆网上搜索。
全国高等教育自学考试计算机软件基础
全国2002年4月高等教育自学考试计算机软件基础
(一)试题
2009-03-19湖北自考网我要评论(0)[全国各地高校大全自考大全:
0
全国2002年4月高等教育自学考试计算机软件基础
(一)试题
课程代码:
02243
一、单项选择题(本大题共40小题,每小题1分,共40分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.面向算法的计算机语言是(B)
A.可视化语言
B.高级语言
C.汇编语言
D.机器语言
2.以下运算符使用错误的是(B)
A.--k
B.(a+b)--
C.++j
D.i++
3.关于C语言程序的正确叙述是(D)
A.main()所在行的末尾必须要有分号(;)
B.主函数的函数体不一定用花括号({})括起来
C.一个完整的C程序可以没有任何函数
D.C语言程序的简单语句必须用分号(;)作为语句的结束符
4.已知:
inti=5,a;当a=i++;语句执行后,变量i和a的值分别是(C)
A.55
B.56
C.65
D.66
5.用C语言表示算式,错误的表达式是(C)
A.a/(c*d)*b
B.a*b/c/d
C.a*b/c*d
D.a*b/(c*d)
6.下列程序的运行结果是(C)
#include和lt;stdio.h
main()
{intx=10,y=3;
printf("%dn",y=x/y);
}
A.0
B.1
C.3
D.3.3
7.下列程序的运行结果是(A)
#include和lt;stdio.h
main()
{intx=023;
printf("%dn",--x);
}
A.18
B.19
C.22
D.23
8.C语言中,关于scanf()函数正确的叙述是(A)
A.利用scanf()函数可以给变量提供数据
B.scanf()函数具有计算功能
C.scanf()函数就是输入语句
D.scanf()函数只能用在主函数中
9.C语言中,已知a的ASCII码为97,A的ASCII码为65。
又已知,int,c;chari;scanf("%c,%d",和amp;c,和amp;i);语句执行后,若要使c的值(A)
为101,i的值为D,正确的数据输入为(注:
↙为回车符号)
A.101,68↙
B.101,D↙
C.e,68↙
D.e,D↙
10.已知:
intx=100,y;
y=x80?
60:
70;
则y的值是(A)
A.60
B.70
C.80
D.100
11.C语言中,已知intb=2;则下列表达式值为1的是(A)
A.b1
B.bb
C.b和lt;1
D.!
(b=1)
12.C语言中,下列语句运算符的执行次序是(C)
x=!
a==b;
A.先执行=,再执行!
,再执行==
B.先执行==,再执行!
,再执行=
C.先执行!
,再执行==,再执行=
D.执行次序是随机的
13.下列程序的功能是(B)
#include和lt;stdio.h
main()
{charc;
c=getchar();
if(c='a'和amp;和amp;c和lt;='z')c=c-32;
putchar(c);
}
A.将大写字母转换成小写字母
B.将小写字母转换成大写字母
C.将大小写字母互换
D.以上均错误
14.C语言中,关于while与do-while语句正确的叙述是(D)
A.允许从do-while外部转到循环体内
B.do-while的循环体不能是复合语句
C.while的循环控制条件比do-while的循环控制条件严格
D.do-while的循环体至少无条件执行一次
15.下列程序段执行后,k的值是(C)
intk=1;
while(k++和lt;10);
A.9
B.10
C.11
D.不定
16.下列C语言程序运行时输入2473↙,则输出结果是(B)
(注:
↙为回车符号)
#include和lt;stdio.h
main()
{intcx;
while((cx=getchar())!
='n')
{switch(cx-'2')
{case0:
case1:
putchar(cx+4);
case2:
putchar(cx+4);
break;
case3:
putchar(cx+3);
default:
putchar(cx+2);
}
}
}
A.668966B.668977C.6677877D.6688766
17.下列程序的运行结果是(C)
#include和lt;stdio.h
main()
{inti,j,x=0;
for(i=0;i和lt;2;i++)
{x++;
for(j=0;j和lt;=3;j++)
{if(j%2)continue;
x++;
}
x++;
}
printf("x=%dn",x);
}
A.x=4
B.x=6
C.x=8
D.x=12
18.已知:
inti=5,s;则s=i--;等价于(A)
A.s=i;i=i-1;
B.i=i-1;s=i;
C.s=i;s=s-1
D.s=i;s=i-1;
19.C语言中关于数组的正确叙述是(C)
A.数组名代表数组中的全部元素
B.若有定义inta[10],说明该数组元素的最大下标是10
C.定义数组时可以同时初始化该数组
D.初始化数组时必须使所赋初值的个数与数组长度相等
20.已知:
主函数中,inta[3]={4};数组元素a[1]的值是(A)
A.0
B.1
C.4
D.不确定
21.下列程序的运行结果是(B)
#include和lt;stdio.h
main()
{char*b="ABCDEFGH";
printf("%c",b[5]);
}>A.E
B.F
C.EFGH
D.FGH
22.下列程序的运行结果是(B)
#include和lt;stdio.h
intd=1;
fun(p)
intp;
{intd=5;
d+=p++;
printf("%d",d);
}
main()
{inta=3;
fun(a);
d+=a++;
printf("%dn",d);
}
A.44
B.84
C.95
D.以上结果均不正确
23.函数strcat(strcpy(str1,str2),str3)的功能是(C)
A.将串str1复制到串str2中后,再连接到串str3后
B.将串str1连接到串str2中后,再复制到串str3后
C.将串str2复制到串str1中后,再将str3连接到串str1之后
D.将串str2复制到串str1中后,再将str1连接到串str3之后
24.对C语言函数的正确描述是(D)
A.C语言程序总是从第一个定义的函数开始执行
B.C语言程序中,要调用的函数必须放在main()函数中定义
C.C语言程序中的main()函数必须放在程序的开始部分
D.C语言程序总是从main()函数开始执行
25.已知:
inta,*p;如果p指向a,则(D)
A.a与p存储单元的地址相同
B.a与p的值相同
C.a的值是p的地址
D.p的值是a的地址
26.指针变量作为形参时,下列叙述正确的是(A)
A.实参可以是同类型的指针变量
B.实参可以是同类型的常数
C.实参可以是关系表达式
D.实参可以是算术表达式
27.已知:
inta[]={1,3,5,7,9},*ip=a;表达式*ip+2的值是(B)
A.1
B.3
C.5
D.7
28.下列程序段的输出结果是(B)
inta[]={1,-2,3,-4},*ip=a;
ip++;
printf"%d",(*ip)++);
A.-3
B.-2
C.-1
D.3
29.C语言中,能够将数据写入磁盘文件的函数是(C)
A.printf()函数
B.scanf()函数
C.fprintf()函数
D.fscanf()函数
30.下列程序段的功能是(D)
FILE*fp;
fp=fopen("test.dat","ab");
A.以读方式打开文本文件test.dat
B.以读写方式打开二进制文件test.dat
C.以追加数据方式打开文本文件test.dat
D.以追加数据方式打开二进制文件test.dat
31.FoxPro中,物理删除当前数据库中全部记录的命令是(D)
A.CLEAR
B.DELETE
C.RECALL
D.ZAP
32.FoxPro中,统计当前数据库文件中满足某一条件的记录的个数,应使用命令(B)
A.AVERAGE
B.COUNT
C.SUM
D.TOTAL
33.FoxPro中,将两个数据库连接生成一个新的数据库,应使用命令(B)
A.APPEND
B.JOIN
C.REPLACE
D.UPDATE
34.一个FoxPro数据库中有“姓名(C,8)”、“工资(N,10,2)”二个字段,仅显示当前记录中“姓名”和“工资”字段的值,应使用命令(D)
A.LISTFIELD姓名,工资
B.DISPLAY姓名+工资
C.?
姓名+工资
D.?
姓名+STR(工资,10,2)
35.关于FoxPro过程文件的正确叙述是(D)
A.一个过程文件中只能有一个过程
B.过程文件的文件名命名方法与程序文件名的命名方法不同
C.过程文件可以独立执行
D.只有打开过程文件,才能执行过程文件中的过程
36.使用结构建立链表时,每个结点是一个结构类型的数据,要动态分配结点的空间应该使用函数(C)
A.calloc(size)
B.free(p)
C.malloc(size)
D.sizeof(struct)
37.数据的
逻辑结构分为两大类,它们是(D)
A.索引结构和非索引结构
B.链式结构和顺序结构
C.层次结构和网状结构
D.线性结构和非线性结构
38.退栈运算(A)
A.只能在栈顶进行
B.只能在栈底进行
C.可以在栈顶或栈底进行
D.可以在栈中间的任意位置进行
39.在Q(0:
m-1)的向量空间中建立一个循环队列,若队头指针为front,队尾指针为rear,当队列不满时,则将x入队的操作步骤是(D)
A.front=front+1;Q[front]=x;
B.front=(front+1)%m;Q[front]=x;
C.rear=rear+1;Q[rear]=x;
D.rear=(rear+1)%m;Q[rear]=x;
40.使用直接插入排序算法对m个元素进行排序时,在排序过程中要使用临时工作单元暂存待插入的元素,算法中使用临时工作单元的数量是(B)
A.0
B.1
C.m/2
D.m
二、填空题(每空1分,共10分)
41.在C语言中调用函数时,如果形参是简单变量,对应的实参可以是变量、数组元素和
_____表达式____。
当形参和实参都是变量时,数据的传递是____值的传递_____,即单向传递。
42.执行下列程序段后,*(p+1)的值是__“b”_____,*(p+2)的值是___0_____。
charc[3]="ab",*p;P=c;
43.C语言中进行字符串比较的库函数是____strcmp_____;将字符串中大写字母转换为小写字母的库函数是______strlwr___。
44.数据库管理技术的发展过程中,比较成熟的数据结构化模型先后有层次模型、_网状模型________和___关系模型______三种。
45.已知:
struct{intday;charmouth;intyear;}a,*b;
b=和amp;a;
可用a.day引用结构中的成员day,写出通过变量b引用成员a.day的其它两种形式,它们是_________和_________。
三、阅读程序题(每小题4分,共32分)
46.下列invert函数的功能是将字符串str的内容逆序排列,填空完成程序。
#include和lt;string.h
voidinvert(charstr[])
{inti,j,k;
for(i=0,j=strlen(str)_________;i和lt;j;i++)
{k=str[i];str[i]=str[j];str[j]=k;
_________;
}
}
47.下列程序的功能是输出如下图案(最下一行左侧无空格),填空完成程序。
*
***
*****
*******
#include和lt;stdio.h
和nb
sp;main()
{_________;
for(i=0;i和lt;=3;i++)
{for(j=0;j和lt;=_________;j++)
printf("");
for(k=0;k和lt;=_________;k++)
printf("*");
_________;
}
}
48.写出下列程序运行结果。
#include和lt;stdio.h
main()
{inta[5]={1,2,3,4,5},i,t;
for(i=0;i和lt;2;i++)
{t=a[i];
a[i]=a[4-i];
a[4-i]=t;
}
for(i=0;i和lt;5;i++)
printf("%d,",a[i]);
}
结果:
49.执行下列程序时,如果输入asbr,写出运行结果。
#include和lt;stdio.h
voidfun(t)
chart[];
{charc;inti,j;
for(i=strlen(t)-1;i;i--)
for(j=0;j和lt;i;j++)
if(t[j]和lt;t[j+1])
{c=t[j];
t[j]=t[j+1];
t[j+1]=c;
}
}
main()
{chars[81];
printf("nPleaseenteracharacterstring:
");
gets(s);
fun(s);
printf("%sn",s);
}
结果:
50.写出下列程序的运行结果。
#include和lt;stdio.h
main()
{inta[]={1,-2,3,-4,5},*ip=a;
a[1]=*ip++;
printf("%d,%d",a[1],*++ip);
}
结果:
51.已知两个数据库OLD.DBF和NEW.D
BF的结构相同,记录个数相同,NAME字段的内容也相同,下列程序以NAME字段为关键字表达式,用NEW.DBF中的JIBENGZ字段值更新OLD.DBF中的JIBENGZ字段值,填空完成程序。
SETTALKOFF
SELE1
USEOLD
INDEXONNAMETONS
_________
USENEW
INDEXONNAMETONN
SELE1
_________WITHB-JIBENGZ
DISPALL
SETTALKON
RETURN
52.下列函数的功能是:
在指定数组中查询与变量x相同的值,若数组中某个元素的值等于x的值,则返回该元素的下标,如果查不到返回-1。
填空完成程序。
srch(a,n,x)
inta[];
intn;
inti;
{intx;
for(i=0;i和lt;n;i++);
if(_________)
return(__________);
return(-1);
}
53.下列程序的功能是:
输入一行字符串,按输入字符的逆序建立一个链表,即先输入的字符位于链表尾部,然后再按输入的相反顺序输出,并释放全部结点。
按回车后输入过程结束。
填空完成程序。
(例如,当输入的字符顺序是a、b、c、……、y、z时,建立的链表如图所示,输出结果是:
zy……cha。
)
#include和lt;stdio.h
#definegetnode(type)(type*)malloc(sizeof(type))
main()
{structnode
{charinfo;
structnode*link;
}*top,*p;
charc;
top=NULL;
while((c=getchar())____)
{p=getnode(structnode);
p-info=c;
p-link=top;
top=p;
}
while(top)
{______;
top=top-link;
putchar(p-info);
free(p);
}
}
四、编写程序题(每小题9分,共18分)
54.某学校一年级有n个级,每班有m名学生。
编制C语言程序,从键盘输入每个学生1门课的成绩,计算并输出年级最高分及全体学生的平均分。
55.已知数据库K1.DBF,库结构为:
编号(N,8)
姓名(C,8)
基本工资(N,8,1)
婚否(L,1)
编写FoxPro程序,使用SCAN循环语句分别找出未婚人当中的最高的基本工资和最低的基本工资。
本文来自:
我爱自考网(),原文链接: