全国自考02275计算机基础与程序设计真题.docx
《全国自考02275计算机基础与程序设计真题.docx》由会员分享,可在线阅读,更多相关《全国自考02275计算机基础与程序设计真题.docx(11页珍藏版)》请在冰豆网上搜索。
全国自考02275计算机基础与程序设计真题
绝密★考试结束前
全国2013年7月高等教育自学考试
计算机基础与程序设计试题
课程代码:
02275
请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分
注意事项:
1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相代码涂黑。
错涂、多涂或未涂均无分。
1.一个完整的计算机系统应该包括
A.主机和外设B.主机和操作系统
C.硬件系统和系统软件D.硬件系统和软件系统
2.内存中每个基本单元都有唯一的序号,这个序号称为
A.地址B.字节
C.代码D.字
3.计算机对编译型高级语言的执行方式是
A.逐条语句边解释边执行,即解释一条就执行一条
B.将整个程序编译完成后再执行,不生成目标程序
C.将源程序编译成目标程序,执行连接后的程序
D.将源程序解释完毕后再执行
4.下面几种运算符中,优先级最高的是
A.||B.,
C.=D.?
:
5.设有intx=2,y,z;执行z=y=x――;后变量x的值是
A.0B.1
C.2D.3
6.若有下列程序段,欲使a=2,b=3,对应正确的数据输入方式是(其中表示换行)。
inta,b;
scanf("a=%d,b=%d",&a,&b);
A.2B.a=2b=3
3
C.a=2,b=3D.2,3
7.设有声明inta=5,b=10;
执行a=a+b,b=a-b,a=a-b之后,变量a和b的值是
A.5和5B.5和-5
C.5和10D.10和5
8.下面程序段输出的结果是
main()
{intx=5,y;
if(x<0)y=l;
if(x==0)y=0;
y=l;
printf("%d",y);}
A.-5B.-1
C.0D.1
9.若执行下列程序时,从键盘输入数据3和4,则程序的输出结果是
main()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a
s=s*s;
printf("%d",s);
}
A.14B.16
C.18D.20
10.只能在循环语句中用于结束本轮循环,即跳过循环体中它下面的语句的语句是
A.break;B.continue;
C.gotoD.if
11.下面程序段的输出结果是
for(i=1;i<3;i++)
{for(j=1;j<3;j++)
printf("%d",i+j);
printf("\n");}
A.2334B.234
C.23D.2
3434
12.已知strl和str2是字符串,下面函数调用中能正确地完成字符串的输出的是
A.puts(strl,str2)B.puts(str2)
C.putchar(strl)D.putchar(strl,str2)
13.下列程序的输出结果是
#include
main()
{chars[10]={′a′,′b′,′c′,};s[3]=′\0′;
printf("%d\n",strlen(s));
}
A.3B.4
C.10D.输出值不确定
14.设有声明inta[5]=(1,2,3,4,5),b[3]={2,4,6);则表达式a[b[2]一b[1]]的值是
A.1B.2
C.3D.4
15.若没有定义局部变量的存储类别,则系统默认的存储类别是
A.registerB.static
C.autoD.extern
16.执行下面代码片段之后,变量x的值是
intx=1,*p;
p=&x;++x;*p=5;
A.1B.2
C.4D.5
17.执行下面代码片段之后,表达式*(p+1)的值是
intx[5]={1,3,5,7,9},*p;
p=&x[0];
*(p+1)=*(p+3)+x[2];
A.3B.7
C.10D.12
18.下面关于结构体类型的定义中,正确的定义是
A.structstudentB.structstudent
{{
intxh,intxh;
charname[10],charname[10];
intn1,intn1;
},};
C.structstudentD.structstudent
{{
intxh,intxh;
charname[10],charname[10];
intn1,intn1;
};},
19.设有声明inta=l,b=2;执行:
b=a<<3;之后,变量b的值是
A.1B.2
C.6D.8
20.设有声明intu=15,v=2,w=3;执行表达式u=u>>v|w<A.3B.5
C.12D.15
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂、少涂或未涂均无分。
21.对于下面的for循环结构
for(表达式1;表达式2;表达式3)
语句
以下叙述正确的有
A.表达式1最先求值;
B.表达式3最先求值;
C.语句在表达式2求值之后才有可能执行;
D.语句在表达式2求值之后肯定能够执行;
E.语句执行后才对表达式3求值
22.对于下面的do-while循环结构
do
语句
while(x&&!
y||z);
其语句仅仅执行1次的条件有
A.x等于0或者z等于0B.x等于0且z等于0
C.y不等于0且z等于0D.y不等于0且z不等于0
E.x,y,z都等于0
23.设有声明intx[4][5];且整型变量i和j满足:
,则下面能够
表示数组元素x[i][j]的有
A.*(*(x+i)+j)B.(*(x+i)+j)
C.*(x[i]+j)D.(x[i]+j)
E.*(*(x+i))+j
24.关于结构体类型,下面叙述正确的有
A.结构体类型是由用户定义的
B.结构体类型是由系统定义的
C.结构体类型的成员允许是不同的数据类型
D.定义结构体类型之后才能定义该结构体类型的变量
E.定义结构体类型变量之后才能定义结构体类型
25.设有声明intx=1,y=2,z=3;下面表达式的值为0的有
A.x<>2
C.y^yD.x&y
E.z&y&x
非选择题部分
注意事项:
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
三、简答题(本大题共4小题,每小题4分,共16分)
26.C语言规定对程序中所用的变量必须“先定义,后使用”,主要目的是什么?
27.设有程序
intmain(void)
{
inta,b,c,m;
scanf("%d%d%d",&a,&b,&c);
if(c>a+b)
if(a>b)m=a;
elsem=b;
else
if(b>a)m=a;
elsem=b;
printf("m=%d\n",m);
return0;
}
请简述程序的功能。
28.简述下面程序的功能。
intmain(void)
{
inti,n;
scanf("%d",&n);
for(i=l;i<=n;i++)
printf("%d\n",f(i));
return0;
}
intf(intx)
{
staticintu=1;
u=u*x;
returnu;
}
29.设p是一个有5个元素的指针数组,它的每一个元素是一个指向char型变量的指针变量;请写出对应的声明语句。
四、阅读分析题(本大题共6小题,每小题5分,共30分)
30.请写出下面程序的运行结果。
#include"stdio.h"
intmain(void)
{
inta=l,b=3,c=5,s=0;
s=a++;
printf("l:
s=%d\n",s);
s=a+b+c;
printf("2:
s=%d\n",s);
return0;
}
31.当输入2时,请写出下面程序的运行结果。
#include"stdio.h"
intmain(void)
{
intx,y=1;
scanf("%d",&x);
switch(x)
{
case1:
y=y+1;
printf("y=%d\n",y);
case2:
y=y+2;
printf("y=%d\n",y);
default:
y=y+5;
printf("y=%d\n",y);
}
return0;
}
32.请写出下面程序的运行结果。
#include"stdio.h"
intmain(void)
{
charch='Y';
inti=0;
while(ch>='A')
{
printf("%C",ch);
ch――;
i++;
if(i%5==0)
printf("\n");
}
}
33.请写出下面程序的运行结果。
#include"stdio.h"
#include"string.h"
intmain(void)
{
charch,s[30]="tnedutsaerauoy";
inti=0,j;
j=strlen(s)-1;
for(;i{
ch=s[i];s[i]=s[j];s[j]=ch;
}
printf("%s\n",s);
}
34.请写出下面程序的运行结果。
#include"stdio.h"
intmain(void)
{
inti,n;
for(i=10;i<15;i+=4)
{
n=i-4;
printf("\n%d,%d\tgcd=%d\n",i,n,gcd(i,n));
}
return0;
}
intgcd(inta,intb)
{
intt;
while(b)
{
t=a%b;a=b;b=t;
}
returna;
}
35.请写出下面程序的运行结果。
#include"stdio.h"
intmain(void)
{
inti,score[10]={88,78,46,91,43,32,63,72,21,83};
bob_sort(score,10);
for(i=0;i<10,i++)
printf("%d,",score[i]);
printf("\n");
return0;
}
intbob_sort(int*p,intn)
{
intt,i,j;
for(i=0;ifor(j=0;jif(*(p+j)>*(p+j+l))
{t=*(p+j);*(p+j)=*(p+j+l);*(p+j+l)=t;}
}
五、程序设计题(本大题共2小题,每小题12分,共24分)
36.输入10个整数,先求后面9个数中大于第1个数的那些数的累加和,再输出这10个数以及累加和。
37.用循环语句编程打印下列图案,并以ASCII码的形式写到c盘根目录下的1x.dat文件中。
(第一行的"$"在第20列)
$
$$$
$$$$$
$$$$$$$