正确答案: B
表B中的一个记录能与表A中的多个记录匹配
题目:假设数据中表A与表B建立了“一对多”关系,表A为“多”的一方,则下述说法正确的是( )。
解析:本题考查表与表之间的关系。在关系数据库中,表与表的关系有三种:一对一关系、一对多关系、多对多关系。若表A和表8之间存在一对一的关系,那么表A中的一条记录只能与表8中的一条记录匹配,反过来表B中的一条记录只能与表A中的一条记录匹配;若表A和表8之间存在一对多的关系,且表B为多的一方,那么表A中的一条记录与表B中的多条记录匹配,反过来表8中的一条记录只能与表A中的一条记录匹配;若表A和表B之间存在多对多的关系,那么表A中的一条记录能与表B中的多条记录匹配,反过来表8中的一条记录也能与表A中的多条记录匹配。
查看原题 点击获取本科目所有试题
举一反三的答案和解析:
[单选题]下列程序执行后的输出结果是( )。 main {int x=f;printf("%c\n",A+(x-a+1));}
J
解析:因为x=f,所以写成A+(x-a+1)=A+(f-a+1)=A+6=J,故选择D选项。
[单选题]如下程序:includevoid main(){char str[2][5]={"1234","5678"),*p[2];int i,j,s=0;
如下程序: #includeiostream.h> void main() { char str[2][5]={"1234","5678"),*p[2]; int i,j,s=0; for(i=0;i2;i++)p[i]=str[i]; for(i=0;i2;i++) for(j=0;p[i][j]>'\0';j+=2) s=10*s+p[i][j]-'0'; couts; } 该程序的输出结果是( )。
1357
解析:解析:程序中的“for(i=0;i2;i++)p[i]=str[i];”语句将str中的值赋值给指针数组p。在接下来的二重for循环中,跳取“j+=2”,p指针指向的值即“1”,“3”,“5”,“7”。在分别对字符到整型的转换,即减去字符‘0’,然后依次转换为千位,百位,十位,个位“10%”操作输出接型s,即“1357”。
[单选题]用于显示消息框的宏命令是( )。
MsgBox
[单选题]下列选项中不合法的标识符是( )。
&a
解析:解析:本题考查的是数据类型及其运算中标识符的定义,标识符只能由数字、字母和下画线组成,并且只能以字母和下画线开头,所以选项C)不合法。
[单选题]下面代码段的输出是( )。 if (5 & 7 > 0 && 5 | 2) System.out.println("true");
编译出错
解析:解析:本题考查对位运算符和逻辑运算符的理解。位运算符“&”和“尸用于按位将两个数进行与和或的操作,两个操作数可以是整型、字节型、长整型和短整型,但不能是浮点型数据。逻辑运算符&&只能对两个布尔型的数据进行运算,返回的结果也是布尔型的。这点跟C语言是不同的,在C语言中,两个整型数据也能够进行逻辑运算。这在Java语言里是不允许的。在本题中,&&运算符的左边是布尔型数据,而右边是整型数据,所以就不能被编译通过。
[单选题]下面不属于软件工程的3个要素的是()
环境
[单选题]下列语句中,错误的是
const int temp;
解析:解析:本题考查了符号常量的特点。符号常量必须在声明的同时为其赋初值。因此选项B是错误的。选项C定义的是一个指向常量的指针变量,即通过该指针不能改变它所指向的内容,而它自己的内容是可以改变的。定义指针符号常量的格式应该是:double*const point=<某地址值>;。所以选项C是合法的,它可以不用在声明时赋初值。故应该选择B。