A、 a=(b=3)=1;
B、 a=(b=2)+c;
C、 a=b=c+10;
D、 a=1+(b=c=2);
答案:A
解析:【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量或表达式,且左右两边数据类型相同才能实现赋值。A项中,赋值运算(b=3)=1,左值为表达式,不是变量不能被赋值,A项错误。B项运算过程为,先赋值b=2,再计算b+c,将结果赋给a,是正确的赋值语句。C项运算过程为,先计算c+10将结果赋给b,再将b赋给a,是正确的赋值语句。D项运算过程为,先将2赋给c,再将c赋给b,然后计算1+b,将结果赋给a,是正确的赋值语句。答案选择A选项。
A、 a=(b=3)=1;
B、 a=(b=2)+c;
C、 a=b=c+10;
D、 a=1+(b=c=2);
答案:A
解析:【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量或表达式,且左右两边数据类型相同才能实现赋值。A项中,赋值运算(b=3)=1,左值为表达式,不是变量不能被赋值,A项错误。B项运算过程为,先赋值b=2,再计算b+c,将结果赋给a,是正确的赋值语句。C项运算过程为,先计算c+10将结果赋给b,再将b赋给a,是正确的赋值语句。D项运算过程为,先将2赋给c,再将c赋给b,然后计算1+b,将结果赋给a,是正确的赋值语句。答案选择A选项。
A. T=R∩S
B. T=R∪S
C. T=R×S
D. T=R/S
解析:【解析】交运算和并运算用于属性相同的两个关系间,其中交运算的结果是既属于关系R也属于关系S的集合,并运算将结构相同的两个关系合并,合并后的关系包含两个关系中的所有元组。答案选择B选项。
A. 项,先执行3+4=7,7>6,结果为真;
B. 项,先执行3!=4为真,即为
C. 3<=4ǁ3
D. (3<4)==1
解析:【解析】
A. 算法强调动态的执行过程,不同于静态的计算公式
B. 算法必须能在有限个步骤之后终止
C. 算法设计必须考虑算法的复杂度
D. 算法的优劣取决于运行算法程序的环境
解析:【解析】算法是指对解题方案的准确而完整的描述。A项正确,算法强调实现,不同于数学上的计算方法;B项正确,算法的有穷性是指,算法中的操作步骤为有限个,且每个步骤都能在有限时间内完成;C项正确,算法设计必须考虑执行算法所需要的资源,即时间复杂度与空间复杂度;D项错误,算法的优劣取决于算法复杂度,只有当算法被编程实现运行时才会受到运行环境影响。答案选择D选项。
A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C. 进行插入与删除时,不需要移动表中的元素
D. 以上说法均不正确
解析:【解析】线性表的链式存储结构称为线性链表。线性链表的存储空间可以不连续,其存储顺序和逻辑顺序也不一定一致。线性链表一般用结点描述:结点=数据域+指针域。进行插入和删除时,只需改变指针的指向,而不需要移动表中元素。答案选择C选项。
解析:【解析】错误1:使用for循环计算公式取到m时, 后一次循环应该正好等于m,所以i<m应改为i<=m。错误2:在除法运算中,如果除数和被除数都是整数,那么所除结果也是整数,因此需要对结果进行强制转换或者将除数或被除数其中
A. 循环队列有对头和队尾两个指针,因此,循环队列是非线性结构
B. 在循环队列中,只需要对头指针就能反应队列中元素的动态变化
C. 在循环队列中,只需要对尾指针就能反应队列中元素的动态变化
D. 循环队列中元素的个数是由对头指针和队尾指针共同决定
解析:【解析】循环队列是将队列存储空间的 后一个位置绕到第一个位置,形成逻辑上的环形空间。循环队列仍然是顺序存储的线性结构,是队列常采用的形式,故A项错误。在循环队列中,用队尾指针rear指向队尾元素,用队头指针front指向队头元素的前一个位置。循环队列中的元素是动态变化的:每一次入队,队尾指针就进一;每一次出队,队头指针就进一,所以队头指针和队尾指针一起反映了队列中元素的动态变化情况,BC两项错误。从队头指针指向的后一个位置与队尾指针指向的位置之间的元素即为队列中所有的元素,答案选择D选项。
A. 顺序结构,分支结构,跳转结构
B. 顺序结构,选择结构,循环结构
C. 分支结构,选择结构,循环结构
D. 分支结构,跳转结构,循环结构
解析:【解析】结构化程序以模块化设计为中心,认为程序设计语言仅仅使用顺序、选择和循环三种基本控制结构就可以实现任何算法功能。答案选择B选项。
A. 9,One*World
B. 9,One*Dream!
C. 10,One*Dream!
D. 10,One*World
解析:【解析】程序将两个字符串常量赋值给一个二维字符数组,然后p指向第二个字符串。strlen统计字符串中有效字符的个数,可知"One*Dream!"中共有
A. 项正确,“(ch=getchar())!='N'”表示先把getchar()函数的返回值赋值给ch,然后判断,当读入字母不为N时,ch与'N'不相等,执行打印函数printf,当读入字母N时,ch与'N'相等,循环结束,同理知选项D错误。
B. 项错误,“ch=getchar()='N'”表达式从右向左计算,会把´N´赋值给getchar()函数的返回值,而getchar()函数的返回值是右值,不可改变,出现编译错误;
C. while(ch=getchar()=='N') printf("%c ",ch);
D. 错误。B项错误,“ch=getchar()='N'”表达式从右向左计算,会把´N´赋值给getchar()函数的返回值,而getchar()函数的返回值是右值,不可改变,
解析:【解析】
A. x的内存地址与x.i的内存地址相同
B. struct data是一个类型名
C. 初始化时,可以对x的所有成员同时赋初值
D. 成员i、c和d占用的是同一个存储空间
解析:【解析】变量i、c、d是结构体变量x中三个不同的成员,占用不同的存储空间。答案选择D选项。补充:区分struct和union,union的各个数据成员共享一块存储空间,struct不同的成员,占用不同的存储空间。