您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 2012-20131C语言期末考试试卷
-----------------A卷(第1页)-----------------名姓号学号班南京林业大学试卷课程C程序设计(A)2012-2013学年第一学期一、选择题(每题2分,共40分)1.以下说法中正确的是______。A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分2.以下字符序列中,能作为C程序自定义标识符的是______。A.ifB.a*bC.CaseD.7ab3.以下选项中非法的字符常量是______。A.'\65'B.'\101'C.'\xff'D.'\019'4.若有表达式(w)?(--x):(++y),则其中与w等价的表达式是______。A.w!=0B.w==0C.w!=1D.w==15.设a,b,c,m和n均为int型变量,且a=3,b=6,c=5,d=8,m=0,n=7,则逻辑表达式(m=ab)&&(n=cd)运算后,n的值为__________。A.0B.1C.7D.56.若变量已正确定义为int型,要通过语句scanf(%d,%d,%d,&a,&b,&c);给a赋值1,给b赋值2,给c赋值3,以下输入形式中错误的是(u代表一个空格符)______。A.uuu1,2,3回车B.1u2u3回车C.1,uuu2,uuu3回车D.1,2,3回车7.若以下选项中的变量全部为整型变量,且已正确赋值,则语法正确的switch语句是_____。A.switch(a+9)B.switcha*b{casec1:y=a-b;{case10:x=a+b;casec2:y=a+b;default:y=a-b;}}C.switch(a+b)D.switch(a*a+b*b){case1:case3:y=a+b;break;{default:break;case0:case4:y=a-b;case3:y=a+b;break;}case2:y=a-b;break;}8.若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是______。A.m[--i]B.m[2*2]C.m[m[0]]D.m[i]9.若有定义:intx[2][3];,则以下关于二维数组x的叙述错误的是______。A.x[0]可看作是由三个整型元素组成的一维数组题号一二三四五六总分得分-----------------A卷(第2页)-----------------B.x[0]和x[1]是数组名,分别代表不同的地址常量C.数组x包含6个元素D.可用语句x[0]=0;为数组所有元素赋初值010.以下选项中,合法的是______。A.charstr3[]={‘d’,’e’,’b’,’\0’};B.charstr4;str4=“helloworld”;C.charname[10];name=“china”;D.charstr1[5]=“pass”,str2[5];str2=str1;11.有以下程序段的输出结果是______。inta,b,c;a=10;b=50;c=30;if(ab)a=b,b=c;c=a;printf(“a=%db=%dc=%d\n”,a,b,c);A.a=10b=50c=10B.a=10b=50c=30C.a=10b=30c=10D.a=50b=30c=5012.下面的程序会______。voidmain(){intx=3,y=0,z=0;if(x=y+z)printf(****);elseprintf(####);}A.有语法错误不能通过编译B.输出****C.可以通过编译,但不能通过连接,因而不能运行D.输出####13.以下程序的输出结果是______。voidmain(){intx=10,y=10,i;for(i=0;x8;y=++i)printf(%d%d,x--,y);}A.10192B.101091C.10990D.987614.有以下程序的运行结果是______。voidmain(){inti,j;for(i=3;i=1;i--){for(j=1;j=2;j++)printf(%d,i+j);printf(\n);}}A.234B.432C.23D.453455433434452315.以下程序的输出结果是______。voidmain(){inta=-2,b=0;while(a++&&++b);-----------------A卷(第3页)-----------------printf(%d,%d,a,b);}A.1,3B.0,2C.1,2D.0,316.以下程序的运行结果是______。voidmain(){inti=5;do{if(i%3==1)if(i%5==2){printf(*%d,i);break;}i++;}while(i!=0);printf(\n);}A.*5B.*3*5C.*7D.*2*617.以下程序的运行结果是______。voidfun(inta,intb){intt;t=a;a=b;b=t;}voidmain(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i10;i+=2)fun(c[i],c[i+1]);for(i=0;i10;i++)printf(%d,,c[i]);printf(\n);}A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,18.以下程序的运行结果是______。voidfun(charc){if(c'x')fun(c-1);printf(%c,c);}voidmain(){fun('z');}A.wxyzB.xyzC.zyxwD.zyx19.以下程序的运行结果是______。#defineS(x)(x)*x*2voidmain(){-----------------A卷(第4页)-----------------intk=5,j=2;printf(%d,,S(k+j));printf(%d\n,S((k-j)));}A.98,18B.39,11C.39,18D.98,1120.以下程序的运行结果是______。voidmain(){chararr[]=ABCDE;char*ptr;for(ptr=arr;ptrarr+5;ptr++)printf(%s\n,ptr);}A.ABCDEB.AC.ED.ABCDEBDBCDECCCDEDBDEEAE二、填空题(每空1分,共10分)1.若有定义:charc=′\010′;则变量c中包含的字符个数为____________。2.函数的返回值是通过函数中的____________语句获得的。3.若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:a=7b=9请完成输出语句:printf(,a,b);4.如果一个循环结构的循环体至少要执行一遍,则最适合描述该循环结构的语句是________。5.若定义:inti=3;,有表达式i=(i+=i,i*=i),i-10,i%4,则该表达式的值是____________,变量i的值是____________。6.设a=1,b=2,c=3,d=4,则表达式ab?a:cd?a:d的结果为____________。7.已有以下定义:inta[10],*p;p=a;则能表示元素a[5]地址的表达式是&a[5]或________。8.设有说明语句inta[3][4]={{1,2},{3,4,5},{6,7,8}};则a[0][2]的初始化值为_____________。9.下面的函数调用语句中func函数的实参个数是____________。func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));三、判断题(每题1分,共8分)1.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式()2.在C语言中,外部变量的隐含类别是自动存储类别()3.函数的定义可以嵌套,但函数的调用不可以嵌套()4.字符型数组中可以存放字符串()5.循环语句for(exp1;exp2;exp3);中第一个表达式exp1在整个循环体中执行的次数仅为1次()6.语句int(*p)[3];是用于定义一个指针数组()7.若定义chara=4;,则执行语句printf(%d\n,a=a1);后,a的值为2()8.若有定义:structstud{charnum[6];doubleave;};则表达式sizeof(structstud)的值为8()-----------------A卷(第5页)-----------------四、程序阅读题(每题2分,共18分)1.以下程序运行后,输出结果是。voidmain(){intx=1,y=2,z=3;x+=y+=z;printf(%d,(xy?x++:y++));}2.以下程序运行后,输出结果是。voidmain(){inta=7;while(a--);printf(%d\n,a);}3.以下程序输出结果是。voidmain(){inti,j;i=17;j=(i++)+i;printf(%d,j);i=16;printf(%d%d,++i,i);}4.以下程序的输出结果是。voidmain(){intx=8;for(;x0;x--){if(x%3){printf(%d,x--);continue;}printf(%d,--x);}}5.下面程序的输出结果是。voidmain(){inti,x,y;i=x=y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i=10);printf(%d,%d\n,x,y);}6.以下程序运行后,输出结果是。#includestdio.hintp(intk,inta[]){intm,i,c=0;for(m=2;m=k;m++){for(i=2;im;i++)if(!(m%i))break;if(i==m)a[c++]=m;}returnc;}-----------------A卷(第6页)-----------------#defineMAXN20voidmain(){inti,m,s[MAXN];m=p(13,s);for(i=0;im;i++)printf(%d,s[i]);printf(\n);}7.以下程序运行后,输出结果是。intfun(intx){staticinta=4;a+=x;return(a);}voidmain(){intk=2,m=1,n;n=fun(k);n=fun(m);printf(%d\n,n);}8.以下程序运行后,输出结果是。intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}voidmain(){inta=8,b=4;printf(%d\n,fun2(a,b/m));}9.以下程序运行后,输出结果是。voidmain(){intarr[]={1,2,3,4,5};int*ptr=arr;*(ptr+2)+=3;printf(%d,%d\n,*ptr,*(ptr+2));}五、程序填空题(每空2分,共14分)1.程序功能:按要求输出26个大写的英文字母。#includestdio.hvoidmain(){charstring[256];inti;for(i=0;i26;i++)string[i]=__________;string[i]=__________;printf(thearrarycontains%s\n,__________);}-----------------A卷(第7页)-----------------2.程序功能:已定义一个
本文标题:2012-20131C语言期末考试试卷
链接地址:https://www.777doc.com/doc-3024105 .html