在下列选项中,不正确的赋值语句是()。A、++tB、n1=(n2=(n3=0))C、k=i=jD、a=b+c=1

题目

在下列选项中,不正确的赋值语句是()。

  • A、++t
  • B、n1=(n2=(n3=0))
  • C、k=i=j
  • D、a=b+c=1
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序inclUdevoidfun(int*s,intn1,intn2){inti,j,t;i=n1;j=n2;while(i

有以下程序 #inclUde <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1; j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4

A.0987654321

B.4321098765

C.5678901234

D.0987651234


正确答案:C
解析: 函数fun(int*s,int n1,int n2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5,6,7,8,9,0};再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。

第2题:

设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是 ______。

A.*p=*q;

B.p=q;

C.*p=&n1;

D.p=*q;


正确答案:A
解析:由定义*p=&n2,*q=&n1,p指向n2的地址,q指向n1的地址,即*p=n2,*q=n1,B、C、D选项只是让p也指向n1的地址,都没有将n1赋值给n2。

第3题:

对n个元素值分别为-1、0或1的整型数组A进行升序排序的算法描述如下:统计A中-1、0和1的个数,设分别为n1、n2和n3,然后将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n3个元素赋值为1。该算法的时间复杂度和空间复杂度分别为()。

A.Θ(n)和Θ(1)

B.Θ(n)和Θ(n)

C.Θ(n2)和Θ(1)

D.Θ(n2)和Θ(n)


参考答案:A

本题需要用3个辅助变量n1、n2和n3来保存数组A中-1、0和1的个数,空间复杂度为Θ(1)。在统计时,需要使用一循环语句遍历数组A。统计完成后,再使用一次循环语句遍历数组A,并将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n个元素赋值为1。数组A的元素个数为n,因此算法的时间复杂度为Θ(n)。

第4题:

下列赋值语句错误的是( )。

A.A

B.i==0;

C.i=i+1:

D.i+=1:


正确答案:B

第5题:

在图示四个轴力N1、N2、N3和N4中,( )。

:(A)N1和N2为正,N3和N4为负。

(B)N1和N4为正,N2和N3为负。

(C)N2和N3为正,N1和N4为负。

(D)N3和N4为正,N1和N2为负


正确答案:A

第6题:

设有定义:int n1=0,n2,*p=&n2,*q=&n1;,下列赋值语句中与n2=n1;语句等价的是 ( )。

A.*p=*q;

B.p=q;

C.*p=&n1;

D.p=*q;


正确答案:A
解析: 在定义指针变量p和q时,分别把变量n2和n1的地址赋给了指针变量p和q,所以*p和*q中内容就分别是变量n2和n1的值,所以语句*p=*q与语句n2=n1等价。因此选项A)正确。

第7题:

在以下选项中,不正确的赋值语句是( )。 A.i++;B.nl=(n2=(n3=0..;C.m+n=1;S

在以下选项中,不正确的赋值语句是( )。

A.i++;

B.nl=(n2=(n3=0..;

C.m+n=1;

D.i=k==j;


正确答案:C
赋值运算符的左边只能是变量,而不能是常量或表达式。

第8题:

设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()。A)*p=*q; B)p=q;C)*p=&n1; D)p=*q;


正确答案:A
B项是将n1的地址赋给p,使p也指向n1,C项表达式错误,应该p=&n1,和B一样的效果,D项也是表达式错误。

第9题:

当发生窗体的单击事件时,输出的第二行为( )。 Private Sub Form_click() Dim N1 As Integer,N2 As Integer,N3 As Integer N1=1:N2=1 Print N1;N2 Do N3=N1+N2 Print N3; N1=N2:N2=N3 Loop Until N3>=5 End Sub

A.1 1 1

B.2 3 5

C.2 5 7

D.2 3 4


正确答案:B
解析:此处需注意的是,DO…LoopUntil循环的结束条件是Until后面的表达式值是True。当发生窗体的单击事件时,首先给变量N1和N2赋值为1,然后输出为12并换行。执行循环,N3的值为2,输出2不换行,进行赋值后N1的值为1,N2的值为2,判断条件“2>=5”为False,重新执行循环:第二次执行循环输出N3的值为3,循环结束条件依旧为False;第三次执行循环输出N3的值为5,循环结束条件为True,循环退出。所以输出的第二行为“235”。

第10题:

有下列程序: include void fun(int * s,int n1,int n2) { int i,j,

有下列程序: #include <stdio.h> void fun(int * s,int n1,int n2) { int i,j,t; i=n1;j=n2; while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]);printf("\n"); } 程序的运行结果是( )。

A.987654321

B.4321098765

C.5678901234

D.987651234


正确答案:C
解析:从题目的主函数入手,定义了一个一维数组并赋韧值,接着调用函数fun(),fun()函数的功能为使数组中的元素逆序,当调用 fun(a,0,3),将实参传递给形参实现数组a中a[0]-a[3]这4个元素逆序;同理调用fun(a,4,9)是将上步排列好的a数组中a[4]-a[9]这6个元素逆序;调用fun(a,0,9)是将数组中a[0]-a[9]这10个元素在逆序,再用printf()函数输出结果为5678901234,故选项C)正确。

更多相关问题