第 1 页:选择题 |
第 5 页:程序填空题 |
第 6 页:程序改错题 |
第 7 页:程序设计题 |
31有三个关系R、s和T如下:
由关系R和s通过运算得到关系T,则所使用的运算为( )。
A.并B.自然连接C.笛卡尔积D.交
参考答案:D
参考解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以8错误。笛卡尔积是用R集合中元素为第一元素,s集合中元素为第二元素构成的有序对,所以c错误。根据关系T可以很明显地看出是从关系R与关系s中取得相同的关系组所以取得是交运算,选择D。
32以下选项中,能用作用户标识符的是( )。
A.-0-B.8-;8C.voidD.unsigned
参考答案:A
参考解析:C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。8中以数字8开头,所以错误。c与D中用的是关键字void与unsigned,所以错误。
33若有定义语句:int X=10;,则表达式x-=x+x的值为( )。
A.0B.-20C.-10D.10
参考答案:C
参考解析:算术运算符+的优先级高于-=.且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成;=x-(x+x)=10-(10+10)=-10,选择C。
34有以下计算公式
若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是( )。
参考答案:C
参考解析:本题重点考查的知识点是:s叫()函数。s叫()函数的作用是计算平方根,要求输出的参数x必须大于等于0。题目公式的要求是无论x大于等于0还是小于0,Y的值都为x绝对值的开方。选项c中调用了sqrt(x)函数,而没有判断X的正负,则Y=m-(x)会出错。
35在c语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。
A.auto和staticB.extern和registerC.auto和registerD.static和register
参考答案:C
参考解析:auto:函数中的局部变量,动态地分配存储空间,数据存储在动态存储区中,在调用该函数时系统会给它们分配存储空间,在函数调用结束时就自动释放这些存储空问。register:为了提高效率,C语言允许将局部变量的值放在cPU中的寄存器中,这种变量叫“寄存器变量”,只有局部自动变量和形式参数可以作为寄存器变量。extem:#1’部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。static:静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。
36有以下程序:
程序执行后的输出结果是( )。
A.55.B.50C.45D.60
参考答案:D
参考解析:内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。m(a,5)的值是15,再次调用后Ⅲm=15,所以fun(b,4)=45,s=45+15=60。因此D选项正确。
37下列函数的功能是( )。
A.将a所指字符串赋给b所指空间
B.使指针b指向a所指字符串
C.将a所指字符串和b所指字符串进行比较
D.检查a和b所指字符串中是否有‘、O’
参考答案:A
参考解析:While循环条件为:(_h=}a)f-‘、0’,执行时先把指针a所指向的字符赋给指针b所在内存单元,如果该字符不是结束标识‘\0’,执行循环体a++;b++;,指针a.b分别指向下一个字符单元。再判断循环条件,如果成立,继续把指针a所指向的字符赋给指针b所在内存单元,直到遇到结束标识为止。因此A选项正确。
38下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计
B.软件设计是将软件需求转换为软件表示的过程
C.数据结构与数据库设计是软件设计的任务之一
D.PAD图是软件详细设计的表示工具
参考答案:A
参考解析:详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以A错误。
39有以下程序:
程序运行后的输出结果是( )。
A.0B.9C.6D.8
参考答案:C
参考解析:主函数中调用f函数,同时将数值3传递给变量x,执行条件不满足条件if(x==0IlX==1);跳过re—turn(3);,直接执行语句Y=X}X—f(x一2);这里f(x一2)为函数的递归调用,再次诃用f函数,此时x=1,判断条件成立,返回3给f(1),Y=3}3—3=6,最后将6返回主函数,并进行输出。因此c选项正确。
40有以下程序:
程序运行后的输出结果是( )。
A.500B.401C.503D.1404
参考答案:C
参考解析:本题重点考察函数的定义和调用,第一次循环,a=0,i=0,返回值a=0*0+1+0=1;第二次循环,a=1,i=10,返回值a=10*10+1+1=102;第三次循环,a=102,i-20,返回值a=20*20+1十102=503;第四次循环,a=503,i=30;不符合i<30,跳出循环,最后结果输出a=503。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |