资源描述:
《C语言期末模拟试题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是(D)。A.ABCB.abcC.a_bcD.ab.c2.C程序是由 B 构成的。A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数3.以下说法中正确的是:A。A.在C语言中,实参与其对应的形参各占独立的存储单元;B. 在C语言中,实参与其对应的形参共占同一个存储单元;C. 在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D.在C语言中,形参是虚拟的,不占存储单元。4.设n=3;则n++的结果是(B)。A.2B.3C.4D.55.
2、设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。A.0B.1C.2D.36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是(A)。A.自动(auto)B.静态(static)C.外部(extern)D.寄存器(register)7.在while(x)语句中的x与下面条件表达式等价的是:D。A.x==0B.x==1C.x!=1D.x!=08.若有以下说明和语句:structworker{intno;char*name;}work,*p=&work;则以下引用方法不正确的是(D)。A.work.noB.(*p).noC.p->n
3、oD.work->no9.以下对二维数组进行正确初始化的是(B)。A. inta[2][3]={{1,2},{3,4},{5,6}};B. inta[][3]={1,2,3,4,5,6};C. inta[2][]={1,2,3,4,5,6};D. inta[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:B。A) j*m+iB) i*m+jC) i*m+j-1D)i*m+j+1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1.#include
4、tdio.h>main(){inti=16,j,x=6;j=i+++1;x*=i=j;printf(“%d,%d”,j,x);} 运行结果是: 2.#include#includemain(){inta=1,b=4,c=2;floatx=10.5,y=4.0,z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;printf(“%f”,z);}运行结果是: 3.#includemain(){inta,b,c,d;a=c=0;b=1;d=20;if(a)d=d-10;elseif(
5、!b)if(!c)d=25;elsed=15;printf(“d=%d”,d);}运行结果: 4.main(){inti=10;switch(i){case9:i+=1;case10:i+=1;case11:i+=1;default:i+=1;}printf(“%d”,i);}运行结果: 5.#includemain(){inta[]={1,2,3,4},i,j,s=0;j=1;for(i=3;i>=0;i--){s=s+a[i]*j;j=j*10;}printf("s=%d",s);}运行结果: 6.func(intx){x=2
6、0;}main(){intx=10;func(x);printf(“%d”,x);}运行结果: 三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(20分,每空2分)1.已知能被4整除而不能被100整除的或者能被400整除的年份是润年,则判断某一年是否是润年的程序如下:main(){intyear,leap;scanf(“%d”,&year);if()leap=1;elseleap=0;if()printf(“是润年”);elseprintf(“不是润年”);}2.将100至200间不能被3整除的数输出:main(){in
7、tn;for(n=100;n<=200;n++){if(n%3==0);printf(“%d”,n);}}3.判断m是否是素数#includemain(){intm,i,k;scanf(“%d”,&m);k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0);if(i>=k+1)printf(“%disaprimenumber”,m);elseprintf(“%disnotaprimenumber”,m);} 4.给定一3*4的矩阵,求出其中值最大的元素的值,及所在的行列号。main(){inti,j,row=0
8、,colum=0,max;staticinta[3][4]={{1