第1页,共10页第2页,共10页…………○…………密…………封…………线…………内…………不…………要…………答…………题…………○…………学校:姓名:班级:邵阳市高级技工学校2016年9月C语言月考试题选择题(每题2分,共50分)1.C语言是由()构成。A.主程序和子程序B.主函数和若干子函数C.一个主函数和一个其他函数D.主函数和子程序2.以下说法中正确的是()。A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分3.以下对C语言函数的有关描述中,正确的是()。A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.C程序中有调用关系的所有函数必须放在同一个源程序文件中4.C语言程序中,当函数调用时()。A.实参和形参各占一个独立的存储单元B.实参和形参共用一个存储单元C.可以由用户指定是否共用存储单元D.计算机系统自动确定是否共用存储单元5.关于return语句,下列正确的说法是()。A.在主函数和其他函数中均要出现B.必须在每个函数中出现C.可以在同一个函数中出现多次D.只能在除主函数之外的函数中出现一次6.一个函数返回值的类型是由()决定的。A.return语句中表达式的类型B.在调用函数时临时指定C.定义函数时指定的函数类型D.调用该函数的主调函数的类型7.在C语言的函数中,下列正确的说法是()。A.必须有形参B.形参必须是变量名C.可以有也可以没有形参D.数组名不能作形参8.以下描述正确的是()。A.函数调用可以出现在执行语句或表达式中B.函数调用不能作为一个函数的实参C.函数调用可以作为一个函数的形参D.以上都不正确9.当调用函数时,实参是一个数组名,则向函数传送的是()。A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值10.如果在一个函数的复合语句中定义了一个变量,则该变量()。A.只在该复合语句中有效,在该复合语句外无效B.在该函数中任何位置都有效C.在本程序的源文件范围内均有效题号一二总分得分第3页,共10页第4页,共10页…………○…………密…………封…………线…………内…………不…………要…………答…………题…………○……………………○…………密…………封…………线…………内…………不…………要…………答…………题…………○…………D.此定义方法错误,其变量为非法变量11.下列说法不正确的是()。A.主函数main中定义的变量在整个文件或程序中有效B.不同函数中,可以使用相同名字的变量C.形式参数是局部变量D.在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效12.以下叙述中不正确的是()。A.在不同的函数中可以使用相同名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效13.以下叙述中不正确的是()。A.函数中的自动变量可以赋初值,每调用一次,赋一次初值。B.在调用函数时,实在参数和对应形参在类型上只需赋值兼容。C.外部变量的隐含类别是自动存储类别。D.函数形参可以说明为register变量。14.以下只有在使用时才为该类型变量分配内存的存储类说明是()。A.auto和staticB.auto和registerC.register和staticD.extern和register15.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。A.voidB.intC.floatD.double16.在C语言中,函数的隐含存储类别是()。A.autoB.staticC.externD.无存储类别17.若有以下程序#includestdio.hvoidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf(%d\n,n);}则以下叙述中不正确的是()。A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB.若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC.对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D.函数f无返回值,所以可用void将其类型定义为无值型18.以下所列的各函数首部中,正确的是()。A.voidplay(var:Integer,varb:Integer)B.voidplay(inta,b)C.voidplay(inta,intb)D.Subplay(aasinteger,basinteger)19.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是()。A.3B.4C.5D.有语法错20.若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是()。A.3B.4C.5D.621.以下函数值的类型是()。第5页,共10页第6页,共10页…………○…………密…………封…………线…………内…………不…………要…………答…………题…………○…………学校:姓名:班级:fun(floatx){floaty;y=3*x-4;returny;}A.intB.不确定C.voidD.float22.下列函数定义不正确的是()。A.intmax()B.intmax(x,y){intx,y,z;intx,y;z=xy?x:y;{intz;}z=xy?x:y;return(z);}C.intmax(x,y)D.intmax(){intx,y,z;{}z=xy?x:y;return(z);}23.下列程序的运行结果是()。main(){inti=3;printf(%d,%d,%d\n,i,i++,i++);}A.5,5,4B.3,4,5C.3,3,4D.5,4,324.以下程序的输出结果是()。fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf(%d,a);}A.0B.29C.31D.无定值25.下列程序执行后的输出结果是()。voidfunc1(inti);voidfunc2(inti);charst[]=hello,friend!;voidfunc1(inti){printf(%c,st[i]);if(i3){i+=2;func2(i);}}voidfunc2(inti){printf(%c,st[i]);if(i3){i+=2;func1(i);}}main(){inti=0;func1(i);printf(\n);}A.helloB.helC.hloD.hlm第7页,共10页第8页,共10页…………○…………密…………封…………线…………内…………不…………要…………答…………题…………○……………………○…………密…………封…………线…………内…………不…………要…………答…………题…………○…………填空题(每题4分共20分)26.下面程序的输出结果是________。intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=4,b=3,c=5,d=6;t(a,b,c,d);printf(%d%d\n,c,d);}27.下面程序运行后的输出结果是________。voidfun(intx,inty){x=x+y;y=x-y;x=x-y;printf(%d,%d,,x,y);}main(){intx=2,y=3;fun(x,y);printf(“%d,%d\n”,x,y);}28.下面程序的输出结果是________。voidfun(){staticinta=0;a+=2;printf(%d,a);}main(){intcc;for(cc=1;cc4;cc++)fun();printf(\n);}29.下面程序输出的最后一个值是________。intff(intn){staticintf=1;f=f*n;returnf;}main(){inti;for(i=1;i=5;i++)printf(%5d,ff(i));}30.下面程序运行结果为________。#includestdio.hmain(){inti;for(i=0;i2;i++)as();}as(){第9页,共10页第10页,共10页…………○…………密…………封…………线…………内…………不…………要…………答…………题…………○…………学校:姓名:班级:intlv=0;staticintsv=0;printf(%d,%d\n,lv,sv);lv++;sv++;return;}编程题(每题15分共30分)31、编写程序,输入一整数,输出它是奇数还是偶数。32、编写程序,将华氏温度转换为摄氏温度,公式为)32(95Fc。