1、 专门收集历年试卷 做试题,没答案?上自考365,网校名师为你详细解答! 全国2003年4月高等教育自学考试 计算机基础与程序设计试题 课程代码:02275 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的。请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.按冯·诺依曼的设计思想,计算机采用的数制是( ) A.二进制 B.八进制 C.十进制 D.十六进制 2.若机器的当前系统提示符为A,欲将C盘TC子目录下文件名第二个字符为T,扩展名为C的所有文件删除,应采用的操
2、作命令是( ) 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
3、 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,1
4、5,3 B.3,15,27 C.-1,15,3 D.15,27,3
8.对下述程序,正确的结论是( )
#include
5、 ) 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)
6、 } 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=
7、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
8、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.下面程序的运行结果是(
9、 ) 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.下面程序
10、的运行结果是( )
#define MIN(x,y)(x)<(y)?(x):(y)
#include
11、二个至五个是符号题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。 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;
12、 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; 则可以输
13、出元素值为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;
14、 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
15、x<<4; 三、填空题(本大题共10小题,每小题1分,共10分) 26.用一字节表示十进制数-123的补码是_____________。 27.C语言程序从_____________开始执行。 28.在使用字符输入输出函数时,要求在程序的开头处写上的编译预处理命令是_____________。 29.执行下列程序段后,x的值为_____________。 x=100;a=10;b=20;0k1=5;0k2=0; if(a
16、则程序段中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,
17、则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
18、…结构写出下面函数所对应的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=
19、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 20、)
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 21、\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() 22、
{
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中。
8






