电大C语言程序设计期末考试试题A

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、选择题(每题1.5分,共计45分)1、以下叙述正确的是【】A.C语言程序是由过程和函数组成的B.C语言函数可以嵌套调用,例如:fun(fun(x))C.C语言函数不可以单独编译D.C语言中除了main函数,其他函数不可作为单独文件形式存在2、以下关于C语言的叙述中正确的是【】A.C语言中的注释不可以夹在变量名或关键字的中间B.C语言中的变量可以在使用之前的任何位置进行定义C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D.C语言的数据常量中夹带空格不影响常量的正常使用3、以下C语言用户标识符中,不合法的是【】A._1B.AaBcC.a_bD.a—b4、若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是【】A.a=a++,i++;B.i=(a+k)=(i+k);C.i=a%11;D.i=!a;5、有以下程序#includestdio.hmain(){chara,b,c,d;scanf(“%c%c”,&a,&b);c=getchar();d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,CR代表回车,注意:回车也是一个字符)12CR34CR则输出结果是【】A.1234B.12C.123D.12346、以下关于C语言数据类型使用的叙述中错误的是【】A.若要准确无误差的表示自然数,应使用整数类型B.若要保存带有多位小数的数据,应使用双精度类型C.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D.若只处理“真”和“假”两种逻辑值,应使用逻辑类型7、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是【】A.1B.0C.2D.不知道a的值,不能确定8、以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是【】A.switch(a){case:a=b;break;default:a++;}B.switch(a==1){case0:a=b;break;case1:a++;}C.switch(a){default:a++;break;case1:a=b;}D.switch(a==1){case1:a=b;break;case0:a++;}9、有如下嵌套的if语句if(ab)if(ac)k=a;elsek=c;elseif(bc)k=b;elsek=c;以下选项中与上述if语句等价的语句是【】A.k=(a<b)?a:b;k=(b<c)?b:c;B.k=(a<b)?((b<c)?a:b:((b>c)?b:c);C.k=(a<b)?((a<c)?a:c):((b<e)?b:c);D.k=(a<b)?a:b;k=(a<c)?a:c;10、有以下程序#include<stdio.h>main(){ini,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf(m=%d\n,m);}程序运行后的输出结果是【】A.m=6B.m=2C.m=4D.m=511、有以下程序#include(stdio.h>main(){inta=l;b=2;for(;a<8;a++){b+=a;a+=2;}printf(%d,%d\n,a,b);}程序运行后的输出结果是【】A.9,18B.8,11C.7,11D.10,1412、有以下程序,其中k的初值为八进制数#includestdio.hmain(){intk=011;printf(%d\n,k++);}程序运行后的输出结果是【】A.12B.11C.10D.913、下列语句组中,正确的是【】A.char*s;s=Olympic;B.chars[7];s=Olympic;C.char*s;s={Olympic};D.chars[7];s={Olympic};14、以下关于return语句的叙述中正确的是【】A.一个自定义函数中必须有一条return语句B.一个自定义函数中可以根据不同情况设置多条return语句C.定义成void类型的函数中可以有带返回值的return语句D.没有return语句的自定义函数在执行结束时不能返回到调用处15、下列选项中,能正确定义数组的语句是【】A.intnum[0..2008];B.intnum[];C.intN=2008;intnum[N];D.#defineN2008intnum[N];16、有以下程序#includestdio.hvoidfun(char*c,intd){*c=*c+1;d=d+1;printf(%c,%c,,*c,d);main(){charb='a',a='A';fun(&b,a);printf(%c,%c\n,b,a);}程序运行后的输出结果是【】A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B17、若有定义int(*Pt)[3];,则下列说法正确的是【】A.定义了基类型为int的三个指针变量B.定义了基类型为int的具有三个元素的指针数组ptC.定义了一个名为*pt、具有三个元素的整型数组D.定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组18、设有定义doublea[10],*s=a;,以下能够代表数组元素a[3]的是【】A.(*s)[3]B.*(s+3)C.*s[3]D.*s+319、有以下程序#include(stdio.h)main(){inta[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++)s=s+a[b[i]]);printf(%d\n,s);}程序运行后的输出结果是【】A.6B.10C.11D.1520、有以下程序#includestdio.hmain(){intb[3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i3;i++)for(j=ij=1;j++)t+=b[i][b[j][i]];printf(%d\n,t);}程序运行后的输出结果是【】A.1B.3C.4D.921、若有以下定义和语句chars1[10]=abcd!,*s2=\n123\\;printf(%d%d\n,strlen(s1),strlen(s2));则输出结果是【】A.55B.105C.107D.5822、有以下程序#includestdio.h#defineN8voidfun(int*x,inti){*x=*(x+i);}main(){inta[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i<N/2;i++){printf(%d,a[i]);}printf(\n);}程序运行后的输出结果是【】A.1313B.2234C.3234D.123423、有以下程序#includestudio.hintf(intt[],intn);main{inta[4]={1,2,3,4},s;s=f(a,4);printf(%d\n,s);}intf(intt[],intn){if(n0)returnt[n-1]+f(t,n-1);elsereturn0;}程序运行后的输出结果是【】A.4B.1OC.14D.624、有以下程序#includestdio.hintfun(){staticintx=1;x*2;returnx;}main(){inti,s=1,for(i=1;i=2;i++)s=fun();printf(%d\n,s);}程序运行后的输出结果是【】A.OB.1C.4D.825、有以下程序#includestdio.h#defineSUB(a)(a)-(a)main(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(%d\n,d);}程序运行后的输出结果是【】A.0B.-12C.-20D.1026、设有定义:structcomplex{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是【】A.data2=data1;B.data2=(2,6);C.data2.real=data1.real;D.data2.real=data1.unreal;27、有以下程序#includestdio.h#includestring.hstructA{inta;charb[10];doublec;};voidf(structAt);main(){structAa={1001,ZhangDa,1098.0};f(a);printf(%d,%s,%6.1f\n,a.a,a.b,a.c);}voidf(structAt){t.a=1002;strcpy(t.b,ChangRong);t.c=1202.0;}程序运行后的输出结果是【】A.1001,zhangDa,1098.0B.1002,changRong,1202.0C.1001,ehangRong,1098.OD.1002,ZhangDa,1202.028、有以下定义和语句structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s;};structworkersw,*pw;pw=&w;能给w中year成员赋1980的语句是【】A.*pw.year=198O;B.w.year=1980;C.pw-year=1980;D.w.s.year=1980;29、有以下程序#includestdio.hmain(){inta=2,b=2,c=2;printf(%d\n,a/b&C.;}程序运行后的输出结果是【】A.OB.1C.2D.330、有以下程序#includestdio.hmain(){FILE*fp;charstr[10];fp=fopen(myfile.dat,w);fputs(abc,fp);fclose(fp);fpfopen(myfile.data,a++);fprintf(fp,%d,28);rewind(fp);fscanf(fp,%s,str);puts(str);fclose(fp);}程序运行后的输出结果是【】A.abcB.28cC.abc28D.因类型不一致而出错二、填空题(每空2分,共30分)1、设x为int型变量,请写出一个关系表达式_____________________,用以判断x同时为3和7的倍数时,关系表达式的值为真。2、有以下程序#includestdio.hmain(){inta=1,b=2,c=3,d=0;if(a==1)if(b!=2)if(c==3)d=1;elsed=2;elseif(c!=3)d=3;elsed=4;elsed=5;printf(“%d\n”,d);}程序运行后的输出结果是_____________________。3、有以下程序#includestdio.hmain(){intm,n;scanf(%d%d,&m,&n);while(m!=n){while(mn)m=m-n;while(mn)n=n-m;}printf(“%d\n”,m);}程序运行后,当输入1463回车时,输出结果是_____________________。4、有以下程序#includestdio.hmain(){inti,j,a[][3]={1,2,3,4,5,6,7,8,9};for(i=0;i3;i++)for(j=i;j3;j++)printf(“%d%,a[i][j]);printf(\n);}程序运行后的输出结果是_____________________。5、有以下程序#includestdio.hmain(){inta[]={1,2,3,4,5,6},*k[3],i=0;while(i

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功