1、 专门收集历年试卷做试题,没答案?上自考365,网校名师为你详细解答!全国2002年4月高等教育自学考试计算机基础与程序设计试题课程代码:02275一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1.计算机能够自动按照人们的意图进行工作的最基本思想是( )A.采用逻辑部件 B.存储程序和数据C.控制代码 D.总结结构2.若要显示C盘TC子目录下名为EXAM.C的内容一定成功的命令是( )A.TYPE C:TCEXAM B.TYPE EXAM.CC.COPY CON C;TCEXAM.C D.CO
2、PY C:TCEXAM.C CON3.编辑程序的功能是( )A.修改并建立源程序 B.将源程序翻译成目标程序C.调试程序 D.命令计算机执行指定的程序4.设int a=2,b;则执行b=a&1;语句后,b的结果是( )A.0 B.1 C.2 D.35.逗号表达式(a=3*5,a*4),a+15的值是( )A.15 B.60 C.30 D.756.在C程序中,设一表达式中包含有int,long, unsigned和char类型的变量和数据,则表达式最后的运算结果类型是( )A.int B.char C.unsigned D.long7.下面程序段的运行结果是( ) main ( ) int a=
3、11,b=10,c=0; a/=b+(b&c); printf(%dna);A.0 B.1 C.1.1 D.118.两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是( ) main ( ) int x; scanf(%d,&x); if(x+5) printf(%d,x); else printf(%dn,x-1);A.7和5 B.6和3 C.7和4 D.6和49.表达式y3? -1.01的值的类型应是( )A.不确定 B.实型 C.整型 D.无符号整型10.语句while(!e);中,条件!e等价于( )A.e=0 B.e!=0 C.e!=1 D.e=011.下面程序的运行结
4、果是( ) main( ) int i=1,sum=0; lop:sum=sum+i ; i=i+2; if(ib) swap(p1,p2); printf(%d,%dn,*p1,*p2);A.5,2 B.5,5 C.2,5 D.2,218.若有定义int *x3,b10;则正确的赋值语句是( )A.x=b0; B.x=b; C.x0=b0; D.x0=&b0;19.下面程序的运行结果是( ) #define ADD(x) x+x void mian( ) int a=2,b=1; prinft(%dn,3*ADD(a+b);A.9 B.10 C.12 D.1820.则FILE *fp;cha
5、r ch;ch=fgetc(fp);可以推知fgetc函数的原型可以是( )A.void fgetc( ); B.char fgetc( )C.char fgetc(int); D.int fgetc(FILE *fp);二、多项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的五个选项中有二至五个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。多选、少选、错选均无分。21.下面哪些是组成MSDOS操作系统的模块( )A.COMMAND.COM B.IO.SYS C.MSDOS.SYSD.Turbo C E.BOOT22.与十进制141等值的数是( )A.(100011
6、01)2 B.(10001110)2 C.(215)8D.(8D)16 E.(8E)1623.设a=1,b=-3,c=0,下面表达式为0的是( )A.ba&aa)(b5)D.!a&ba&(c+1) E.(1,2,5)=(1,3,3)24.在下列各说法中,正确的说法有( )A.break语句只能用于循环语句B.break语句只能用于switch语句和循环语句C.break语句可用于switch语句D.break语句可用于循环语句E.break语句不能用于switch语句25.若有如下定义及赋值( ) int x=9,*p,*p1; p=&x;p1=p;则可以输出变量x的地址的语句是A.print
7、f(%dn,x) B.printf(%dn,*p);C.printf(%dn,p1); D.printf(%dn,&x);E.printf(%dn,*p1);26.有函数定义如下:( ) void ss(x) int *x; 则主函数中引用函数ss的正确形式是A.main( ) B.main( ) C.main( ) int a5; int a5.*p=a; int a5; ss(a); ss(p); ss(a0); D.main( ) E.main( ) int a5,*p=a; int a5,*p=a; ss( p0); ss(*p); 27.若有定义int x45,(*p)5;及赋值p=
8、x;则下列表示数组地址的形式中,地址值相等的是( )A.*(x+1) B.x+1 C.x2D.P+1 E.*(p+1)28.设有定义int a36,*p;则正确的指向数组元素的指针赋值是( )A.p=*a; B.p=a0; C.p=aD.p=a+1; E.p=*(a0+1);29.有以下定义和语句:( ) struct stud char name 10; int age; struct stud s, *ps; ps=&s; 则下面正确的语句是A.s=Mary,30 B.(*ps)age=30 C.s.name=Mary;D.scanf(%d,&psage); E.strcpy(psname
9、,Mary);30.设有int a=123;a0xff00可以使a的( )A.低字节取反 B.高字节取反 C.低字节不变D.高字节不变 E.高低字节都取反三、填空题(本大题共10小题,每小题1分,共10分)31.设字长为八位,十进制100在机内的存储形式是_。32.C语言程序由main( )函数开始执行,应在_函数中结束。33.在格式输出语句中,用于带符号的十进制长整型输出的格式符是_。34.当a=2,b=3,c=1时,执行以下程序段后,输出结果是_。 if(ab) if(ac) printf(%dn,a); else printf (%dn,b); printf(endn);35.设i,n,
10、p均为int型变量,则执行以下程序段后,p的值为_。 p=1;n=4; for(i=1;i=n;i+) p=p*i;36.以下程序的输出结果是_。 main ( ) int a33=1,2,3,4,5,6,7,8,9,i,s=0; for(i=0;i=2;i+) s=s+aii; printf (s=%dn,s);37.所谓变量的_就是可引用变量的范围,通常取决于变量被定义的位置。38.设p1,p2为同类型的指针变量,若有p1=p2,则说明p1与p2指向_。39.在union std int fjh; char addr 30; wang; 中,wang是具有union std共用体类型的_。
11、40.字符串写函数fputs( )的格式是fputs(str,fp);它的功能是_。四、简答题(本大题共4小题,第41、42题每小题2分,第43、44题每小题3分,共10分)41.描述一个C程序开发过程的流程图。42.将下列条件语句逻辑关系写得更清晰一些(必要时可把if嵌套的有关部分写成复合语句)。 if(ab) if(cd) x=0; else if(ac) if(bd) x=1; else x=2;else if(ad) if(bc) x=3; else x=4;else x=5;else x=6;43.定义char *str=program;和定义char str=program;是等价
12、的吗?为什么?44.简述feof函数返回值的含义。五、阅读分析题(本大题10小题,每小题2分,共20分)45.阅读下列程序,写出运行结果。 main( ) unsigned a; int b=-1; a=b; printf(%un,a); printf(a=%x,a);46.阅读下列程序,并回答问题: main( ) int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0; a+;break; case 1: b+;break; case 2:a+;b+;break; case 3:a+;b+; printf(a=%d,b=%dn,a,b
13、); 请分析该程序的执行过程并写出运行结果。第47、48、49题请参阅下面程序,并回答相关问题: #define N 8 main( ) int a=1,b-1,i; for (i=1,i=N/2;i+) printf(%5d %5d,a,b); if(i%2=0) printf(n); a=b+a;b=a+b;47.printf(n);语句执行多少次?48.程序输出结果是什么?49.若把if(i%2=0)print(n);语句删除,程序输出效果与48题有何不同?第50、51、52题请参阅下面程序,并回答相关问题。 main( ) int num; scanf(%d,&num); if(pri
14、me(num) printf(%d is prime number,num); else printf(%d is not a prime number,num); int prime(num) int num; int flag =1,n; for(n=2;nnum/2&flag=1;n+) if(num%n=0) flag=0; return (flag);50.prime 函数的功能是什么?51.当输入23时,程序运行结果是什么?52.flag变量的作用是什么?第53、54题请参阅下面程序,并回答相关问题。 struct node int x; struct node * next; v
15、oid print(struct node * head) struct node *p; p=head; while (p!=NULL) printf(%dn,px); p=pnext; 53.函数print完成的功能。54.语句p=pnext;的作用。六、程序设计题(本大题共2小题,第55小题8分,第56小题12分,共20分)55.将26个英文字母按aAbBcCdDzZ先小写后大写的顺序逐个打印出来。56.编程实现将字符串str2连接到字符串str1的末尾并输出str1串。(不得使用C中的strcat标准库函数)全国2002年4月高等教育自学考试计算机基础与程序设计试题参考答案课程代码:0
16、2275一、单项选择题(本大题共20小题,每小题1分,共20分) 1.B 2.D 3.A 4.B 5.C 6.D 7.B 8.C 9.B 10.A 11.B 12.C 13.C 14.B 15.C 16.C 17.A 18.D 19.B 20.D二、多项选择题(本大题共10小题,每小题2分,共20分) 21.ABCE 22.ACD 23.ACE 24.BCD 25.CD 26.AB 27.ABDE 28.AB 29.DE 30.BC 三、填空题(本大题共10小题,每小题1分,共10分)31.1001110032.main( )33.%ld34.end35.2436.s=1537.作用域38.同
17、一对象或同一变量39.变量40.向与fp有联系的文件中写一串字符。四、简答题(本大题共4小题,第41、42题每小题2分,第43、44题每小题3分,共10分)41.42.if(ab) if(cd)x=0; else if(ac) if (bd)x=1; else x=2; else if(ad) if(bc)x=3; else x=4; else x=5; else x=6;43.不等价,前者定义的str是字符串指针变量,后者定义的str是字符数组。前者str中只存放字符串program的首地址,后者str中逐个存放字符串program中的字符。44.设文件指针为fp,若feof(fp)的值为1
18、,表示与fp有联系的文件结束,若feop(fp)的值为0,表示与fp有联系的文件没有结束。五、阅读分析题(本大题共10小题,每小题2分,共20分)45.运行结果为 65535 a=ffff46.本程序关键是对switch执行过程的理解,其执行过程如下: (1)根据x=1执行外层switch中Case 1后的语句,该语句又是一个switch语句。 (2)根据y=0执行内层switch中的Case 0后的语句。 此时a=1,并跳出内层switch语句。 (3)由于外层switch中Case 1后无Break语句,故流程转入 Case 2后的语句,此时,a=2,b=1,并跳出外层switch. 最后
19、输出结果 a=2,b=1。47.2次。48.1 1 2 3 5 8 13 2149.程序输出结果在同一行上显示。50.函数功能是判断一个数是否为素数。51.结果为:23 is prime number52.flag的作用是使for循环立即终止退出,当有一个n可以整除num时。这样可以提高执行速度。53.输出head所指链表的所有元素。54.使指针p指向下一个结点。六、程序设计题(本大题共2小题,第55小题8分,第56小题12分,共20分)55.#include void main(void) char ch1=a,ch2=A; while(ch1=z) printf(%c,ch1);ch1+; printf(%c,ch2);ch2+; printf(n); 56.#include void mystrcat(char*,char*); void main(void) char * str1=ahcd,str2=dcfg; mystrcat(str1,str2); prinft(%s,str1); void mystrcat(char * s, shar*t) int i=0,j=0; while (si!=0) i+; while(si=tj)!=0) i+; j+; 9