《C程序设计基础练习题3及答案.docx》由会员分享,可在线阅读,更多相关《C程序设计基础练习题3及答案.docx(27页珍藏版)》请在第壹文秘上搜索。
1、一、单选题1、下列合法的字符串常量是()0A.,56,B.,56C.,t,D.56正确答案:B解析:A、单引号内只能一个字符,或转义字符,才是字符常量2、已知字母A的ASQl码为十进制的65,下面程序的输出是()。intmain()(charchlzch2;chl=,A+,5-,3,;ch2=,A,+,6,-,3,;printf(%dz%c,chl,ch2);A.B,CB.不确定的值CCzDD.67,D正确答案:D解析:D、数字字符的ASCll码与数字一样,按序递增,所以,5-3结果为2,字母字符的ASCII码与字母顺序一样,按序递增,所以,A+5-,3=,A,+2=C,按d输出,输出它的AS
2、CIl为67同理,ch2=,D,按c输出,结果为D3、若变量C为Char类型,能正确判断出C为小写字母的表达式是()。A.(c=,a,)11(c=a,)&(c=z)C.(la=c)D.,a=c=,z正确答案:B4、有如下程序段,执行该程序段后,X的值为()ointa=14,b=15,x;charc=,A,;x=(a&b)&(cB);A.falseB.0C.lD.14正确答案:C解析:C、非0即为真,a&b结果为l,cB结果为1,因此,X=I&1,结果为15、若有下列类型说明语句:charw;intx;floaty;doublez;则表达式w*x+z-y值的正确数据类型为()oA.charB.d
3、oubleC.floatD.int正确答案:B解析:B、Z是double型,因此,隐式转换规则,其它类型都将转为double型,结果为double6、若有下列类型说明语句:intX;doubley;则表达式x-y值的正确数据类型为()oA.floatB.doubleC.charD.int正确答案:B解析:B、根据隐式自动转换规则,int与double运算,int将自动转为double型7、下面()将十进制数转为八进制数输出。A.printf(%c,50);B.printf(%d,z50);C.printf(%x,50);D.printf(,%o,50);正确答案:D8、下面()将十六进制数转为
4、八进制输出。A.printf(%d,O5O);B.printf(%o,0x50);C.printf(%x,50);D.printf(,%o,050);正确答案:B9、以下说法正确的是()A.C语言程序总是从第一个定义的函数开始执行B.C语言程序中,被调用的函数必须在mainO函数中定义C.C语言程序总是从主函数mainO开始执行。D.C程序中的mainO函数必须放在程序的开始处正确答案:C解析:A、从主函数开始执行B、被调用的函数必须在mainO函数外定义D、可以放在程序的任何位置10、下面函数定义正确的是()。注意:形参的格式A.doublefun(doubleu;doublev)retur
5、nu+v;B.doublefun(floatu,floatv)returnu+v;C.doublefun(doubleu,v)returnu+v;D.doublefun(u,v)floatu,v;returnu+v;正确答案:B解析:A、形参间不能用分号C、形参定义错误,V没有定义类型D、形参定义错误,u,V没有定义类型11、以下函数fun的返回值类型为(),fun(double)A.voidB.无法确定类型C.doubleD.int正确答案:D解析:D、没有写函数类型,默认为int型12、C语言中函数返回值类型由()决定。Areturn语句中的表达式类型B.调用该函数的主调函数类型C.定义函
6、数时指定的函数类型D.函数参数类型正确答案:C解析:A、由定义函数时指定类型,当表达式类型与它不一致时,要转换成函数类型13、voidarea(intlength,intwidth)(ints;s=length*width;Printf(“长d,宽d的长方形面积是dn,length,width,s);有如上求长方形面积函数,正确的调用方法是()。提示:本题area是无返回值的函数。A.c=area(l,2);B.area(l,2);C.area();D.c=area();正确答案:B解析:A、错误。area无返回值,不能放在表达式中C、少实参14、intarea(intlength,intwi
7、dth)(ints;s=length*width;returns;)有如上求长方形面积函数,正确的调用方法是()。提示:本题area是有返回值的函数。A.area(l);B.area();C.c=area(lz2);D.c=area(12z34);正确答案:C解析:A、实参个数与形参不一致D、实参为字符串型,与形参类型不一致15、编写函数area(intlength,intwidth),函数的功能是:求长方形面积,并打印输出面积值。下面()是正确的。提示:本题area没有要求返回值。A.voidarea(intlength,intwidth)(ints;s=length*width;retur
8、ns;B.intarea(intlength,intwidth)(ints;s=length*width;returns;C.voidarea(intlength,intwidth)(ints;s=length*width;Printf(“长方形面积是dn,s);D.intarea(intlength,intwidth)ints;s=length*width;Printf(长方形面积是dr,s);正确答案:C解析:A、有返回值,函数类型应为int型。此外,函数内没有输出s,与题意不符。B、函数内无Printf语句,与题目要求不符。D、无return语句,无返回值,area函数类型应为Void1
9、6、编写函数area(intlength,intwidth),函数的功能是:求长方形面积,并返回面积值。下面()是正确的。A.intarea(intlength,intwidth)(ints;s=length*width;returns;B.voidarea(intlength,intwidth)(ints;s=length*width;Printf(“长方形面积是dr,s);C.intarea(intlength,intwidth)(ints;s=length*width;Printf(“长方形面积是dn,s);D.voidarea(intlength,intwidth)(ints;s=le
10、ngth*width;returns;正确答案:A解析:B、没有用return返回面积,与题意不符。C、无return语句,无返回值,area函数类型应为Void。此外,没有用return返回面积,与题意不符。D、有返回值,函数类型应为int型。17、以下叙述中错误的是()oA.函数中定义的变量默认是自动变量B.staticintx;则X会被初始化为OC.函数形参是存储类型为自动类型的局部变量D.全局变量的存储类别是auto型的。正确答案:D解析:D、全局变量的存储类别默认是extern型18、下列叙述错误的是()。A.形参是局部变量B.主函数中定义的变量在整个程序中都有效C.其他函数中定义的
11、变量在主函数中不能使用D.复合语句中定义的变量只在该复合语句中有效正确答案:B解析:B、主函数中定义的变量也是局部变量,只能在主函数中使用19、当全局变量与函数内部的局部变量同名时,则在函数内部()。A.全局变量与局部变量都无效B.全局变量有效C.局部变量有效D.全局变量与局部变量都有效正确答案:C解析:C、公共作用域范围内,全局变量暂时被同名局部变量屏蔽。假设每个函数是一间教室,函数中的变量(局部变量)比作教室内的椅子,每间教室可以使用自己的椅子,不能使用其它教室的椅子。全局变量比作公共场所的椅子,大家都可以使用。因此,某学生即可以使用公共场所的椅子,又可以使用自己教室的椅子,但进入教室后,
12、他使用的是教室内的椅子,即函数内的变量20、下面程序运行中,X被分配一释放存储空间,总共有()次这样的过程。#includevoidproc(inta);intmain()(proc(2);proc(3);)voidproc(inta)(staticintx;全局变量、static型变量在编译时,给变量分配存储空间;整个程序运行结束,释放变量所占的存储空间。本题X是静态存储变量。A.1B.2C.0D.3正确答案:A解析:A、是静态存储变量,与全局变量一样,只分配1次存储空间,整个程序运行结束,才释放空间21、下面程序运行中,形参a被分配一释放存储空间,总共有()次这样的过程。#includev
13、oidproc(inta);intmain()(proc(l);proc(2);proc(3);)voidproc(inta)(a=2;提示:本题a是局部变量,作用域只在PrOC函数内(1)定义变量a时,给a分配存储空间。(2)ProC函数执行结束,a消失,释放a所占的存储空间A.2B.4C.3D.1正确答案:C解析:C、形参a是局部变量,每次执行ProC函数时,给a分配存储空间,执行结束,释放存储空间。proc被调用3次,所以形参a被分配一释放存储空间3次22、程序输出结果为()#includevoidproc();intmain()(intx=l;定义局部变量x,局部变量只在本函数中有效p
14、roc();printf(%dnz);voidproc()intx;定义局部变量x,局部变量只在本函数中有效x=2;)A.2B.main,ProC函数中都定义了变量x,程序错误C.1D.0正确答案:C解析:B、C语言允许在不同的函数中使用同名变量,且不同函数中变量互不影响C、main,proc函数中都定义了变量X,但main中的X只在main中可使用,proc中的X只在proc中可使用,互不干扰。例如,2间教室都有黑板,但上面可书写各自的内容,互不影响。main、PrOC可视为2间教室,其中的X变量可视为黑板23、下面程序的执行结果为()。#includevoidproc();intmain()int x=8;定义局部变量x,局部变量只在本函数中有效proc();printf(%dn