下列语句序列执行后,k的值是()int j=8,k=15;for(int i=2;i!=j;i++){j-=2;k++;}A.18B.15C.16D.17

题目

下列语句序列执行后,k的值是 ( ) int j=8,k=15; for(int i=2;i!=j;i++) {j-=2;k++;}

A.18

B.15

C.16

D.17

参考答案和解析
正确答案:D
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

现有如下程序段

#include "stdio.h"

#include "string.h"

main()

{ char a[]="acfijk"; /*这里是有序的字符序列*/

char b[]="befijklqswz"; /*这里是有序的字符序列*/

char c[80],*p;

int i=0,j=0,k=0;

while(a[i]!=′\0′&&b[j]!= ′\0′)

{ if(a[i]<b[j])c[k++]=a[i++];

else if(a[i]>b[j])c[k++]=b[j++];

else { c[k++]=b[j++];

i++;}}

while(a[i]==′\0′&&b[j]!= ′\0′)

c[k++]=b[j++];

while(a[i]!=′\0′&&b[j]== ′\0′)

c[k++]=a[i++];

c[k]=′\0′;

puts(c);}

则输出结果是

A.acfijkbefijklqswz

B.abceffiijjkklqswz

C.befijklqswz acfijk

D.abcefijklqswz


正确答案:D
解析:这个题目的功能是实现两个有序字符串,合并成一个新的有序的字符串。

第2题:

( 7 )执行下列语句后,变量 sum 的值是 ___________ 。

int sum=0;

for(int i=1;i<=3;i++)

for(int j=1;j<=i;j++)

sum++;


正确答案:

第3题:

有以下程序

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

第4题:

以下程序段是函数返回a所指数组中最大的值所在的下标值,横线处的语句为( )。 fun(int*a, int n) { int i,j=0,k; k=j; for(i=j;i<n;i++) if[a[i]>a[k])______; return(k); }

A.k=i

B.k=j

C.i=j

D.i=n


正确答案:A
解析:函数fun中首先定义整型变量k用来存放返回最大值的下标,并将其首先指向第一个元素,即k=j。然后在for循环中依次将当前元素a[i]与标识为最大值的元素进行比较,如果当前元素大于这个标识元素,那么将最大值标识为当前元素,即k=i。

第5题:

下面程序的输出结果是( )。 public class Sun { public static void main(String args[ ]) { int x=0; for(int i=1;i<=4;i++) { x=4; for(int j=1;j<=3;j++) { x=3; for(int k=1;k<=2;k++) { x-x+6; } } } System.out.println(x); } }

A.7

B.15

C.157

D.538


正确答案:B
解析:本题考查对for循环嵌套的理解。此题中应用3重for嵌套循环,要注意每次执行完变量k的最内层循环后,得到的x值为15,无论x赋值为3或4,执行到最内层循环都被新值覆盖。因而,j分别等于1,2, 3执行结束时,x的返回值是15;i分别等于 1,2,3,4执行结束时,x返回值依然是15。故本题答案是B。

第6题:

执行下列语句后,变量n的值是______。

int n=0;

for(int i=1;i<=3;i++)

for(int j=1;j<<=i;j++)

n++;


正确答案:6
6 解析:当i=1时,内循环中的i的值为1,n目加一次,n=1;当i=2时,内循环中的j的值为i和2,n自加两次,n=3,当i=3时,内循环中的i的值为1、2、3,n自加三次,n=6。

第7题:

阅读下面的程序段: publiC class Sun { public static void main (String args[ ]) { int a=0; for(int i=1;i<=3;i++) { for(int j=1;j<=i;j++) { for(int k=j;k<=3;k++) { a=a+1; } } } System.out.println(A) ; } } 执行上面的3重循环后,a的值为( )。

A.3

B.9

C.14

D.21


正确答案:C
解析:本题考查对for循环嵌套的理解。本题应用3重嵌套循环,循环嵌套的执行,当外层循环执行1次,内层循环就要执行所有循环。i=1时,j=1,k执行3次循环得到a的值3;i=2,j=1时,k执行3次循环得到a的值加3并覆盖原值,j=2时,k执行两次循环,a的值加2;依次,i=3时,j执行3次。其中,分别执行3、2、1次,a的值分别加3、2、1,最后得到a的值14。故本题答案是C。

第8题:

设i,j,k均为int型变量,则执行完下面的for语句后,k的值为【14】 。

for(i=0, j=10; i<=j; i++, j--)k=i+j;


正确答案:
10

第9题:

设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j-- k=i+j;语句后,k的值为【8】 。


正确答案:
10

第10题:

有以下程序 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,则就不继续执行其右边的操作数。

更多相关问题