全国自考02275计算机基础与程序设计真题Word格式文档下载.docx
《全国自考02275计算机基础与程序设计真题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《全国自考02275计算机基础与程序设计真题Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
![全国自考02275计算机基础与程序设计真题Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/7/4fe377cf-5bd4-423d-9f9e-600655d2e36f/4fe377cf-5bd4-423d-9f9e-600655d2e36f1.gif)
A.0B.1
C.2D.3
6.若有下列程序段,欲使a=2,b=3,对应正确的数据输入方式是(其中<
CR>
表示换行)。
inta,b;
scanf("
a=%d,b=%d"
&
a,&
b);
A.2<
B.a=2b=3<
3<
C.a=2,b=3<
D.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,则程序的输出结果是
{inta,b,s;
%d%d"
,&
a,&
b);
s=a;
if(a<
b)s=b;
s=s*s;
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<
j++)
printf("
%d"
,i+j);
\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<
stdio.h>
{chars[10]={′a′,′b′,′c′,};
s[3]=′\0′;
%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;
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
charname[10],charname[10];
};
},
19.设有声明inta=l,b=2;
执行:
b=a<
<
之后,变量b的值是
C.6D.8
20.设有声明intu=15,v=2,w=3;
执行表达式u=u>
>
v|w<
v之后,变量u的值是
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<
zB.z>
2
C.y^yD.x&
y
E.z&
y&
x
非选择题部分
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
三、简答题(本大题共4小题,每小题4分,共16分)
26.C语言规定对程序中所用的变量必须“先定义,后使用”,主要目的是什么?
27.设有程序
intmain(void)
{
inta,b,c,m;
%d%d%d"
&
a,&
b,&
c);
if(c>
a+b)
if(a>
b)m=a;
elsem=b;
else
if(b>
a)m=a;
m=%d\n"
,m);
return0;
请简述程序的功能。
28.简述下面程序的功能。
inti,n;
scanf("
%d"
&
n);
for(i=l;
=n;
i++)
printf("
%d\n"
f(i));
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++;
l:
s=%d\n"
s);
s=a+b+c;
2:
31.当输入2时,请写出下面程序的运行结果。
#include"
stdio.h"
intx,y=1;
x);
switch(x)
case1:
y=y+1;
y=%d\n"
y);
case2:
y=y+2;
default:
y=y+5;
y);
32.请写出下面程序的运行结果。
#include"
stdio.h"
charch='
Y'
;
inti=0;
while(ch>
='
A'
)
%C"
ch);
ch――;
i++;
if(i%5==0)
\n"
);
33.请写出下面程序的运行结果。
string.h"
charch,s[30]="
tnedutsaerauoy"
;
inti=0,j;
j=strlen(s)-1;
for(;
j;
i++,j――)
ch=s[i];
s[i]=s[j];
s[j]=ch;
%s\n"
s);
34.请写出下面程序的运行结果。
for(i=10;
15;
i+=4)
n=i-4;
\n%d,%d\tgcd=%d\n"
i,n,gcd(i,n));
intgcd(inta,intb)
intt;
while(b)
t=a%b;
a=b;
b=t;
returna;
35.请写出下面程序的运行结果。
stdio.h"
inti,score[10]={88,78,46,91,43,32,63,72,21,83};
bob_sort(score,10);
for(i=0;
i<
10,i++)
%d,"
score[i]);
intbob_sort(int*p,intn)
intt,i,j;
for(i=0;
n-2;
for(j=0;
n-2-i;
if(*(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列)
$
$$$
$$$$$
$$$$$$$