阅读下列程序说明和C程序,已知其输出为“1 2 3 4 5 6 7 8 9 10”。将应填入(n)处的字句写在对应栏内。
[说明]
本程序包含的函数及其功能说明如下:
(1)函数first_insert()的功能是在已知链表的首表元之前插入一个指定值的表元;
(2)函数reverse_copy()的功能是按已知链表复制出一个新链表,但新链表的表元链接顺序与
已知链表的表元链接顺序相反;
(3)函数Print_link()用来输出链表中各表元的值;
(4)函数free_link()用来释放链表全部表元空间。
[程序]
include <stdio. h >
include <malloe. h >
typodef struct node {
int val;
struct node * next;
} NODE;
void first_insert(NODE * * p,int v)
{ NODE *q = (NODE *) malloe(sizeof(NODE));
q->val = v; q->next = *p; /* 为新表元赋值*/
* p =(1); }
NODE * reverse_copy(NODE * p)
{ NODE * u;
for(u=NULL; p!=NULL; p=p->next) first_insert((2));
return u;
}
void printlink(NODE * p )
{ for(;(3)) prinff("%d\t", p->val);
printf(" \n");
}
void free_link(NODE * p)
{ NODE * u;
while(p! =NULL) { u=p->next;free(p);(4); }
void main() { NODE * link1 , * link2;
int i;
link1 = NULL;
for(i=1; i<= 10; i+ + )first_insert(&linkl, i);
link2 = reverse_copy(link1 );
(5);
free_link(linkl ) ;free_link(link2); }
下列关于超标量(Superscalar)技术的叙述,错误的是
A.超标量技术通过内置多条流水线来同时执行多个处理
B.超标量技术的实质是以空间换取时间
C.在经典奔腾中,由两条整数指令流水线和一条浮点指令流水线组成
D.流水线U和流水线V既可以执行精简指令,又可以执行复杂指令
有如下函数模板: template<typename T.typename U> T east(U u)i return u;} 其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是()。
A.cast(i);
B.cast<>(i);
C.east<char*,int>(i);
D.east<double,int>(i);
有如下函数模板: template T east(U u)i return u;} 其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是()。
A.cast(i);
B.cast(i);
C.east(i);
D.east(i);
A.9,17,11
B.9,11,11
C.11,11,11
D.11,17,11
I.若X→Y,则X→→*Y
II.若X→→Y,则X→Y
III.若X→Y,则X→Z
IV.若X→→Y,则X→→Z
V.若X→→Y, Y'Y,则X→→Y'
A.仅I、II和III
B.仅II、III和V
C.仅I和IV
D.仅IV和V
●试题一
阅读下列算法说明和算法,将应填入(n)处的字句写在答题纸的对应栏内。
【算法说明】
为便于描述屏幕上每个像素的位置,在屏幕上建立平面直角坐标系。屏幕左上角的像素设为原点,水平向右方向设为X轴,垂直向下方向设为Y轴。
设某种显示器的像素为128×128,即在每条水平线和每条垂直线上都有128个像素。这样,屏幕上的每个像素可用坐标(x,y)来描述其位置,其中x和y都是整数,0≤x≤127,0≤y≤127。
现用一维数组MAP来存储整个一屏显示的位图信息。数组的每个元素有16位二进位,其中每位对应一个像素,"1"表示该像素"亮","0"表示该像素"暗"。数组MAP的各个元素与屏幕上的像素相对应后,其位置可排列如下:
MAP(0),MAP (1) ,…,MAP (7)
MAP (8) ,MAP (9) ,…,MAP (15)
MAP(1016),MAP(1017),…,MAP(1023)
下述算法可根据用户要求,将指定坐标(x,y)上的像素置为"亮"或"暗"。
在该算法中,变量X,Y,V,S,K都是16位无符号的二进制整数。数组BIT中的每个元素BIT(K)(K=0,...,15)的值是左起第K位为1,其余位均为0的16位无符号二进制整数,即BIT(K)的值为215-k。
【算法】
第1步根据用户指定像素的位置坐标(x,y),算出该像素的位置所属的数组元素MAP(V)。这一步的具体实现过程如下:
1.将x送变量X,将y送变量Y;
2.将Y左移 (1) 位,仍存入变量Y;
3.将X右移 (2) 位,并存入变量S;
4.计算Y+S,存入变量V,得到像素的位置所属的数组元素MAP(V)。
第2步算出指定像素在MAP(V)中所对应的位置K(K=0,…,15)。这一步的具体实现过程如下:将变量X与二进制数 (3) 进行逻辑乘运算,并存入变量K。
第3步根据用户要求将数组元素MAP(V)左起第K位设置为"1"或"0"。这一步的具体实现过程如下:
1.为把指定像素置"亮",应将MAP(V)与BIT(K)进行逻辑 (4) 运算,并存入MAP(V)。
2.为把指定像素置"暗",应先将BIT(K)各位取反,再将MAP(V)与BIT(K)进行逻辑 (5) 运算,并存入MAP(V)。
阅读下列说明,回答问题1至问题3。
[说明]
基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。以下代码由C++语言书写,请按要求回答问题。
void ReadPara(CString temp)
{
if(temp==">=")
m_oper.SetCurSel(0);
else
{
if(temp==">")
m_oper.SetCurSel(1);
else
{
if(temp=="==")
m_oper.SetCurSel(2);
else
{
if(temp=="<=")
m_oper.SetCurSel(3);
else
{
if(temp=="<")
m_oper.SetCurSel(4);
else
m_oper.SetCurSel(5);
}
}
}
}
return;
}
请画出以上代码的控制流图。
请计算上述控制流图的环路复杂度V(G)。
请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。
请帮忙给出每个问题的正确答案和分析,谢谢!
判别下面所定义的变换,哪些是线性的,哪些不是:
1)在线性空间V中,其中α∈V是一固定的向量;
2)在线性空间V中,其中α∈V是一固定的向量;
3)在P3中;
4)在P3中;
5)在P[x]中;
6)在P[x]中,其中x0∈P是一固定的数;
7)把复数域看作复数域上的线性空间,
8)在Pnxn中,,其中B,C∈Pnxn是两个固定的矩阵。
(20 )下列关于 SQL 语句的说法中,错误的是
A ) INSERT 语句可以向数据表中追加新的数据记录
B ) UPDATE 语句用来修改数据表中己经存在的数据记录
C ) DELETE 语句用来删除数据表中的记录
D ) CREATE 语句用来建立表结构并追加新的记录