您的位置:首页 > 理论基础

全国2003年4月高等教育自学考试计算机基础与程序设计试题

2007-09-13 14:11 639 查看
全国2003年4月高等教育自学考试
计算机基础与程序设计试题
课程代码:02275
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的。请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.按冯·诺依曼的设计思想,计算机采用的数制是( )
A.二进制 B.八进制 C.十进制 D.十六进制
2.若机器的当前系统提示符为A,欲将C盘TC子目录下文件名第二个字符为T,扩展名为C的所有文件删除,应采用的操作命令是( )
A.DEL ?T*.C B.DEL C:/TC/*T*.C
C.DEL /TC/? T*.C D.DEL C:/TC/?T*.C
3.下面哪一个是合法的指数型实数( )
A.E5 B.-1.0e-5 C.1.2e+5.1 D.e8
4.以下正确的C语言标识符是( )
A.%d B.a+b C.-123 D.3D
5.设有int i;char c; float f;下面结果为整型的表达式是( )
A.i+f B.i*c C.c+f D.i+c+f
6.以下使i的运算结果为4的表达式是( )
A.int i=0,j=0;(i=3,(j++)+i);
B.int i=1,j=0;j=i=(i=3)*2);
C.int i=0,j=1;(j==1)?(i=1):(i=3);
D.int i=1,j=1;i+=j+=2;
7.下面程序段的运行结果是( )
main()
{ int a,b,c;
a=(b=(c=3)*5)*2-3;
printf(″%d,%d,%d/n″,a,b,c);
}
A.27,15,3 B.3,15,27 C.-1,15,3 D.15,27,3
8.对下述程序,正确的结论是( )
#include<stdio.h>
main()
{ int x,y;
scanf(″%d,%d″,&x,&y);
if(x>y)
x=y;y=x;
else
x++;y++;
prinft(″%d,%d″,x,y);
}
A.有语法错误,不能通过编译 B.若输入数据3和4,则输出4和5
C.若输入数据4和3,则输出3和4 D.若输入数据4和3,则输出4和4
9.以下程序的输出结果是( )
main()
{ int a=10;
a>10? a--;a++;
a+=a;
printf(″%d/n″,a);
}
A.-22 B.11 C.22 D.-11
10.在C语言中,由do-while语句构成的循环中结束循环的条件为( )
A.1 B.true C.0x10 D.0
11.以下程序的输出结果是( )
main()
{ int i,x=0;
for(i=0;i<=2;i++)
x++;
prinft(″x=%d″,x);
}
A.x=3 B.x=8 C.x=6 D.x=4
12.对下面程序段进行语法分析,正确的说法是(各行前的数字是附加的行号)
①float a[3]={2.0};
②int i;
③scanf(″%f″,&a[1]);
④for(i=1;i<3;i++)a[0]+=a[i];
⑤printf(″%f/n″,a[0]);
A.没有错 B.第一行有错 C.第四行有错 D.第五行有错
13.下列程序的运行结果是( )
main()
{ char ch[7]={″43ab21″};int i,s=0
for (i=0;ch[i]>`0'&&ch[i]<=`9';i+=2)
s=10*s+ch[i]-`0';
printf(″%d/n″,s);
}
A.12ba34 B.4321 C.4 D.42
14.以下程序的运行结果是( )
main()
{ char c[5];int i=0;
c[]0=`a';c[1]=`b';
c[2]=`/n';c[3]=`c';c[4]=`/0';
for (;i<5;i++) printf(″%c″,c[i]);
}
A.a B.a C.ab D.abc
b b c
c
15.下面关于main函数的说法中,不正确的是( )
A.程序的执行从mian()函数开始 B.程序的执行在main()函数中结束
C.main()函数可以调用其它函数 D.其它函数可以调用main()函数
16.变量包括数据类型和存储类别两种属性,其中存储类别属性主要用来决定( )
A.变量的存储长度 B.变量的作用范围
C.变量的生存期 D.变量的取值范围
17.下面程序的运行结果是( )
void fun(int *p1,int *p2)
{ printf(″%d,%d/n″,*p1,*p2);
}
int x=11,y=19;
main()
{
fun(&x,&y);
}
A.12,19 B.11,19 C.11,20 D.12,20
18.若有定义int *p[5];则其含义是( )
A.p是一个数组,有5个元素,每个元素都是整型量
B.p是一个指针,指向含有5个整型数据的数组
C.p是一个数组,有5个元素,每个元素都是指向整型变量的指针
D.p是一个指针,指向一个整型数据
19.下面程序的运行结果是( )
#define MIN(x,y)(x)<(y)?(x):(y)
#include <stdio.h>
main()
{ int u=1,v=2,w=3,t;
t=MIN(u+v,v+w);
printf(″%d/n″,t);
}
A.3 B.5 C.1 D.2
20.随机定位函数的函数名是( )
A.fopen B.fgetc C.seek D.fseek
二、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中有二个至五个是符号题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
21.下面各图哪些符合结构化N—S图( )

22.若所用变量已正确定义,以下各程序段执行后,变量x值一定等于10的有( )
A.x=0; B.x=0;i=0; C.int i,x;
for(i=0;i<5;i++) while(1) for(i=0;i<5;i++)
x+=2 { i++;x+=2; x+=2;
if(i>5) break;
}
D.for(x=0,i=0;i<5;i++) E.x=0;i=0;
x+=2; while(1)
{ i++;x+=2
if(i==5) break
}
23.若有如下定义及赋值:
int a[5]={1,2,3,4,5},*p;p=a;
则可以输出元素值为3的语句是
A.printf(″%d/n″,a+2); B.printf(″%d/n″,p+2);
C.printf(″%d/n″,p[2]); D.printf(″%d/n″,*(p+2));
E.printf(″%d/n″,a[3]);
24.设有:struct cjb
{long bh;int xq;char xm[9];}x,*p;
下面各项中C语句全正确的是( )
A.p=&x; B.x.bh=123; C.p=&x;
(*p).bh=12; x.xm=″Wang″; p→bh=123;
p→xm=″Li″;
D.p=&x; E.p=&x.bh;
x.bh=123; *p=123;
printf(″%1d″p→bh);
25.设有int y,w=1,x=16;下列各项中能使y值为1的是( )
A.y=(x∧x)|w; B.y=x>>4; C.y=x&15;
D.y=w|w; E.y=x<<4;
三、填空题(本大题共10小题,每小题1分,共10分)
26.用一字节表示十进制数-123的补码是_____________。
27.C语言程序从_____________开始执行。
28.在使用字符输入输出函数时,要求在程序的开头处写上的编译预处理命令是_____________。
29.执行下列程序段后,x的值为_____________。
x=100;a=10;b=20;0k1=5;0k2=0;
if(a<b)
if(b!=15)
if(! 0k1)x=1;
else if(0k2) x=10;
30.若所有变量都己正确定义,则程序段中for循环的循环次数为_____________。
a=2;b=10;
for(i=b;i<=a;i--,a++)printf(″%3d″,i);
31.下面程序的输出结果是_____________。
main( )
{ int a[3][4]={2,4,5,8,6,3,7,1,4,9,0,6);
int i=1,j=2;
printf(″%d/n″,a[i][j]);
}

32.在函数外部定义的变量统称为全局变量,它们的作用域从_____________开始,直到本源文件或程序结束。
33.若指针变量p存放的是int型变量的地址1000,则p+n表示地址_____________。
34.设有:union reg
{char al;char ah;int ax;}regs;
则共用体类型变量regs的首地址,整数变量ax的首地址,char型变量al,ah的首地址_____________。
35.设有FILE *fp;int ch;则用fgetc函数从fp所联系文件中读取一个字符并赋给变量ch的C语句是_____________。
四、简答题(本大题共4小题,每小题3分,共12分)
36.简述Turbo C 2.0系统中,在主菜单File下选用Quit命令的作用。
37.请用if…else if…结构写出下面函数所对应的C语句程序段。

38.定义char str[12]=″programming″;可以写成char str[12];str=″programming″;吗?为什么?
39.简述fgetc和fgets函数的作用。它们的使用格式如下:
fgetc(fp);/*fp为文件指针*/
fgets(str,n,fp);/*str为字符串首址,n为整型数,fp为文件指针*/
五、阅读分析题(本大题共7小题,每小题4分,共28分)
40.阅读下面程序,写出运行结果:
main()
{ int i=3,k;
k=i+i+i;
printf(″k=%d,i=%d″,k,i);
}
41.阅读下面程序,写出运行结果:
main()
{ int x,a=0,b=0;
x=3;
switch(x)
{ case1:a++;b++;
case2:++a;++b;
case3:a+=;b+=1;
case4:a+=b;
}
printf(″a=%d,b=%d/n″,a,b);
}
42.阅读下面程序,写出程序运行结果:
main()
{ int j,k;
for (j=0;j<=2;j++)
{ printf(″%2d″,j+1);
for(k=0;k<j;k++)
printf(″%2d″,(j+1)*(k+1));
printf(″/n″);
}
}
43.阅读下面程序,写出运行结果:
long sum(n)
int n;
{
if(n==1) return 1;
else return(n+sum(n-1));
}
main()
{
printf(″y=%d/n″,sum(3));
}
44.阅读下面程序,写出运行结果:
int m=1;
void f()
{ int n=0;
static int s=0;
s++;n++;m++;
printf(″%d,%d,%d/n″,m,n,s);}
main()
{f();m=3;f();}
45.阅读下面程序,写出运行结果:
main{}
{ int a[5]={1,2,3,4,5},* p,s=0;
p=a;p++;
while(*p<=a[3])
{ s+=*p;
printf(″%3d″,*p++);}
printf(″/n″);
printf(″s=%d″,s);}
46.阅读下面程序,并回答相关问题:
struct number
{ int num;
struct number *next;
}*head=NULL;
void create()
{
struct number *ptr;
int x;
scanf(″%d″,&x);
while(x)
{
ptr=(struct number *)malloc(sizeof(struct number);
pty→num=x;ptr→next=head;head=ptr;
scanf(″%d″,&x);
}
}
请说明ptr=(struct number*)malloc(sizeof(strct number))的作用。
六、程序设计题(本大题共2小题,第47题8分,第48题12分,共20分)
47.输入20个整数,计算正数的平均值以及负数的和,并输出结果(设正数的个数大于零)。
48.设有5×5浮点型数组y(5×5表示5行5列)。要求:
(1)从键盘输入25个浮点数对数组y赋初值。
(2)查找该数组中数值最大的元素和其行、列下标。
(3)依次将数组y中的数据、最大值、最大值元素的行下标和列下标写到当前目录下的二进制文件abc.txt中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: