以下程序的输出结果是( )。main( ){ int Rum=0;while(num<=2){ num

  • A+
(1)【◆题库问题◆】:[单选] 以下程序的输出结果是( )。main( ){ int Rum=0;while(num<=2){ num++;printf(”%d\n”,num);}}
A.1
B.1
C.1234
D.12 23

【◆参考答案◆】:D

【◆答案解析◆】:当num=0时,循环成立,执行num++ 后;num的值为1,因此输出1,接着返回while中的表达式;当num=1时,循环成立,执行nHm++后,num的值为2,输出2,再返回while中的表达式;当num=2时,循环成立,执行num++后.nHm的值为3,输出3,最后返回while中的表达式,当num=3,循环不成立,退出。

(2)【◆题库问题◆】:[单选] 语句Char(*P)()说明了(  )。
A.P是指向函数的指针,该函数返回一个Char型数据
B.P是指向Char型数据的指针变量
C.P是指向数组的指针变量
D.P是一个函数名,该函数的返回值是指向Char型数据的指针

【◆参考答案◆】:A

【◆答案解析◆】:P是指向函数的指针,该函数返回一个char型数据。

(3)【◆题库问题◆】:[单选] 有下列程序:main(){ char s[]=”abode”;s+=2:printf(”%d\n”,s[o]);)执行后的结果是( )。
A.输出字符a的ASCII码
B.输出字符c的ASCII码
C.输出字符c
D.程序出错

【◆参考答案◆】:D

【◆答案解析◆】:D。【解析】因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+一2;”不能将指针在当前位置的基础上再向后移动两位,因而程序编译时出错。

(4)【◆题库问题◆】:[单选] 一些重要的程序设计语言(如C语言和Pascal语言)允许过程的递归调用,而实现递归调用中的存储分配通常用( )。
A.栈
B.堆
C.数组
D.链表

【◆参考答案◆】:A

【◆答案解析◆】:A。【解析】在允许过程的递归调用的程序设计语言中,由于C语言中栈的特性为先进后出,因此用栈来实现递归调用中的存储分配。

(5)【◆题库问题◆】:[单选]有以下结构体说明和变量的定义,且指针P指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是( )。struct node{char data;structnode*next:}a,b,*p=&a,*q=&b;
A.next=q;
B.P.next=&b;
C.p->next=&b;
D.(*p).next=q;

【◆参考答案◆】:B

【◆答案解析◆】: 本题考查结构体指针变量的赋值方法,要把结点b连接到结点;l的后面,必须把b的地址给a的next指针。故8正确。

(6)【◆题库问题◆】:[单选] 若有定义语句:“int x=12,y=8,z;”,在其后执行语句“z=0.9+x/y;”,则2的值为(  )。
A.1.9
B.1
C.2
D.2.4

【◆参考答案◆】:B

【◆答案解析◆】:x的值为12,y的值为8,那么x/y的值就是1,因为z的类型是int,所以0.9+1变成int的值就是1,所以选择B。

(7)【◆题库问题◆】:[单选] 在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的(  )。
A.连接码
B.关系码
C.外码
D.候选码

【◆参考答案◆】:D

【◆答案解析◆】:D) 【解析】在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的候选码或候选键。从二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。

(8)【◆题库问题◆】:[单选] 以下关于C语言的叙述中正确的是(  )。
A.C语言中的注释不可以夹在变量名或关键字的中间
B.C语言中的变量可以在使用之前的任何位置进行定义
C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D.C语言的数值常量中夹带空格不影响常量值的正确表示

【◆参考答案◆】:B

【◆答案解析◆】:C语言中的变量必须在使用前定义,注释不记入程序,只是作为一种解释程序的标识,方便其他用户修改及查看。

(9)【◆题库问题◆】:[单选] 下列关于Java多线程并发控制机制的叙述中,错误的是(  )。
A.Java中对共享数据操作的并发控制是采用加锁技术
B.线程之间的交互,提倡采用suspend(  )/resume(  )方法
C.共享数据的访问权限都必须定义为private
D.Java中没有提供检测与避免死锁的专门机制,但程序员可以采用某些策略防止死锁的发生

【◆参考答案◆】:B

【◆答案解析◆】:本题考查多线程的并发控制机制。Java中对共享数据操作的并发控制采用传统的加锁技术,也就是给对象加锁,选项A说法正确。线程之间的交互,提倡采用wait(  )和notify(  )方法,这两个方法是javA.lang.object类的方法,是实现线程通信的两个方法,不提倡使用suspend(  )和resume(  )方法,它们容易造成死锁,所以选项B说法错误。共享数据的访问权限都必须定义为private,不能为public或其他,选项c说法正确。Java中没有提供检测与避免死锁的专门机制,因此完全由程序进行控制,但程序员可以采用某些策略防止死锁的发生,选项D说法正确。

(10)【◆题库问题◆】:[单选] 下列属于表单方法名(非事件名)的是()。
A.Init
B.Release
C.Destroy
D.Caption

【◆参考答案◆】:B

【◆答案解析◆】:B。【解析】Init和Destroy属于事件,Caption是属性,Release是方法。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: