1、 计算机二级C语言基础练习题及答案1简答题下列给定程序中函数fun功能是:通过某种措施实现两个变量值互换,规定不许可增长语句和表达式。 例如,变量a中值原为8,b中值原为3,程序运行后a中值为3,b中值为8。请改正程序中错误,使它得出对的成果。注意:不要改动main函数,不得增行或删行,也不得更改程序构造!试题程序:参照解析:【参照答案】(1)t=*x;*X=Y;(2)return(t);或return t;【考点分析】本题考察:指针型变量使用;通过return语句完毕函数值返回。【解题思绪】首先,定义变量t作为中间变量,然后进行数据互换,注意参数x是指针变量,互换时应使用*x,最终确定返回值
2、;根据代码b=fun(8ab),可以懂得返回值将赋给变量b,而b中应寄存互换前*x中值,因此函数应返回变量t。2单项选择题 有如下程序程序运行后输出成果是A.3B.1C.2D.4参照答案:C参照解析:本题考察函数递归调用,将函数参数带入函数中,一步步递归即可得到成果,成果为2,选项C对的。3单项选择题 如下论述中对的是()A.在算法设计时,可以把复杂任务分解成部分简朴子任务B.在C语言程序设计中,所有函数必需保留在一种源文献中C.只要包括了三种基础构造算法就是构造化程序D.构造化程序必需包括所有三种基础构造.缺一不可参照答案:A参照解析:C语言程序中,函数不一定所有放在同一种源文献中,可以分别
3、放在不同样源文献中,通过#inClude命令来引用,因此B错误。构造化程序可以包括三种基础构造中一种或多种,因此C,D错误。4单项选择题 若有语句:int a34,(。P)4;P=a;,则如下选项中论述错误是()。A.系统将开辟一种名为P二维数组,“oo中值即为aoo中值B.P+1代表a10地址C.P中将寄存a数组首地址D.P+2代表a数组最终一行首地址参照答案:A参照解析:(+P)4定义了一种数组指针。P可以指向类似于arry4数组,题设中,P不是一种二维数组,只是可以指向此类二维数组,因此选项A错误。P+1代表了第一行第一种元素地址,P=a指向数组a首地址,则B、C选项对的,同理可知选项D
4、也对的。故答案为A选项。5单项选择题 有如下程序:程序运行后输出成果是( )。A.11,11B.29,29C.26,29D.121.121参照答案:B参照解析:#define命令是c语言中一种宏定义命令,标识符一般使用大写,为了辨别其他标识符,它用来将一种标识符定义为一种字符串,该标识符被称为宏名,被定义字符串称为替代文本。宏定义不进行其他操作,仅仅只是替代标识符。S(k+j+2)=k+j+2k+j+2/k+j+2,经计算可得29,s(j+k+2)=J+k+2k+j+2/j+k+2,计算可得29。因此输出为29。29。答案为B选项。6单项选择题 有三个关系R、S和T如下:则由关系R和S得到关系
5、T操作是( )。A.自然连接B.交C.除D.并参照答案:C参照解析:假如S=T/R,则s称为T除以R商。在除运算中s域由T中那些不出目前R中域所构成,对于s中任一有序组,由它和关系R中每个有序组所构成有序组均出目前关系T中。因此本题选择C。7单项选择题 有如下程序:程序运行后输出成果是( )。参照答案:A参照解析:构造体s中n代表数组实际长度,a是个定长数组。函数f()对构造体s内a数组元素使用冒泡法进行递增排序。因此最终数组元素是一种递增序列。故答案为A选项。8单项选择题 有如下程序:程序运行后输出成果是( )。A.2,3B.2,1C.1,2D.3,1参照答案:B参照解析:构造体tt是一种递
6、归定义,类似于链表,通过组员变量Y链接起来。P=s+1指向s1。P一Y指向82,但目前P-Y=s,因此s2=sO,此时8=1.0,2.0,1.0,而P在s1位置,因此P_x为2,P=P_Y,P指向s2,因此P_x=1,故打印成果为2,1。答案为B选项。9单项选择题 如下论述错误是( )。A.一种算法所包括操作环节应当是有限B.任何能通过编译和运行算法所有一定能得到所期望成果C.算法中每一条指令必需有确切含义D.算法可以用多种描述措施来进行描述参照答案:B参照解析:算法特点:零个或多种输入,至少一种输出,可行性(能编程实现),有穷性(有限步出成果),确定性(描述不能有歧义)。可知选项A,c,D对
7、的。c语言中。通过编译,可以运行程序,不一定符合题目的本意,因此虽然可以运行得到成果,也不一定和预期成果同样,否则就不需要调试和修改程序了,故B选项错误。答案为B选项。10单项选择题 设有定义:int a=1,b=2,C=3;如下语句中实行效果和其他三个不同样是( )。A.if(aB.C=a,a=b,b=C;B.if(aB.C=a,a=b,b=C;C.if(aB.C=a;a=b;b=c;D.if(aB.C=a;a=b;b=c; 参照答案:C参照解析:由于a不大于b,因此所有选项中条件所有为假,c选项中实际实行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立,因此什么也没有做,因此选择c选项。