C语言程序设计复习题(选择题)新(共15页).doc

上传人:飞****2 文档编号:14559164 上传时间:2022-05-05 格式:DOC 页数:15 大小:70.50KB
返回 下载 相关 举报
C语言程序设计复习题(选择题)新(共15页).doc_第1页
第1页 / 共15页
C语言程序设计复习题(选择题)新(共15页).doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《C语言程序设计复习题(选择题)新(共15页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计复习题(选择题)新(共15页).doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上第二部分 选择题1假设整型变量a为2,使b的值为0的表达式是()。A)b=a/2B)b=6-(-a)C)b=a%2D)b=a3?0:1C 提示正确答案为C2.假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为()。A)2.5B)2.75C)3D)9.5A 提示正确答案为A3.假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&b+c/2的值是()。A)trueB)falseC)0D)1D 提示正确答案为D4.假设所有变量均为整型,则表达式:(a=2,b=5,b+,a+b)的值为()。A)7B)8C)6D)2B 提

2、示正确答案为B5.设整型变量x的值为5,y的值为2,则值为1的表达式是()。A)!(y=x/2)B)y!=x%3C)x0&y=y6.已知a=12,表达式a+=a-=a*=a的值为()。A)144B)-12C)0D)24C 提示正确答案为C6.在下面C语言的函数说明语句中,正确的是()。A)intfun(intx,inty);B)intfun(intx,y);C)intfun(x,y);D) intfun(intx;inty);A 提示正确答案为A7.设有整型变量a,实型变量f,双精度型变量x,则表达式10+b+x*f值的类型为()。A)intB)floatC)doubleD)不能确定C 提示正

3、确答案为C8.若有intk=5;floatx=1.2;则表达式(int)(x+k)的值是()。A)5B)6.2C)7D)6提示正确答案为D9.表达式k=(12. B)+ -+=C) y?10:20,z的值为()。A)10B)20C)1D)2B 提示正确答案为B12.若已定义x和y为double类型,则表达式x=2,y=x+10/4的值是()。A)2B)4C)4.0D)4.5C 提示正确答案为C13.sizeof(a+10)的值为()类型。A)intB)float C)double D)char 提示正确答案为A14.已知:intx=1,y=2,z;则执行:z=xy?+x:+y,z的值为()。(

4、A)1(B)2(C)3(D)4C 提示正确答案为C15.C语言中,运算对象必须是整型数的运算符是()。A)% B)/ C)%和/D)*A 提示正确答案为A16.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是()。A)1B)2C)2.0D)2.5C 提示正确答案为C17.若t为double类型,表达式t=1,t+5,t的值是( )。A)1B)6.0C)1.0D)6C 提示正确答案为C18.在以下一组运算符中,优先级最高的运算符是()。A)=B)=C)%D)&C 提示正确答案为C19.若有以下定义:|chara;intb; floatc; doubled;则表达式a*b+

5、d-c值的类型为()。A)floatB)intC)charD)doubleD 提示正确答案为D20.假设有intx=11;则表达式(x+*1/3)的值是()A)3B)12C)11D)0A 提示正确答案为A21.以下关于运算符优先顺序的描述中,正确的是()。A)关系运算符算术运算符赋值运算符B)逻辑运算符关系运算符算术运算符C)算术运算符关系运算符赋值运算符D)赋值运算符关系运算符算术运算符D 提示正确答案为D22.sizeof(double)是一个()。A)整型表达式B)实型表达式C)不合法的表达式D)函数A 提示正确答案为A23.下面对变量赋初值正确的是()A)inta=b=c=1; B)i

6、nta=1,b=c=2;C)inta=1,b=1,c=1; D)inta=b=1,c=2;C 提示正确答案为C24.在C语言中,若以下变量均为int型,则下面程序段的输出结果是()。s=6,u=6;u=s+;u+;printf(%d,u);A)7B)6C)5D)4B 提示正确答案为B25.若有定义:intx=3;doubley;则执行语句y=(double)x;后,变量x的数据类型为()。A)intB)charC)flaotD)doubleA 提示正确答案为A26.若有定义doublex,y;则表达式x=1,y=x+3/2的值为()。A)1B)2C)2.0D)2.5C 提示正确答案为C27.若

7、有定义intx,y,t;则执行语句:x=y=3,t=+x|+y;后,y的值为()。A)不定值B)4C)3D)1C 提示正确答案为C28.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为()。x=(i=4,j=16,k=32)A)4B)16C)32D)52C 提示正确答案为C29.假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是()。A)7B)8C)6D)2B 提示正确答案为B30.设inta=1,则执行完循环While(a+5);a的值是:A)6B)5C)1D)-264A 提示正确答案为A31.在下列for循环中,其循环次数是()。for(x=1,y=0;(y

8、!=123)&(x4);x+);A)4B)3C)1D)无数多次B 提示正确答案为B32.设x和y均为int型变量,则执行下面的循环后,y的值为()。for(y=1,x=1;y=10)break;if(x%2=1)x+=5;continue;x-=3;A)2B)4C)6D)8C 提示正确答案为C33.执行下面程序段的结果是()。intx=23;doprintf(%2d,x-);while(!x);(A)打印出321(B)打印出23(C)不打出任何内容(D)陷入死循环B 提示正确答案为B34.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式

9、()。A) 从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格 D)输出错0信息B 提示正确答案为B35.putchar函数可以向终端输出一个( )。A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值D 提示正确答案为D36.请读程序片段:inti=65536;printf(%dn,i);上面程序片段的输出结果是()。A)65536B)0C)有语法错0,无输出结果D)-1B 提示正确答案为B37.在下列程序段中: intx,y;scanf(%3d*2d%d,&x,&y);若输入的数据为:,则x、y的值分别为( )。A)123,456 B)1

10、23,678C)12345678D)无法得到正确的值B 提示正确答案为B38.有如下程序,输入数据12345后,y的值是()。#include main() intx; floaty; scanf(%3d%f,&x,&y); (A)12.(B)345.(C)12345. (D)0.B 提示正确答案为B39.有如下程序,若要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是()。main()inta1,a2;charc1,c2;scanf(%d%d,&a1,&a2);scanf(%c%c,&c1,&c2); (A)1020AB(B)1020AB (C)1020AB (D)10

11、20ABD 提示正确答案为D40.执行下列程序段后,变量a,b,c的值分别是()。 intx=10,y=9; inta,b,c; a=(-x=y+)?-x:+y; b=x+; c=y;(A)a=9,b=9,c=9(B)a=9,b=10,c=9(C)a=1,b=11,c=10(D)a=8,b=8,c=10D 提示正确答案为D41.设有语句inta=3;则执行语句a+=a-=a*a后,变量a的值是()。(A)3(B)0(C)9(D)-12D 提示正确答案为D42.在下列选项中,不正确的赋值语句是()。A)t/=5; B)n1=(n2=(n3=0); C)k=i=j;D)a=b+c=1;D 提示正确

12、答案为D43.设x为int型变量,则执行以下语句后,x的值为()。x=10;x+=x-=x-x;A)10B)20C)0D)-20B 提示正确答案为B44.若有inta=1,b=2,c=3,d=4;则表达式:a+b?a+:cd?a+:d 的值是()。A)4B)3C)2D)1C 提示正确答案为C45.以下选项中()是正确的C语言赋值语句。A)x=3,y=5B)a=b=6C)i-;D)y=int(x);C 提示正确答案为C46.设有如下的变量定义: inti=8,k,a,b; unsignedlongw=5; doublex=1,42,y=5.2; 则以下符合C语言语法的表达式是()。A)a=a-=

13、(b=4)*(a=3) B)x%(-3)C)a=a*3=2D)y=float(i)A 提示正确答案为A47.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的语句是()。A)c=b=a;B)(a=c)(b=c);C)(a=c)&(b=c);D)a=c=b;C 提示正确答案为C48.在C语言的if语句中,用作判断的表达式为()。A)关系表达式B)逻辑表达式C)算术表达式D)任意表达式D 提示正确答案为D49.以下程序的运行情况是().#inlcudevoidmain()intx=3,y=0,z=0;if(x=y+z)printf(*);elseprintf(#);A)有语法错0不能通过

14、编译B)输出*C)可以通过编译,不能通过连接,不能运行D)输出#D 提示正确答案为D50.若有定义intx,y;下面选项中合法的if语句().A)if(a=b)x+;B)if(a=b)x+;(C)if(ab)x+;(Dif(a=b)x+; A 提示正确答案为A51.运行下列程序并用键盘输入53,48,32后,在屏幕上的内容是()。main()inti,j,k;scanf(%d,%d,%d,&i,&j,&k);if(i50)printf(%d,i);elseif(i40)printf(%d,j);elseif(i30)printf(%d,k);elseprintf(Error);A)53B)48

15、C)32D)ErrorA 提示正确答案为A52.若有inti=10,j=0;并执行下列程序段:switch(i)case9:i+=1;break;case10:case11:i-=2;break;default:j+=3;break;则变量i的正确结果是()。A)13B)10C)11D)8D 提示正确答案为D53.若inti=10,执行下列程序:switch(i)case9:i+=1;case10:case11:i-=1;default:i+=1;则变量i的正确结果是()。(A)10(B)11(C)12(D)9A 提示正确答案为A54.以下程序段的运行结果是()。inta=7,b=8,c=9;

16、if(ab)a=b,b=c;c=a;printf(%d,%d,%dn,a,b,c);A)7,8,7B)7,9,7C)8,9,7D)7,8,9A 提示正确答案为A55.两次运行以下程序,若从键盘上分别输入6和4,则输出结果是()。main()intx;scanf(%d,&x); if(x+5)printf(%dn,x-);A)7和5B)7C)7和4D)6和4B 提示正确答案为B56.下面程序的输出是()。main()inty=9;for(;y0;y-)if(y%3=0) printf(“%d”,-y);continue; A)741B)852C)963D)B 提示正确答案为B57.假定所有变量均

17、已正确说明,下列程序段运行后x的值是()。a=b=c=0;x=35;if(!a)x-;elseif(b)if(c)x=3; elsex=4;A)34B)4C)35D)3 B 提示正确答案为B58.下面程序的运行结果是()。main()intk=3;if(k+3)printf(%dn,k+);elseprintf(%dn,-k);A)5B)4C)3D)2C 提示正确答案为C59.下面程序的输出结果为()。main()intx=0,a=10,b=20,c=15;if(ab)if(bc)x=1;elsex=2;printf(%dn,x);A)0B)1C)2D)不确定A 提示正确答案为A60.下列程序

18、的输出结果是()。#includemain()inta,b,c;a=1;b=2;c=3;a=(c=ab)&(b=cb)?b:c; printf(%d,%d,%dn,a,b,c); A)1,2,3B)0,2,0C)1,2,0D)1,0,0B 提示正确答案为B61.如果有#definef(x,y)x+y及inta=2,b=3;则执行printf(%d,f(a,b)*f(a,b)后的值为()。A)36B)25C)11D)13C 提示正确答案为C62.若#include后面的文件名用双引号括起来,寻找被包含文件的方式是()。A)先按系统设定的标准方式查找,再在当前目录中查找B)先在当前目录中查找,再按

19、系统设定的标准方式查找C)只在当前目录中查找D)只按系统设定的标准方式查找B 提示正确答案为B63.在宏定义#definePI3.中,用宏名PI代替一个()。A)单精度数B)双精度数C)常量D)字符串D 提示正确答案为D64.执行下面的程序#defineSQR(X)X*Xmain()inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf(%dn,a);后,a的值是()。(A)10(B)9(C)1(D)0C 提示正确答案为C65.下面程序的输出结果是()。#includestdio.h#defineSUB(x,y)(x)*ymain()inta=3,b=4;pri

20、ntf(%dn,SUB(a,b+1);A)12B)16C)15D)13D 提示正确答案为D66.下列程序执行后的输出结果是()。#defineMA(x)x*(x-1)main()inta=1,b=2;printf(%dn,MA(1+a+b);A)6B)8C)10D)12B 提示正确答案为B67.设有以下宏定义:#defineN3#defineY(n)(N+1*n)则执行语句:z=2*(N*Y(5+1);后,z的值为( )。A)30B)72C)48D)54D 提示正确答案为D68.以下程序的输出结果是()。#defineM(x,y,z)x*y+zmain()inta=1,b=2,c=3;prin

21、tf(%dn,M(a+b,b+c,c+a);A)19B)17C)15D)12D 提示正确答案为D69.一个C程序的组成部分可以是()。A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序A 提示正确答案为A70.以下叙述正确的是()。A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错C 提示正确答案为C71.C语言规定,C程序执行的开始处为()。A)源程序中排列在最前面的函数B)一个指定的系统库函数C)用户指定的

22、一个特定函数D)程序的主函数 D 提示正确答案为D72.一个C程序的执行是从()。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束A 提示正确答案为A73.一个C语言程序是由()组成。A)一个函数B)一个或若干个函数C)一个过程(D)一个过程或若干个过程B 提示正确答案为B74.下列说法中提示的是()。A)程序的执行总是从主函数开始。B)主函数可以调用任何非主函数的其它函数C)任何非主函数可以调用其它任何非主函数D)程

23、序可以从任何非主函数开始执行D 提示正确答案为D75.C程序的基本单位是()。A)函数B)过程C)语句D)子程序A 提示正确答案为A76.C语言规定:在一个源程序中,main函数的位置()。A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后C 提示正确答案为C77.下列四组选项中,均不是C语言关键字的选项是()。A)defineB)getc C)includeD)whileIF charscanfgotypeprintfcasepowA 提示正确答案为A78.以下叙述不正确的是()。A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数C)

24、C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面D 提示正确答案为D79.语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符C 提示正确答案为C80.执行下面程序后,a的值是()。#includevoidmain()inta;printf(“%dn”,(a=3*5,a*4,a+5);A)65B)20C)15D)10B 提示正确答案为B81.以下程序的输出结果为()。#includemain( )inti;for(i=0;iy?x:y;return(max

25、); main()intm=10;printf(%d,max(m,n); A)4B)10C)6D)5B 提示正确答案为B93.C语言中,以下叙述错的是()。A)函数被调用时,系统才为形参分配内存 B)实参和对应形参的数据类型必须一致C)实参可以是变量、常量或表达式 D)形参可以是变量、常量或表达式C 提示正确答案为C94. C语言中,函数调用时若实参是数组名,则传递给被调函数对应形参的是()。A)整个数组 B)数组元素的个数C)数组占用的内存单元个数 D)数组在内存中存放的首地址D 提示正确答案为D95.C语言中,以下叙述错的是()。A)函数被调用时,系统才为形参分配内存 B)实参和对应形参的

26、数据类型必须一致C)实参可以是变量、常量或表达式 D)形参可以是变量、常量或表达式C 提示正确答案为C96.C语言中,以下叙述中错的是()。A)同一程序中,全局变量和局部变量可以同名B)局部变量的作用域被限定在其所定义的局部范围中C)同一程序中,全局变量和局部变量不能同名D)全局变量的作用域从定义处开始到本源程序文件结束 C 提示正确答案为C97.在C程序中,同一程序中的各函数之间()。A)既允许直接递归调用也允许间接递归调用B)既不允许直接递归调用也不允许间接递归调用C)允许直接递归调用但不允许间接递归调用D)允许间接递归调用但不允许直接递归调用A 提示正确答案为A98.C语言中,以下叙述错

27、的是()。A)函数调用可以是单独的语句 B)函数调用可以出现在表达式中C)函数调用可以作为函数的实参 D)函数调用可以作为函数的形参D 提示正确答案为D99.在C语言中,函数调用时如果相应的形参和实参都是简单变量,则主调函数和被调函数之间传递数据的方式是()。A)单向地址值传递 B)双向地址值传递C)单向数值传递 D)双向数值传递C 提示正确答案为C100.在C程序的函数调用时,主调函数中的实参和被调函数中的形参()。A)个数、次序必须相同,但数据类型可以不考虑B)个数、次序和对应参数的数据类型都应该相同C)个数、次序和数据类型均可以不相同D)对应参数数据类型应相同,但个数和次序可以不考虑B

28、提示正确答案为B101.C程序在()可以使用表达式。A)函数内部B)函数外部C)程序的任何地方D)变量出现的地方C 提示正确答案为C102.在C语言中,函数返回值的数据类型取决于()。A)函数的名字 B)return语句中表达式的数据类型C)在定义该函数时所指定的数据类型 D)主调函数的数据类型C 提示正确答案为C103.在一个源程序文件中定义的全局变量,其作用域为()。A)整个源程序文件 B)从定义处开始到本源程序文件结束C)整个主函数 D)所处C程序的所有源程序文件中B 提示正确答案为B104.如果程序中有staticcharc;则编译程序会对其自动设置初值为()。A)nB)nC)0D)0

29、D 提示正确答案为D105.在C函数中,局部变量的隐含存储类型是()。A)autoB)staticC)registerD)externA 提示正确答案为A106.C语言中规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。A)地址传递 B)单向值传递C)有实参传给形参,再由形参传回给实参D)由用户指定传递方式B 提示正确答案为B108.在C程序中,如果限定一个局部变量只能在所定义的范围中起作用,那么这个变量的存储类型()。A)只能是auto B)只能是externC)可以是auto或static D)可以是extern或staticC 提示正确答案为C109.在C语言中,若定义函数时

30、未说明函数的类型,则该函数的数据类型为()。A)int B)floatC)char D)doubleA 提示正确答案为A110.在下面C语言的函数说明语句中,正确的是()。A)intfun(int,int); B)intfun(intx,y);C)intfun(x,y); D)intfun(intx;inty);A 提示正确答案为A111.C语言中,函数调用时若实参是数组名,则被调函数对应形参()。A)可以是相应类型简单变量 B)必须是相应类型数组名C)可以是相应类型数组名 D)必须是相应类型的指针变量C 提示正确答案为C112.C语言中,函数调用时若实参是数组名,则被调函数对应形参()。A)

31、可以是相应类型简单变量B)必须是相应类型的指针变量C)必须是相应类型数组名D)可以是相应类型的指针变量113.在C语言中,下面关于数组的描述正确的是()。A)数组的大小是固定的,但可以有不同类型的数组元素B)数组的大小是可变的,但所有数组元素的类型必须相同C)数组的大小是固定的,所有数组元素的类型必须相同D)数组的大小是可变的,可以有不同的类型的数组元素C 提示正确答案为C114.C语言中,以下叙述中错的是()。A)主函数中定义的变量是全局变量B)同一程序中,全局变量和局部变量可以同名C)全局变量的作用域从定义处开始到本源程序文件结束D)局部变量的作用域被限定在其所定义的局部范围中A 提示正确答案

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁