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,最后确定返回值;依照代码b=fun(8a'b),能够明白返回值将赋给变量b,而b中应存放交换前*x中的值,因此函数应返回变量t。 2[单选题] 有以下程序
程序运行后的输出结果是 A、3B、1C、2D、4 参:C
参考解析:本题考查函数的递归调用,将函数参数带入函数中,一步步递归即可得到结果,结果为2,选项C正确。
3[单选题] 以下叙述中正确的是( )
A、在算法设计时,能够把复杂任务分解成一些简单的子任务 B、在C语言程序设计中,所有函数必须保存在一个源文件中
C、只要包罗了三种基本结构的算法就是结构化程序 D、结构化程序必须包罗所有的三种基本结构、缺一不可 参:A
参考解析:C语言的程序中,函数不一定都放在同一个源文件中,能够分不放在不同源文件中,通过#inClude命令来引用,因此B错误。结构化程序能够包罗三种基本结构中的一种或几种,因此C,D错误。
4[单选题] 若有语句:int a[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是( )。
A、系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值B、P+1代表a[1][0]的地址C、P中将存放a数组的首地址D、P+2代表a数组最后一行的首地址
参:A
参考解析:(+P)[4]定义了一个数组指针、P能够指向类似于arry[][4]的数组,题设中,P不是一个二维数组,只是能够指向这类二维数组,因此选项A错误、P+1代表了第一行第一个元素的地址,P=a指向数组a的首地址,则B、C选项正确,同理可知选项D也正确、故答案为A选项、 5[单选题] 有以下程序: 程序运行后的输出结果是( )、
A、11,11B、29,29C、26,29D、121、121 参:B
参考解析:#define命令是c语言中的一个宏定义命令,标识符一般使用大写,为了区分其她标识符,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义不进行其她操作,仅仅只是替换标识符。S(k+j+2)=k+j+2}k+j+2/k+j+2,经计算可得29,s(j+k+2)=J+k+2}k+j+2/j+k+2,计算可得29。因此输出为29、29、答案为B选项、 6[单选题] 有三个关系R、S与T如下:
则由关系R与S得到关系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是一个递归定义,类似于链表,
通过成员变量Y链接起来。P=s+1指向s[1]。P一〉Y指向8[2],但现在P->Y=s,因此s[2]=s[O],此时8[]={1、0,2、0,1、0},而P在s[1]位置,因此P_〉x为2,P=P_>Y,P指向s[2],因此P_>x=1,故打印结果为2,1、答案为B选项、 9[单选题] 以下叙述错误的是( )、 A、一个算法所包罗的操作步骤应该是有限的
B、任何能通过编译与运行的算法都一定能得到所期望的结果 C、算法中每一条指令必须有确切的含义 D、算法能够用各种描述方法来进行描述 参:B
参考解析:算法的特点:零个或多个输入,至少一个输出,可行性(能编程实现),有穷性(有限步出结果),确定性(描述不能有歧义)、可知选项A,c,D正确、c语言中。通过编译,能够运行的程序,不一定符合题目的本意,因此即使能够运行得到结果,也不一定与预期的结果一样,否则就不需要调试与修改程序了,故B选项错误。答案为B选项。 10[单选题] 设有定义: int a=1,b=2,C=3;
以下语句中执行效果与其她三个不同的是( )、
A、if(a>B、C=a,a=b,b=C;B、if(a>B、{C=a,a=b,b=C;}C、if(a>B、C=a;a=b;b=c;D、if(a>B、{C=a;a=b;b=c;} 参:C
参考解析:由于a小于b,因此所有选项中的条件都为假,c选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立,因此什么也没有做,因此选择c选项、
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务