单选题已知i=5,j=0,下列各式中运算结果为j=5的表达式是(  )。Aj=i+(++j)Bj=j+i++Cj=++i+jDj=j+++i

单选题
已知i=5,j=0,下列各式中运算结果为j=5的表达式是(  )。
A

j=i+(++j)

B

j=j+i++

C

j=++i+j

D

j=j+++i


参考解析

解析:
单目运算符、赋值运算符和复合赋值运算符是右结合。后缀增量的优先级高于前缀增量和单目加,前缀增量和单目加的优先级相同,前缀运算符,先执行自身加1的运算,然后再进行其他运算;后缀运算符先做其他运算,再自身加1。A项,先执行++j,j=1,再执行j = i + j= 5+1=6;B项,先执行j=0+5=5,再执行i++,i=1;C项,先执行++i,i=6,再执行j=i+j=6+0=6;D项,根据后缀优先级高于单目加,结合情况是j=(j++)+i,先执行j=j+i=5,再执行j++,j=6。综上,只有B项j=5。

相关考题:

有以下程序:includestdio.hmain( ){ char a[5][10]={one,tw0,three,four,five};int i,j;char t: 、for(i=0;i4;i++)for(j=i+1;j5;j++)if(a[i][O]a[j][0]){t=a[i][O];a[i][O]=a[j][O];a[j][O]=t;)puts(a[1]);}程序运行后的输出结果是( )。A.fwoB.fixC.twoD.owo

下列程序的输出结果是()。inCludemain(){char ch[2][5]={"1234","5678,},*p[2];int i,j 下列程序的输出结果是( )。 #inClude<stdio.h> main() { char ch[2][5]={"1234","5678,},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) { s=p[i][j]-'0';A.8B.7C.12D.9

已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”。采用KMP算法进行匹配,第一次出现“失配”(s[i]≠t[j])时,i=j=5,则下次开始匹配时,i和j的值分别是()。A.i=1,j=0B.i=5,j=0C.i=5,j=2D.i=6,j=2

以下程序的输出结果是()。includevoid main(){int a(5),b(6),i(0),j(0);switch(a) { 以下程序的输出结果是( )。 #include<iostream.h> void main() { int a(5),b(6),i(0),j(0); switch(a) { case 5:switch(b) { case 5:i++;break; case 6:j++;break; default:i++;j++; } case 6:i++; j++; break; default:i++;j++; } cout<<i<<","<<j<<endl; }A.1,2B.1,3C.2,2D.2,3

下列程序的输出结果是( ) main() { char ch [2][5]={"6934","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0'p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); }A.6385B.69825C.63825D.693825

下面程序段的执行结果为( )。 int i=3,j=0,k=0; for(;i>0;--i) { ++k; do { ++j; if (i!=j) break; ++k; }while(j<5); } printf("i=%d j=%d k=%d\n",i,j,k);A.i=0 j=4 k=12B.i=0 j=5 k=5C.i=0 j=4 k=4D.i=0 j=3 k=3

下列程序用来判断数组中特定元素的位置所在,则输出结果为()。includeinclude 下列程序用来判断数组中特定元素的位置所在,则输出结果为( )。 #include<conio.h> #include<iostream.h> int fun(int*p,int n,int*j) {int i; *j=0; for(i=0;i<n;i++) if(p[*j]<p[i])*j=i; return p[*j];} void main() {int a[10]={1,3,9,0,8,7,6,5,4,2)j;int j; fun(a,10,j); cout<<j<<','<<a[j];}A.2,9B.3C.9D.3,9

以下程序的输出结果是( )。 include main() {int i=10,j=0; do {j=j+i; i--; }while(i>5 以下程序的输出结果是( )。 include<stdio.h> main() {int i=10,j=0; do {j=j+i; i--; }while(i>5); printf("%d\n",j); }

下列程序段的输出结果为( )。 Dim M(5,5), S(5) For i = 1 To 5 S(i) = 0 For j = 1 To 5 M(i, j) = i + j S(i) = S(i) + M(i, j) Next j Next i For Each x In S Print x; Next xA.2023 24 3540B.2025 30 3540C.2023 25 35 40D.2025 354045

若有定义语句“inti=2,j=3;”,则表达式i/j的结果是( )。 A.0B.0.7C.0.66667S 若有定义语句“inti=2,j=3;”,则表达式i/j的结果是( )。A.0B.0.7C.0.66667D.0.66666667

下列程序运行后,输出结果是______。main(){ char ch[2][5]={"693","825"),*p[2]; int i,j,s=0; for (i=0;i<2;i++) p[i]=ch[i]; for (i=0;i<2;i++) for (j=0;p[i][j]>='0' p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);}A.6385B.22C.33D.693825

下列程序的输出结果是()。includemain() {char ch[2][5]={"1234","5678"},*p[2];int i, 下列程序的输出结果是( )。 #include<stdio.h> main() { char ch[2][5]={"1234","5678"},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) { s=p[i][j]-'0'; printf("%d",s);} }A.6357B.6135C.1357D.691357

下列程序的输出结果是【】。 include void main() { inta(5),b(6),i(0)1j(0); switch(a 下列程序的输出结果是【 】。include<iostream.h>void main(){inta(5),b(6),i(0)1j(0);switch(a){case 5:switch(b){case 5:i++;break;case 6:j++;break;defaun:i++;j++;}case 6:i++;j++;break;default:i++;j++;}cout<<i<<","<<j<<endl;}

若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为() A.1B.0C.6D.7

下面程序的结果是( )。 i=l j=O Do j=j+l i=i+l Loop Until i5A.0B.4C.1D.5

下面程序运行后j的结果是( )。 i=1 j=0 Do j=j+1 i=i+1 Loop Until i < 5A.0B.4C.1D.5

下面程序的结果是( )。 i=l j=0 Do j=i+1 i=i+1 Loop Until i<5A.0B.4C.1D.5

下列程序的输出结果是()。 inClude main() {charch[2][5]={"1234","5678"},*p[2]; int 下列程序的输出结果是( )。#inClude<stdio.h>main(){ charch[2][5]={"1234","5678"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2){ s=p[i][j]-'0';printf("%d",s);}}A.6357B.6135C.1357D.691357

已知x=[[1,2,3,],[4,5,6]],那么表达式sum([i*j for i,j in zip(*x)])的值为()。

若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为()A、1B、0C、6D、7

已知int i=0,j=1,k=2;则逻辑表达式++i || --j ++k的值为()A、0B、1C、2D、3

已知列表x=[1,2,3]和y=[4,5,6],那么表达式[(i,j)for i,j in zip(x,y)if i==3]的值为()。

单选题已知int i=0,j=1,k=2;则逻辑表达式++i || --j ++k的值为()A0B1C2D3

单选题有以下程序:#include #include main(){ char w[20], a[5][10] = {abcdef, ghijkl, mnopq, rstuv, wxyz}; int i,j; for(i=0;i5;i++) {  j=0;  while(a[i][j]!='\0')j++;  w[i]=a[i][j-2]; } w[5]='\0'; puts(w);}程序运行后的输出结果是(  )。AagmrwBekpuyCdjotxDflqvz

单选题若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为()A1B0C6D7

填空题已知列表x=[1,2,3]和y=[4,5,6],那么表达式[(i,j)for i,j in zip(x,y)if i==3]的值为()。

填空题已知x=[[1,2,3,],[4,5,6]],那么表达式sum([i*j for i,j in zip(*x)])的值为()。