《西安石油大学C语言选择题(共六卷)及答案.docx》由会员分享,可在线阅读,更多相关《西安石油大学C语言选择题(共六卷)及答案.docx(86页珍藏版)》请在优知文库上搜索。
1、C语言选择题(一)(总分100分,考试时长90分钟)一、理论基础(每小题1分,共10分)1、运行下面程序时,若从键盘输入5后回车,则程序的输出结果是OA、7B、6C、5D、42、在位运算中,操作数每左移一位,其结果相当于A、操作数乘以2B、操作数除以2C、操作数除以4D、操作数乘以43、现代计算机中采用二进制数制是因为二进制数的优点是OA、代码表示简短,易读B、物理上容易实现且简单可靠;运算规则简单;适合逻辑运算C、容易阅读,不易出错D、只有0,1两个符号,容易书写4、根据数制的基本概念,下列各进制的整数中,值最大的一个是oA、十六进制数10B、十进制数10C、八进制数10D、二进制数105、
2、流程图中,输入/输出框用()图形表示?A、圆角矩形B、平行四边形C、矩形D、菱形6、以下数据中,不正确的数值或字符常量是oA、8.9el.2B、10C、OxffOOD、82.57、一个int类型变量和一个byte类型的常量做加法,结果是类型。A、intB、 byteC、 charD、无法计算8、能将高级语言编写的源程序转换为目标程序的是()。A、链接程序B、解释程序C、编译程序D、编辑程序9、下列选项中非法的字符常量是oA.,t,B、039C、,D.,n,10、设有以下程序段intx=0,s=0;while(!x!=0)s+=+x;printfs);则A、运行程序段后输出OB、运行程序段后输出
3、1C、程序段中的控制表达式是非法的D、程序段执行无限次11、若有定义inta;floatb;doublec;程序运行时输入:345V回车能把值3输入给变量a、4输入给变量b、5输入给变量c的语句是OA、scanf(%d%f%lf”,&a,&b,&c);B、scanf(%d%lf%lf”,&a,&b,&c);C、scanf(%d%f%f”,&a,&b,&c);D、scanf%lf%lf%l,&a,&b,&c);12、下面关于形参与实参的说法,正确的是oA、形参与实参的个数、类型、顺序都应一一对应B、形参与实参的个数可以不必相同,少一个多一个程序一样执行C、形参与实参的类型可以不同,不影响运算结果
4、D、形参与实参的类型个数相同,而顺序不同,计算机可以自动进行匹配,所以形参的顺序无所谓,只要各种形参类型的数量与实参相同即可13、设a=8、6=10C=7、d=8、m=2n=6,执行(In=aVb):(n=cd)后n的值为oA、1B、6C、3D、414、设intk=32767;执行k=k+l;后k值为。A、 32768B、 -32768C、OD、-115、己有定义intk=2;int*pl,*p2;且Pl,p2均指向变量k,下面不能正确执行的赋值语句是A、 k=*pl+*p2;B、 p2=k;C、 pl=p2;D、 k=*pl*(*p2);16、若有以下数组说明,则元素数值是一inta12=l
5、,4,7,10,2,5,8,11,3,6,9,12;A、10B、9C、6D、517、下列标识符中不合法的是oA、 s_nameB、_eC、foxD、3DS18、表达式k=l*3?2:0的值是。A、3B、2C、1D、019、若有代数式Jyx+logl0y,则正确的C语言表达式是一A、sqrt(fabs(pow(y,x)+log10(y)B、sqrt(abs(pow(y,x)+IoglO(Y)C、sqrt(fabs(pow(x,y)+log10(y)D、sqrt(abs(pow(x,y)+log10(y)20、设Ch是char型变量,其值为c,且有下面的表达式ch=(ch三,a,&ch=z)?(c
6、h+32):ch上面表达式的值是OA、CB、cC、ZD、z二、控制结构(每小题1分,共10分)1、下列程序的输出结果是O#includemain()inta=0,b=l,c=2;if(+aOI+b0)+c;printf(zz%d,%d,a,b,c);)A、0,1,2B、1,2,3C、1,1,3D1,2,22、执行以下程序段后,w的值为_ointw=,a,x=14,y=15;w=(xIIy)(w,a);A、-1B、 NULLC、1D、03、c语言中逻辑表达式的值为。A、0或1B、非零值或零值C、true或falseD、true或false4、选择出合法的if语句(设intX,a,b,c;)A、i
7、f(a=b)x+;B、if(a=b)x+;C、if(ab)x+;D、if(a=b)x+;5、有以下程序main()(inti=l,j=l,k=2;if(j+Ilk+)Mi+)printf(%d,%d,%dn”,i,j,k);执行后输出结果是OA、 1,1,2B、 2,2,1C、 2,2,2D、 2,2,36、执行下面语句后的输出为inti=-1;if(in=3则逻辑表达式(In=ab)M(n=cd)运算后,n的值为。A、0B、1C、2D、38、设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句:if(an=2,则逻辑表达式(In=ab)M(n=cd)运算后,n的值是。A、OB、1C、
8、2D、310、设变量a、b、e、d和y都己正确定义并赋值。若有以下if语句:if(aVb)if(c=d)y=0;elsey=l;该语句所表示的含义是。A、y=0,aB、 y=0,ay=l,aby*1,a2b且CwdC、 y=0,aD、 y=0,ay=l,aVB且CwDy=l,cd三、循环结构(每小题1分,共10分)1、以下有关switch语句的正确说法是_0A、break语句是语句中必须的一部分B、在SWitCh语句中可以根据需要使用或不使用break语句C、break语句在SWitCh语句中不可以使用I)、在switch语句中的每一个case都要用break语句2、下述关于break语句的描
9、述中,()是不正确的。A、break语句可用于循环体内,它将退出该重循环B、break语句可用于switch语句中,它将退出switch语句C、break语句可用于对体内,它将退出if语句D、break语句在一个循环体内可以出现多次3、程序设计语言中一OA、while循环语句的执行效率比CIo-WhiIe循环语句的执行效率高13、while循环语句的循环体执行次数比循环条件的判断次数多1,而do-while语句的循环体执行次数比循环条件的判断次数少1C、while语句的循环体执行次数比循环条件的判断次数少1,而ClO-WhiIe语句的循环体执行次数比循环条件的判断次数多1Dwhile语句的循环
10、体执行次数比循环条件的判断次数少1,而ClO-WhiIe语句的循环体执行次数等于循环条件的判断次数4、若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是OA、for(i=l,p=l;i=5;i+)p*=i;B、for(i=l;i=5;i+)p=l;p*=i;C、i=ljp=l;while(i=5)p*=i;i+;D、i=l;p=l;dop*=i;i+;while(l=5)5、以下循环体的执行次数是ttincludevoidmain()(inti,j;for(i=0,j=l;ifor语句D、ifelse语句7、定义如下变量:intn=10;则下列循环的输出结果是while(n
11、7)(n;printf(%dn”,n);A、1098B、987C、10987D、98、运行下面程序时,从键盘输入字母a,则输出结果是oftincludemain()(charch;ch=getchar();switch(ch)(case*a:Printf(aaaan);case*b,:Printf(bbbbn);default:printf(,zccccnz,);)A、 AAAAB、 AAAABBBBC、 AAAABBBBCCCCD、 AAAACCCC9、设有以下代码其中,循环体a与循环体b相同,以下叙述正确的是A、循环体A与循环体B的执行次数相同B、循环体A比循环体B的执行次数多一次C、循环
12、体A比循环体B的执行次数少一次D、循环体A与循环体B的执行次数不确定10下面对do-while结构的描述中,不正确的是。A、循环体至少执行一次B、属于“直到型”循环C、与WhiIe语句执行情况相同D、先执行循环体,再计算终止条件,若结果为true,重复执行循环体,直到布尔表达式的值为false0四、数组/指针数组(每小题1分,共10分)1、若有如下定义语句:inta10=1,2,3,4,5,6,7,8,9,10;则对数组正确的引用是oA、a10B、aa35C、aa9D、aa4+42、以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。defineN10voidarrin(intxN)(inti=0;while(iN)scanf(%c,);)在下划线处应填入的是OA、x+iB、&xi+lC、 &xi+D、 &x+i3、数组a10的下标从()开始。A、1B、0C、10D、不确定4、不能把字符串hello!赋给数组b的语句是oA、charb10=,H,e,o,!,;B、charb10fe,l,l,o,!;C、charb10;StrCPy(b,Hello!”);D、charb10=,Hello!5、设有以下定义:inta33=1,2,3,4,5,6,7,8,9;int(*ptr)3=a;则下列能正确表示数组元素al2的表达式是o