沈阳师范大学计算机C语言期末冲刺卷(含六卷).docx
计算机C语言期末冲刺卷(一)一、单项选择题(每小题2分,共100分)1、将用高级程序语言编写的源程序翻译成目标程序的程序称OA、连接程序B、编辑程序C、编译程序D、诊断维护程序【答案】C【解析】将用高级程序语言编写的源程序翻译成目标程序的程序称编译程序。连接程序是一个将几个目标模块和库过程连接起来形成单一程序的应用。诊断程序是检测机器系统资源、定位故隙范围的有用工具。2、计算表达式*执行下面的程序段,变量b的值将变为。doublea-3,b;b=1/2+a;A、0.0B、0.2C、3.0D、3.5【答案】C3、执行以下程序段后,w的值为0intw,a,x=14,y=15;w=(xy)&&(WV'a');A、-1B、 NULLC、1D、0答案C【薛析】字符变量w的初值为字符'A',其ASCII码值为65,字符'a,的ASCII码值为97,所以关系表达式wV'a'的值为1;变量x=14,变量y=15,XY为或,x、y均为真,所以Xy的结果1。因而逻辑表达式(Xy)&&(wV'a')的值为Io4、下列程序是死循环的是0A、for(;)C、 ints=36;while(s)=s;D、 intm-10;dom一;while(m>0);E、 intn-5;while(n>l)n;if(n<0)break;【答案】A5、以下叙述中正确的是OA、在C语言中,常量名也要遵守标识符的命名规则B、对单目运算符来说,运算对象定在其右侧C、标识符的首字符必须是下划线、字母,其他字符可以是任意的键盘可键入字符D、变量占用内存,常量不占用内存【答案】A【解析】C语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符,常量名也要遵守标识命名规则,选项A正确;单目运算符的运算对象可以在其左侧或者右侧,如i+或+i,选项B错误;C语言规定标识符只能由字母、数字、下划线组成,选项C错误;般来说,基本类型(整型、字符型等)常量会在编译阶段被编译成立即数,占的是代码段的内存,而字符串常量或基本类型的常量数组占用的是数据段内存。当然,占代码段的内存般不在我们常说的“占内存”范围中,选项D错误;本题答案为A。6、在C语言中,能代表逻辑值“真”的是()。A、 TRUEB、大于O的数C、非O整数D、非O的数【答案】D7、下列定义数组的语句中,正确的是oAintN=IO;B、 #defineN10intxN;intxN;C、intx0.10;D、intX;【答案】B8、可以作为自定义标识符的是oA、2xB、whileC、s&lD_2x【答案Id9、字符串指针变量中存入的是oA、字符串B、字符串的首地址C、第-个字符D、字符串变量【答案】B10、以下选项中,与k=n+完全等价的表达式是oA、 k=n,n=n+lB、 n=n+l,k=nC、 k=+nD、 k÷=n+l【答案】A【解析】k=n+的意思是先将n的值赋给k,然后n的值再加1,选项A)符合题意;选项B)和C)是先使n的值加1,然后再赋值给k;选项D)等价于k=k+(n+l)o11、c程序的执行过程在下列说法中,是正确的。A、C程序从第个函数开始执行,直到最后一个函数结束B、C程序从第-个函数开始执行,直到主函数结束C、C程序从主函数开始执行,直到最后一个函数结束D、C程序从主函数开始执行,直到主函数结束【答案】D12、C语言中运算对象必须是整型的运算符是oA、%=B、/C、二D、<=【答案】A13、以下叙述中正确的是oA、两个字符串可以用关系运算符进行大小比较B、函数调用StrICn(三)会返回字符串S实际占用内存的大小(以字节为单位)C、C语言本身没有提供对字符串进行整体操作的运算符D、当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和【答案】C【解析】本题考查字符串处理函数strlen>strcatstrcmp.b选项中StrICn返回的是字符串S实际占用内存大小加上结尾符A选项中不能用关系运算符进行大小比较,可以使用strcmpD选项当使用Strcat连接函数时,内存空间会减少一个字符位置。14、下列定义数组的语句中正确的是A、 #definesize10charstrlsize,str2size+2;B、charstr;C、intnum,10,;D>intn=5;intann+2;【答案】A15、有以下程序#include<stdio.h>intf(intx,inty)(return(y-)*x);main()inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf("%dn”,d);程序运行后的输出结果是OA、10B、9C、8D、7【答案】B16、有以下程序:main()(inti,n=0:for(i=2;i<5;i÷+)(do(if(i%3)continue:n+;)while(!i);n+;printf(n二dn,n);程序执行后输出结果是OA、n=5B、n=2C>n=3D>n=4【答案】D17、设PI和p2是指向同个int型维数组的指针变量,k为int型变量,则不能正确执行的语句是OA、k=*pl+*p2B、p2=k;C、pl=p2;D、k=*pl*(*p2);【答案】B18、在执行以下程序时,为了使输出结果为:t=4,则给a和b输入的值应满足的条件是main()(ints,t,a,b;scanf(,%d,%d,&a,&b);s=l;t=l;if(a>0)s=s+l;if(a>b)t=s÷t;elseif(a=b)t=5;elset=2*s;printf(z,t=%d11,z,t);)Aa>ba<b<OC、O<a<bD、0>a>b【答案】C19、若在某函数内部有定义:inta34;则数组a中各元素。A、可在程序的运行阶段得到初值0B、可在程序的编译阶段得到初值0C、不能得到确定的初值D、可在程序的编译或运行阶段得到初值0【答案】C【解析】在函数内部定义的存储类型为auto的变量或数组,如果没有进行初始化,就不能得到确定值。20、定义共用体的关键字是oA、unionB、 enumC、 structDtypedef【答案】A21、以下运算符中,优先级最高的运算符是oA、?:B、+C、&&D、,【答案】B22、当a=l,b=3,c=5,d=5时,执行下面一段程序后,X的值为if(a<b)if(c<d)x=l;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;A、1B、2C、3D、6【答案】B23、语句int*p;说明了。A、P是指向一维数组的指针B、P是指向函数的指针,该函数返回int型数据C、P是指向int型数据的指针D、P是函数名,该函数返回-指向int型数据的指针【答案】B24、在下列选项中,没有构成死循环的程序是oA、inti=100;while(i)i=i%100÷l;if(i>100)break;B、for(;);C、 intk=1000;do+÷k;while(k>=1000);D>ints=36;while(s);【套案】C25、若有以下定义:inta=1,2,3,4,5,6,7;charcl=,b,c2=2,;则数值不为2的表达式是oA、alB>,d,-clC、a,3,-c2D、 c20【答案】D【解析】本题考查数组的定义、初始化及其引用,以及对字符ASCn码值的熟悉程度。解本题的关键在于熟悉字符的ASCIl码值。字符在进行数学运算时取其ASCll码值,其中b',的ASCIl码值为98,'d'的ASCu码值为100,字符'2'的ASCIl码值为50。根据以上知识,可知D)选项中表达式C2-0的值为50o26、以下运算符中,优先级最高的运算符是()。A、二B、!=C、*(乘号)D、()【答案】D27、若有定义:inta34;不能表示数组元素al1oA、*(al+l)B、*all)C、(*(a÷l)l)D、*(a+5)【答案】D28、以下关于运算符优先顺序的描述中正确的是。A、关系运算符算术运算符赋值运算符V逻辑与运算符B、逻辑与运算符关系运算符算术运算符赋值运算符C、赋值运算符V逻辑与运算符关系运算符算术运算符D、算术运算符V关系运算符赋值运算符V逻辑与运算符【答案】C29、下面正确的字符串常量是oA、'a'B、'376'C、nD、376【答案】C30、C语言中,系统的标准输入文件是指A、键盘B、显木器C、软盘D、硬盘【答案】A【解析】此题考查有关标准设备的知识。在多数C语言版本中,stdio.h文件至少定义了4种标准设备文件,可以直接引用不必含有打开操作,包括:标准输入文件指针Stdin缺省为键盘;标准输出文件指针StdoUt缺省为显示器;标准错误输出文件指针StdCrr缺省为显示器;标准打印输出文件指针StdPrn指打印机;止匕外,还可能包括如辅助设备等标准文件指针,且多数文件指针可以被重新定向到其他设备。31、C语言规定,函数返回值的类型是由()决定的。A、return语句中的表达式类型B、调用该函数时的主调函数类型C、在定义函数时所指定的函数类型D、调用该函数时由系统临时【答案】C32、关于for(表达式1;表达式2;表达式3),叙述正确的是。A、表达式1不可以缺省B、表达式2不可以缺省C、表达式3不可以缺省D、三个表达式都可以缺省【答案】D33、若需要利用形参直接访问实参,则应把形参变量说明为()参数。A、指针B、引用C、传值D、常值【答案】B【解析】在进行参数传递时,引用参数是利用形参直接访问实参,形参的变化直接影响实参的变化,而传值参数不会影响实参变量。34、在下列程序段中,枚举变量cl,c2的值依次是Oenumcolor(red,yellow,blue=4,green,whitecl,c2;cl=yellow;c2=white;printf(,%d,%d11z,cl,c2);A、1,6B、2,5C、1,4D、2,6【答案】A35、以下程序的运行结果是ovoidsub(intx,inty,int*z)(*z=y-;)main()inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(z,%4d,%4d,%4d”,a,b,c);)A、5,2,3B、-5,-12,-7C、-5,-12,-17D、5,-2,-7【答案】A36、对于WhiIe、doWhi