1[填空题] 下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参X的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
参考解析:
【参考答案】
(1)x (2)P (3)s
【考点分析】
本题考查:链表的基本操作。了解链表的基本思想和相关算法,理解有关链表插入及删除时指针移动的先后顺序问题,注意指针的保存和归位。
【解题思路】
填空l:将形参X赋值给结点的数据域。
填空2和填空3:将新的结点和原有链表中的结点进行比较。
2[单选题] 以下叙述中正确的是( )
A.在C程序中的八进制和十六进制,可以是浮点数
B.整型变量可以分为int型、short型、long型和un-signed型四种
C.八进制数的开头要使用英文字母0,否则不能与十进制区分开
D.英文大写字母x和英文小写字母x都可以作为二进制数字的开头字符
参考答案:B
参考解析:c程序中的实型常量只有十进制一种数制,所以A错误。八进制数以0打头。所以c错误。c语言中整数只有十进制。八进制。十六进制三种没有二进制数制,所以D错误。
3[单选题] 以下叙述中正确的是( )
A.N—S流程图只能描述简单的顺序结构的程序
B.程序的算法只能使用流程图来描述
C.结构化程序的三种基本结构是循环结构、选择结构、顺序结构
D.计算机可以直接处理C语言程序,不必进行任何转换
参考答案:C
参考解析:N—s流程图是可以描述循环结构。选择结构。顺序结构等多种结构的程序,所以A选项错误。程序的算法可以用流程图。伪代码。N—S结构图等方法表示,所以B选项错误。计算机只能处理二进制表示的目标程序,不能直接执行由C语言编写的源程序,所以D选项错误。
4[单选题] 下列叙述中正确的是( )。
A.算法就是程序
B.设计算法时只需要考虑数据结构的设计
C.设计算法时只需要考虑结果的可靠性
D.以上三种说法都不对
参考答案:D
参考解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
5[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.9B.8C.7D.10
参考答案:A
参考解析:题目中静态局部变量a,在静态存储区内分配存储单元,在程序整个运行期间都不释放。所以第-次调用函数执行n+=a++;时a先与n相加在再进行自增。n的值为4,a的值为2,且a变量执行完后空间没有释放。再执行s:。+f(a)时,s的值为4,调用f(a)函数时n的返回值为n=3+2=5,且此时a的值为3了。所以s的值为9。
6[单选题]若有以下程序
则程序的输出结果是
A.4,5,6,7,B.4,7,10,13,C.4,6,8,10,D.3,5,7,9,
参考答案:C
参考解析:主函数中变量k作为for语句的循环变量,取值0、1、2、3,同时也作为实参通过调用函数f传递给形参变量m。南于变量a是全局变量,变量n是static静态变量,因此k=0时,f函数中,语句return n+m+a;即l+0+3=4;k=1时,f函数中,语句retum n+m+8;即2+1+3=6;k;2时,f函数中,语句returnn+m+a;即3+2+3=8;k=3时,f函数中,语句return n+m+a;即4+3+3=10。因此C选项正确。
7[单选题] 以下针对全局变量的叙述错误的是
A.用extern说明符可以限制全局变量的作用域
B.全局变量是在函数外部任意位置上定义的变量
C.全局变量的作用域是从定义位置开始至源文件结束
D.全局变量的生存期贯穿于整个程序的运行期间
参考答案:A
参考解析:在不同编译单位内用extern说明符来扩展全局变量的作用域,extem可以将全局变量作用域扩展到其他文件,而不是限制全局变量的作用域,答案为A选项。
8[单选题] 学生选课成绩表的关系模式是sc(S#,c#,G),其中S#为学号,c#为课号,G为成绩,检索课号为2且成绩及格的学生学号的表达式为( )。
参考答案:A
参考解析:表示针对属性进行的投影运算,0r表示针对元组进行的选择运算,’^’表示交运算,’V’表示并运算。要求检索结果为关系模式中的学生学号s#,首先在几种属性中选择学生学号'iTS#,其次要在其中选择满足条件的元组0r,条件是课号为2且成绩及格,即为“c#=2AG,>60”,故完整表达式为叮rs#(orc#=2AG一>60(SC))。本题选A选项。
9[单选题] 以下是正确c语言标识符的是( )。
A.&3B.#3C.jD.一3
参考答案:C
参考解析:c语言合法标识名的命名规则是:(1)标识符由字母、数字和下划线组成。(2)第一个字符不能是数字只能是字母或下划线。选项A的第一个字符为&,非法,选项B,第一个字符为#,非法,选项D,第一个字符为一,非法。答案为选项C。
10[单选题] 以下叙述中正确的是
A.if语句只能嵌套一层
B.if子句和else子句中可以是任意的合法的c语句
C.不能在else子句中再嵌套if语句
D.改变if-else语句的缩进格式,会改变程序的执行流程
参考答案:B
参考解析:A选项中,if语句的嵌套没有规定层数;C选项中,可以在else予句中再嵌套if语句;D选项中,改变if—else语句的缩进格式,不会改变程序的执行流程,需要注意if和else的配对问题。因此B选项正确。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |