1、全国2011年4月自学考试计算机基础与程序设计试题一、单项选择题 (本大题共20小题,每小题1分,共20分)1.计算机处理信息时,CPU一般是以一组二进制数码为单位进行处理的,这组二进制数码称 为( )A.word B.MB C.KB D.bit2.下列不属于计算机硬件系统的是 ( )A.操作系统 B.控制器 C.存储器 D.运算器3.下面转义字符中,表示换页的是 ( )A.0 B.n C.r D.f4.在Turbo C 2.O中,保存源程序在主菜单File项中可选择( )A.Load B.New C.Save D.Quit5.下面表达式结果为3的是 ( )A.(-7)4 B.(-7.O)4.
2、0 C.7(-4) D.7.O4.O6.设有int x=2,y,z;执行z=y=x+;后变量z的值是 ( )A.0 B.1 C.2 D.37.下面不正确的关系表达式是 ( )A.a=3 B.a3 C.a=bc D.abc8.设有声明int x=1,y=2,z;执行z=xy?x+2:y-2后变量z的值是 ( )A.0 B.1 C.2 D.39.设有int b=-1;则执行printf(un”,b);后的输出是 ( )A.-1 B.ffff C.177777 D.6553510.下面程序段的输出结果是 ( ) main() int a=3,b=5,c; c=a+b;a=b;b=c; printf(
3、d,d,a,b);A.3,5 B.5,3 C.5,8 D.8,1311.设有声明int x=-1;执行if(x0)x=-x-1;后变量x的值是 ( )A.-1 B.0 C.1 D.212.关于break语句,以下说法不正确的是 ( )A.它可以用于循环语句中 B.它可以用于switch语句中C.可以从最内层循环结构中直接跳出最外层循环结构D.可以从当前switch结构中跳出13.下面能正确将字符串Boy进行完整赋值操作的语句是( )A.char s3=B,o,y; B.char s=Boy;C.char s3=Boy; D.char s3;sO=B;s1=o;s2=y;14.下列函数中向文件一
4、次读一串字符的函数是 ( )A.fgetc B.fgets C.fputc D.fputs15.在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 ( )A.extern B.register C.auto D.static16.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 ( )A.地址传递 B.单向值传递C.由实参传给形参,再由形参传回给实参 D.由用户指定方式17.设有声明语句int a23,(*p)3=a;则对a数组元素正确引用的是 ( )A.(p+1)O B.*(*(p+2)+1) C.*(p1+1) D.p1+2
5、18.设有下面的结构体和结构变量定义: ( )struct carlong id:char*name;struct car carl; 关于结构体类型变量赋值不正确的是A.carl.id=10101; B.carl.name=BlueSky;C.carl.* name=BlueSky; D.carl.id=123456L;19.设有声明和语句: ( )unsigned int x=1,y=2;xage=15;C.p=&person; p-age=25;D.strcpy(person.name,Tom); p=&person;E.strcpy(person.name,Tom),p=&person
6、; p-weight=97.2;三、简答题 (本大题共4小题,每小题4分,共16分)26.设有下面程序: void main(void) int x: x=1: while(x20) printf(x=dn,x); x+=2: 请把程序改写为for结构。27.声明语句char s20=computer; 能用下面的语句替代吗?为什么? char s20; s=computer;28.设有说明:struct nodeint num;char name12;char sex;float income;a,*ptr=&a; 写出对ptr所指成员num,name,sex,income分别赋值123,z
7、hang,m,654.25的赋值语句。29.设有说明:unsigned x=10;试写出通过仅对x进行移位操作的表达式,使表达式的值为 16。四、阅读分析题 (本大题共6小题,每小题5分,共30分)30.阅读下列程序并写出运行结果。void main(void) int x=1,y=2; char ch=a: x+;y-=2;+ch; printf(c,d,dn,ch,x,y);31.阅读下列程序并写出运行结果。void main(void)int x=11;switch(x-1)case O:printf(x=dn,x+);break:case 10:printf(x=dn,x*2);cas
8、e 20:printf(x=dn,x*4);default:printf(x=dn,x);32.阅读下列程序,当依次输入11,l2,l3,14,16这5个数时,请写出程序的运行结果。void main(void) int x,i,s=O;for(i=O;i=O)if(ym=x)f=1;printf(nyd=dn,m,ym);break;else if(ymx)b=m-1;printf(dt,ym);m=(b+t)2;elset=m+1;printf(dt,ym);m=(b+t)2;if(! f)printf(n not find!n);34.阅读下列程序序并写出运行结果。int fun(int
9、 y);void main(void)int x4=3,5,7,O,s=0,i=0;while(xi)s+=fun(xi);i+;printf(s=dn,s);int fun(int y)static int a=O;a=a+y;return a;35.阅读下列程序并写出运行结果。void f1(char*t,char*s);void main(void)char s120=abcdl2345,t120=xyz;printf(snsn,s1,t1);f1(t1,s1);printf(sn,t1);void f1(char*t,char*s)while(*t=*s)!=0)t+;s+;五、编程题
10、 (本大题共2小题,每小题12分,共24分)36.从键盘输入20个整数存放到数组a 中,计算数组a中下标为奇数的所有元素的和。37.从键盘上输入20个字符存放到一个字符数组s中。对数组s中的元素按升序(由小到大)排序,再将排序后的结果写到c:abc.dat文本文件中。第6页第7页为2011年4月份答案全国2011年7月自学考试计算机基础与程序设计试题课程代码:02275一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.下列存储设备中,属于主机范畴的是( )A.光盘 B.硬盘 C.
11、内存D.U盘2.下列属于计算机软件系统的是( )A.内存储器 B.操作系统 C.显示器D.CPU3.在Turbo C2.0中,在主菜单File项中选择Os Shell后,要重新回到Turbo C2.0,应使用的命令是( )A.Return B.Exit C.QuitD.New4.下面合法的C语言标识符是( )A.int_ B.int C.D.file.c5.若有int a,b;下面正确使用变量a,b的表达式是( )A.7.03.0 B.(a+b)+ C.7+D.a+a+b6.下面几种运算符中,优先级最低的是( )A.| | B., C.=D.?:7.设有int a=3,b=-4,c=5;表达式
12、(ab)?a&cb);的执行结果是( )A.0 B.1 C.5D.810.下面程序的输出结果是( )main( )int a=3,b=5;a+=b;b+=a;printf(“%d,d”,a,b);A.3,5 B.5,3 C.8,13D.13,2111.若有int a=8,b=12,max,min;执行语句if(ab)max=a;min=b;elsemax=b;min=a;的结果是( )A.max的值是8,min的值是12B.max的值是8,min的值是8C.max的值是12,min的值是8D.max的值是12,min的值是1212.执行下面程序段后,a的值是int a=100;doa+;whi
13、le(a120);( )A.100 B.101 C.120D.12113.若有定义int ch54;则数组ch中的元素的个数是( )A.9 B.12 C.15D.2014.若有定义char str20;能使数组str得到字符串I am a boy的正确输入方法是( )A.gets(str); B.str=getchar( ); C.scanf(c,str); D.scanf(s,str);15.若主函数调用funl函数,而funl函数调用fun2函数,这种逐级调用称为( )A.直接递归调用 B.间接递归调用 C.并行调用 D.嵌套调用16.下面关于函数参数的说法中,不正确的是( )A.实参可以
14、是常量、变量或表达式 B.形参可以是常量、变量或表达式C.实参可以是数组元素或数组名 D.形参应与其对应的实参类型一致17.若有定义int b23 =0,(*p)3=b;对b数组第i行第j列(设i,j已正确说明并赋值)元素的不正确的引用是( )A.*(*(p+i)+j) B.*(pi+j) C.*(p+i)+jD.(*(p+i)j18.设有下面的结构体和结构变量定义:Struct teachar*name;float price,weight;struct tea teal=green_tea,2.0,28.5;struct tea *p_struct=&teal;语句:printf(s,.1
15、f ,p_structname,p_structprice*p_structweight);的输出结果是( )A.57.0 B.57.0,green_tea C.green_tea,57.0 D.green_tea19.若有定义int x=5,y=6;下面表达式值为0的是( )A.xx B.x&y C.x|yD.y220.下列函数中向文件一次读一个字符的函数是( )A.fgetc B.fputc C.fgetsD.fputs二、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。21
16、.与十进制100等值的数有( )A.(1100100)2 B.(1011011)2 C.(144)8D.(64)16 E.(5F)1622.下面合法的C语言常量有( )A.tc B.3e2.5 C.0xfdeD.1e8 E.n23.下面属于C语言中输入或输出函数的有( )A.scanf B.printf C.putcharD.mainE.pow24.下面关于函数的说法中,不正确的有( )A.定义函数时,形参的类型说明可以放在函数体内B.return后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准D.如果形参与实参的类型不一致,以实参类型为准E.形参与实参的对应关系由
17、形参名和实参名决定25.设有关于结构体类型的定义:struct databasechar name20;float speed;dbl=Oracle,125600.56,db2,*p=&db2;下面选项中语句正确的有( )A.p=&dbl;B.p=dbl;C.strcpy(pname,Sybase);D.pspeed=dbl.speed;E.strcpy(pname,dbl.name)三、简答题(本大题共4小题,每小题4分,共16分)26.下面是求1到100之和的程序main( ) int i,sum=0;for(i=1;i8|(x&0xff)8|x&0xff829.设有说明:struct i
18、sland int id;char name10; float area;a,*p=&a;写出对p所指的成员id、area分别赋值101、34521.65,使p所指的指针成员name指向Wang的C语句分别是:四、阅读分析题(本大题共6小题,每小题5分,共30分)30.阅读下列程序并写出运行结果。main( ) int a=55,x,y;x=(int)(a8.0);y=a-8*x;printf(d,dn,x,y);31.阅读下列程序并写出运行结果。main( ) float x;int a=0;scanf(f ,&x);switch(x10-5) case 7: a+;case 6:a+;pr
19、intf(d,a);case 5:a+;break;case 4:a+;default:a+;printf(d,a);case 1:a+=2:printf(dn,a);(1)当程序运行后输入115.5后,写出程序的执行结果。(2)当再次运行程序后输入45后,写出程序的执行结果。32.阅读下列程序并写出运行结果。main( ) int s=0,k=1,i;for(i=0;i3) break;s+=2*k:printf(s=dn,s);printf(s=dn,s);33.阅读下列程序并写出运行结果。main( ) int a44,i,j;for( i=1;i=3;i+)for( j=1;j=3;j
20、+)aij=i+j;for(i=1;i4;i+)for(j=1;j=i;j+)printf(3d,aij);printf(n);34.阅读下列程序并写出运行结果。int sum1;main( ) int sum2=0,i,f1(int),f2(int);for(i=1;i=5;i+)sum1+=f1(i);for(i=1;i=5;i+)sum2+=f2(i);printf(sum1=dn,sum1);printf(sum2=dnsum2);int f1(int a) static int s1=1;s1*=a;return s1;int f2(int a) auto int s2=1;s2*=
21、a;return s2;35.阅读下列程序并写出运行结果。main( ) char s=abcdel2345,*q=s;int a=0;for(;qs+5;q+)printf(c,*q);a=f(s);printf(na=dn,a);int f(char*p) int x=0;while(*p+!=0)x+;return x;五、编程题(本大题共2小题,每小题12分,共24分)36.从键盘上输入30个整数,输出其中能被3整除的数,并求出所有能被3整除的数之和。37.从二进制文件c:abc.dat中读出10个float型数据存放于数组a中,然后将数组a中的数据按从小到大的次序输出在屏幕上。201
22、1.7计算机基础与程序设计试题答案12345678910CBBADBACBC11121314151617181920CBDADBCCA12345ACDCDEABCABCACDE三、简答题26、main( ) int i,sum=0;for(i=1;iid=101;p-area=345212.65;strcpy(p-name,”wang”);1331、(1)12 (2)1332、S=3S=9S=21S=42S=5333、 2 3 4 4 5 634、Sum1=153Sum2=1535、abcdea=1036、#include stdio.hmain() int a30,i,sum=0; prin
23、tf(input 30 nubmers:); for(i=0;i=29;i+) scanf(%d,&ai); for(i=0;i=29;i+) if(ai%3=0) printf(%5d,ai); sum=sum+ai; printf(n%d,sum); getch(); 37、#include stdio.hmain() FILE *fp;float a10 ,x;int i=0,j=0;if(fp=fopen(c:abc.dat,r)=NULL) exit(0);while(fscanf(fp,%f ,&ai+)!=EOF); fclose(fp);for(i=0;i=9;i+) for(
24、j=0;jaj+1) x=aj; aj=aj+1; aj=1=x; for(i=0;iy); Bif(x= =y)x+y;Cif(x!=y) scanf(d,x)else scanf (d,y);Dif(xy)x+;y+;7设有程序段 int x=1,y=-1;if(y0)x-=y;else x+=y;执行完该程序段后,x的值为 ( )A-1 B0 C1 D28下面程序段的循环次数是( )int k=2;while(k= =0) printf (d,k);k-;printf (n);A0次 B1次 C2次 D无限次9下面程序段的输出结果是( )for(i=1;i3;i+)for(j=1;j |
25、 & B| & C| & D | 18设有说明:int u=1,v=3;表达式:u=v的值是( )A0 B1 C3 D819如果将文件指针fp指向文件末尾,正确的语句是 ( )Afeof(fp); Brewind(fp); Cfseek(fp,0L,0); Dfseek(fp,0L,2);20若要在C盘TC目录下,建立一个a1dat的文本文件,正确使用打开文件的函数是( )Afopen(C: TC a1dat,r) Bfopen(C: TC a1dat,r)Cfopen(C: TC a1dat,w) Dfopen(C: TC a1dat,w)二、多项选择题 (本大题共5小题,每小题2分,共10
26、分)在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。21下面属于合法的C语句的有 ( )A表达式语句 B函数调用语句 C子程序调用语句 D空语句 E循环语句22下面循环语句中,没有“无限循环”错误的循环语句有 ( )Afor(;); Bfor(i=1;iname,Wuhan);Cps=&myboat; Ps-weight=2700;Dstrcpy(myboatname,Wine);ps=&myboat;Eps=&myboat,strcpy(myboatname,Shanghai);Ps-weight=5512;三、简答题 (本大
27、题共4小题,每小题4分,共16分)26写出将x,y,z,w分别声明为整型变量、短整型变量、长整型变量和无符号整型变量的语句。 27将下面for循环的程序段,用含while循环的程序段实现。for(s=0,i=1;i=10;i+)s+=i;28简述声明语句:char *p4;的含义。29设有声明:struct cjd long bh;long int xq;char xm9;float score3;x=201101,2,张大力,76,85.0,90);简单回答(1)结构体名;(2)结构体类型变量;(3)结构体类型变量所占字节数;(4)结构体成员xscore2的值。四、阅读分析题 (本大题共6小题,每小题5分,共30分)30写出下面程序的运行结果main()int a=1,b=2,c=3;+a;b=b+a:c=c2;printf(d,d,dn,a,b,c);31写出下面程序的运行结果main()char ch;ch=a;switch(ch)casea:printf(*n);caseb:printf(*n);casec:printf(*n);ch=b;switch(ch)case b:printf(*n);case a:printf(*n);break;case c:printf(*n);
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100