C语言程序设计

以下程序的输出结果是(). main()  {int  i,j,k,a=3,b=2;  i=(--a==b++)?--a:++b;  j=a++;k=b;  printf("i=%d,j=%d,k=%d/n",i,j,k);  }A、i=2,j=1,k=3B、i=1,j=1,k=2C、i=4,j=2,k=4D、i=1,j=1,k=3

题目

以下程序的输出结果是(). main()  {int  i,j,k,a=3,b=2;  i=(--a==b++)?--a:++b;  j=a++;k=b;  printf("i=%d,j=%d,k=%d/n",i,j,k);  }

  • A、i=2,j=1,k=3
  • B、i=1,j=1,k=2
  • C、i=4,j=2,k=4
  • D、i=1,j=1,k=3
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序

main()

{int i=1,j=1,k=2;

if((j++||k++)&&i++)

printf("%d,%d,%d\n",i,j,k);

}

执行后输出结果是

A.1,1,2

B.2,2,1

C.2,2,2

D.2,2,3


正确答案:C

第2题:

有以下程序 main(){intx[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[

有以下程序 main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j];x[j+1];x[j+1]=k;} for(i=0;i<8;i++)printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是

A.75310246

B.1234567

C.76310462

D.13570246


正确答案:A
解析:主函数中定义了一个整型数组x,并初始化。接着执行了一个二重 for循环,在该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组各元素的值为75310246。

第3题:

有以下程序

main( )

{ int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,j,k,t;

for(i=0;i<4;i++)

for(j=0;j<3;j++)

for(k=j+1;k<4;k++)

if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/* 按列排序 */

for(i=0;i<4;i++)printf("%d,",a[i][ i ]);

}

程序运行后的输出结果是

A)1,6,5,7,

B)8,7,3,1,

C)4,7,5,2,

D)1,6,2,1,


正确答案:A

第4题:

有以下程序 main( ) { int i=1,j=1,k=2; if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); } 执行后输出的结果是

A.1,1,2

B.2,2,1

C.2,2,2

D.2,2,3


正确答案:C
解析:C语言中,执行“‖”运算的两个操作数,若有1个值为1,则整个表达式的值都为1。若该运算符左边操作数的值为1,则就不继续执行其右边的操作数。

第5题:

有以下程序: main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k); } 程序运行后的输出结果是( )。

A.1 2 3

B.2 3 4

C.2 2 3

D.2 3 3


正确答案:D

第6题:

有以下程序: main() { int i=1,j=2,k=3; if(i++==l&&(++j==3||k++==3)) printf("%d%d%d\n",i,j,k): } 程序运行后的输出结果是( )。

A.1 2 3

B.2 3 4

C.2 2 3

D.2 3 3


正确答案:D
解析:本题的考点是关于C语言的逻辑表达式的计算规则。对于逻辑表达式“i++==1&&(++j==3||k++==3)”,首先判断“i++==1”,由于i初值为1,“i++==1”为真,同时i加1值为2。由于第一项为真,对于“&&”运算符,结果取决于后一项“(++j==3||k++==3)”。而逻辑表达式“(++j==3||k++==3)”计算时,首先判断“++j==3”,由于j初值为2,++j后j值为3,“++j==3”为真,对于“||”运算符不需要判断后一项表达式的结果就可以断定此逻辑表达式结果为真,因此“k++==3”并没有进行判断,k++也未执行,k仍是初值3,输出结果应该是2 3 3。正确选项是D。

第7题:

有以下程序 main() { int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t; for(i=0;<4:i++) for(j=0;j<3;j++) for(k=j+1;k<4;k++) if(a[j][i]>a[k][i]{t=a[j][i];a[j][i]=a[k][i]=a[k][i]=t;}/*按列排序*/ for(i=0;i<4;i++)printf("%d,",a[i][i]); } 程序运行后的输出结果是

A.1,6,5,7,

B.8,7,3,1,

C.4,7,5,2,

D.1,6,2,1,


正确答案:A
解析:本题利用多重for循环的嵌套来实现对二维数组元素的按列排序。利用最外层循环来实现对列的控制。内部循环利用选择法对数组元素按照从小到大的顺序进行排列。最后输出对角线上的元素值。故本题答案为A)。

第8题:

有以下程序

main()

{int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,j,k,t;

for(i=0;i<4;i++)

for(j=0;j<3;j++)

for(k=j+1;k<4;k++)

if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/

for(i=0;i<4;i++)printf(“%d,”,a[i][j]);

}

程序运行后的输出结果是( )。

A.1,6,5,7,

B.8,7,3,1,

C.4,7,5,2,

D.1,6,2,1,


正确答案:A

第9题:

有以下程序:main(){int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;j--)if (

有以下程序: main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;j--) if (x[j+1)>x[j]){k=x[j];x[j];x[j+1);x[j+1]=k;} for (i=0;i<3;i++) for (j=4;j<7-i;j++) if (x[j]>x[j+1]){k=x [j];x[j]=x[j+1];x[j+1)=k;} for(i=0;i<8;i++)printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是 ______。

A.75310246

B.1234567

C.76310462

D.13570246


正确答案:A
解析:本题中第一次执行for循环后,数组x中的前四个元素按由大到小的次序排序,即x[0]=7、x[1]=5、x[2]=3、 x[3]=1、x[4]=2、x[5]=4、x[6]=6、x[7]=0;第二次执行for循环后,数组x中的后4个元素按由小到大的次序排序,即此时x[0]=7、x[1]=5、x[2]=3、x[3]=1、x[4]=0、x[5]=2、x[6]=4、x[7]=6。故正确答案为A。

第10题:

有以下程序:include using namespace std;int main ( ){ int n[3],i,j,k = 2; for(i

有以下程序: #include <iostream> using namespace std; int main ( ) { int n[3],i,j,k = 2; for(i = 0;i<k;i++) n[i] = O; for(i = O;i<k;i++) { for(j = O;j<k;j++) n[j] = n[i] + 1; } cout<<n [0 ] <<end1; return 0; } 上述程序运行后,输出结果是( )。

A.0

B.1

C.2

D.3


正确答案:D
解析:本题考核数组的定义、初始化及其使用。根据程序逐步分析:程序首先给数组n的所有元素赋初值0,然后执行一个嵌套的循环结构。嵌套循环的执行过程如下:①i=0时,j分别取值0、1,使得n[0]、n[1]的值分别变1、2,内层循环结束。②i=1时,对外层循环进行判断,符合循环条件,执行内层循环,j分别取值0、1,使得n[0]、n[1]的值变为3、3,退出内层循环。③i=2时,判断外层循环,不再符合循环条件,退出外层循环,执行cout语句,输出n[0]的值为3。

更多相关问题