全国2010年4月高等教育自学考试
计算机基础与程序设计试题
课程代码:02275
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.在Turbo C 2.0中,可激活主菜单的键是( )
A.F1 B.F5 C.F9 D.F10
2.在Turbo C 2.0中,若定义char ch;则变量ch在内存中分配的字节数是( )
A.1个 B.2个 C.4个 D.8个
3.若有下列程序段,欲使x=5,y=6,对应正确的输入方法是(其中<CR>表示回车)( )
int x,y;
scanf(″%d%d″,&x,&y);
A.x=5 y=6<CR> B.x=5,y=6<CR>
C.5<CR> D.5,6<CR>
6<CR>
4.下面程序段的输出结果是( )
main()
{int a=2,b=5;
printf(″a=%d%%,b=%d%%″,a,b);}
A.a=2,b=5 B.a=2%,b=5% C.a=%2,b=%5 D.a=%d,b=%d
5.设有条件表达式(exp)? a++:b--,则下列表达式中能够与该表达式完全等价的表达式是
( )
A.(exp!=0)? a++∶b-- B.(exp==0)? a++∶b--
C.(exp==1)? a++∶b-- D.(exp!=1)? a++:b--
6.对于for(表达式l;表达式2;表达式3)语句;控制循环结束的表达式是( )
A.表达式1 B.表达式2 C.表达式3 D.表达式l和表达式3
7.设有下列程序:( )
void main(void)
{
int x[4]={1,3,5,7},i;
i=0:
printf("%d",x[i++]);
}
其输出结果是
A.1 B.3 C.5 D.7
8.下列关于函数的说法中,不正确的是( )
A.函数名后面一定要一对圆括号 B.空函数被调用时不做任何工作
C.函数形参个数可以是一个、多个或没有 D.函数参数类型可不作说明
9.指向与文件参数有关的结构体类型的指针变量称为( )
A.函数指针 B.整型指针 C.字符型指针 D.文件指针
10.计算机对解释型高级语言的执行方式是( )
A.逐条语句边解释边执行,即解释一条就执行一条
B.将整个程序编译完成后再执行,不生成目标程序
C.将源程序编译成目标程序,生成并保留目标程序然后执行
D.将源程序解释完毕后再执行
11.设有int x=2,y,z;执行z=y=x——;后变量y的值是( )
A.0 B.1 C.2 D.3
12.两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是( )
void main(void)
{
int x;
scanf("%d",&x);
if(x + + >5)printf("%d",x);
else printf("%d\n",x——);
}
A.7和5 B.6和3 C.7和4 D.6和4
13.在下列选项中,没有构成死循环的程序段是( )
A.int i=100; B.for(;;);
while(1)
{ i=i%100+1;
if(i>100) break;}
C.int k=1000; D.int s=36;
do{++k;}while(k>10000); while(s);
一一s;
l4.定义如下变量和数组
int k;
int x[3][3]={9,8,7,6,5,4,3,2,l};
则执行下面语句
for(k=0;k<3;k++)
if(k%2)printf("%5d",x[k][k]);
后输出结果是( )
A.3 B.5 C.7 D.9
l5.设有下列程序:
ff( )
{int c=9;
static int a=1,b=4;
if(b==4){a+=c;b++;}
else {a+=c;b——;}
printf("a=%d,b=%d\n",a,b);}
main( )
{ff( );ff( );}
则该程序执行后,显示的结果为( )
A.a=10,b=5 B.a=10,b=4
a=19,b=5 a=l9,b=5
C.a=10,b=4 D.a=10,b=5
a=19,b=4 a=19,b=4
16.下面能正确进行字符串赋值操作的是( )
A.char s[5]={"ABCDE"}; B.char s[5]={′A′,′B′,′C′,′D′,′E′};
C.char *s;s="ABCDE"; D.char *s;scanf("%s",s);
17.下面程序段的运行结果是( )
chars *s="abcde";
s+=2 printf("%d",s);
A.cde B.字符′c′ C.字符′c′的地址 D.无确定的输出结果
18.下面关于结构体类型变量定义正确的是( )
A.struct bunding {
int area=12345;
char *name="No1 Hotel";
} bl;
B.struct building{
int area=12345;
char *name="Nol Hotel";
} b1;.
C.building {
int area=12345;
char *name="No1 Hotel";
} b1;
D.STRUCT building {
int area=12345;
char *name="Nol Hotel";
} b1;
19.设有下面程序:
# include"stdio.h"
void main(void)
{
unsigned x=1,y=3,z=5;
printf("%d\n",z^x&y);
}
该程序的运行结果是( )
A.0 B.3 C.4 D.5
20.设有说明:
int u=l,v=3,w=5;
表达式:u<<=(v|w)的值是( )
A.1 B.5 C.13 D.128
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
21.下面能执行循环结构的语句有( )
A.if语句 B.while语句 C.do—while语句 D.for语句 E.switch语句
22.下面合法的C语言转义字符有( )
A.\123 B.\xab C.\\ D.\88 E.\n
23.以下关于函数和变量的说法中正确的有( )
A.不同函数中可以使用相同名字的变量
B.形式参数是局部变量
C.一个函数内部定义的变量只能在本函数范围内有效
D.在一个函数内部的复合语句中定义的变量可在本函数范围内有效
E.如果全局变量与函数内定义的局部变量同名,则在函数内局部变量无效
24.设变量Vo5的地址已赋给指针变量inV,则下列关系表达式的值为1的有( )
A.Vo5==&inV B.Vo5==* inV C.inV==* Vo5 D.inV==&Vo5 E.Vo5==inV
25.设有说明:int u=0,v=l,z=2;
则下列表达式中结果为-l的有( )
A.v=~u B.u=u|~(v&z) C.v=(u|z)<<1 D.u=~(u|z) E.v&=(~u)
三、简答题(本大题共4小题,每小题4分,共16分)
26.函数fclose()的功能是什么?
27.简述break语句和continue语句在循环体中的功能。
28.简述机器语言、汇编语言和高级语言各自的特点。
29.将下面的各种运算符按优先级从高到低排列出来。(要同优先级的用“、”号分隔,不同优先级的由高向低用“→”号分隔)
,、<=、>=、[ ]、++、%、+、&&、/
四、阅读理解题(本大题共6小题,每小题5分,共30分)
30.写出以下程序的功能。如果输入14,写出程序的输出结果。
void main(void)
{ int x;
scanf(″%d″,&x);
if(x%5==0&&x%7==0)
printf(″yes″);
else
printf(″no″);
}
31.阅读下面的程序并回答问题
main( )
{ char a[20]=″1234567890″;
int i;
i=8;
printf(″%s\n″,&a[i-3]);
}
(1)数组中a[10]号元素中存储的是什么字符?
(2)请写出程序的运行结果。
32.写出下面程序的运行结果。
main( )
{ fun( );
fun( );}
fun( )
{ int a[3]={0,1,2},b=10;int i;
if (b==10){
for(i=0;i<3;i++)
a[i]+=a[i];
for(i=0;i<3;i++)
printf(″%d,″,a[i]);
printf(″b=%d\n″,b);b++;
}
else
{ for(i=0;i<3;i++)
a[i]*=a[i];
for(i=0;i<3;i++)
printf(″%d″,a[i]);
printf(″b=%d\n″,b);
}
}
33.写出下面程序的运行结果。
main( )
{ int x=1987,a,b,c,y;
a=x/100;
b=x%100/10;
c=x%100%10;
y=100*c+l0*b+a;
printf(″c=%d,b=%o,a=%x,y=%d″,c,b,a,y);
}
34.分析下列两个程序的区别,并写出它们的运行结果。
void main(void) void main(void)
{ {
int y=0,s,k; int y=0,s,k;
for(k=0;k<6;k++) for(k=0;k<6;k++){
s=k*k; s=k*k;
y+=s; y+=s;
}
printf(″y=%d\n″,y); printf(″y=%d\n″,y);
} }
35.写出下面程序的功能以及程序的运行结果。
swap(int.*p1,int*p2)
{int p;p=*pl;*p1=*p2;*p2=p;}
main( )
{ int a=5,b=7,*ptrl,*ptr2;
ptrl=&a;ptr2=&b;
swap(ptrl,ptr2);
printf(″*ptrl=%d,*ptr2=%d\n″,*ptrl,*ptr2);
printf(″a=%d,b=%d\n″,a,b);
}
五、编程题(本大题共2小题,每小题12分,共24分)
36.从键盘输入10个整数,编程求其中大于3且小于100的数的平均值并输出结果。
37.从键盘上输入10个字符串(每个串不超过8个字符),将这些字符串按从小到大的次序排列出来并输出排序后的结果。
下载自考试题WORD文档: