设j和k都是int类型,则for循环语句() for(j=0,k

题目

设j和k都是int类型,则for循环语句() for(j=0,k=0;j<=9&&k!=876;j++)( j<=9,k!=876) scanf("%d",&k)循环;

  • A、最多执行10次
  • B、最多执行9次
  • C、是无限循环
  • D、循环体一次也不执行
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设int i=2,j=1,k=3,则表达式i&&(i+j)&k | i+j的值是( )。A.0 B.2 C.1 D.3


正确答案:C
i+j=3,运算符的优先级为数学运算符,位运算符,逻辑运算符,因此,首先计算最右边的i+j=3,然后计算(i+j)&k|3=9, 最后计算i&&9=1

第2题:

以下程序段是函数返回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。

第3题:

设i和k都是int类型,则有关for循环语句for(i=0,k=-1;k=1;i++,k++)printf(“****\n“);的说明正确的是()

A、循环结束的条件不合法

B、循环体一次也不执行

C、循环体只执行一次

D、是无限循环


参考答案:D

第4题:

请读程序: include void fun(int * s) { static int j=0; do s[j]+=s[j+1]

请读程序: # include<stdio.h> void fun(int * s) { static int j=0; do s[j]+=s[j+1] while( + + j<2); } main( ) { int k,a[10]={l,2,3,4,5}; for(k=l;k<3;k+ +)fun(a); for(k=0;k<5;k++)prinf("%d",a[k]); } 上面程序的输出结果是 ( )

A.34756

B.23445

C.35745

D.12345


正确答案:C

第5题:

下面程序段的执行结果为( )。 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=12

B.i=0 j=5 k=5

C.i=0 j=4 k=4

D.i=0 j=3 k=3


正确答案:C
解析:程序开始时(i,j,k)三个值分别为(3,0,0),然后进入for循环,由于for的第一条语句空缺,所以不做初始化,此时i为3满足循环条件,进入循环体。然后执行“++k;”使k变成1,再无条件进入do-while循环体执行“++j;”使j变成1,此时i和j不相等所以执行break;语句跳出do-while循环。准备开始第二遍for循环,i的值被减1,此时3个值分别为(2,1,1),i为2满足循环条件,进入循环体。然后依次执行++k;和++j;使它们增1,此时i和j同为2相等,所以跳过break;语句再执行一次++k;使k为3,由于此时j满足do-while的循环条件,所以下一步回到前面执行do后面的++j;语句,使j为3,此时i和j不相等,所以执行break;跳出do-while循环。准备开始第三遍for循环,i的值被减1,此时3个值分别为(1,3,3),i为1满足循环条件,进入循环体。然后依次执行++k;和++j;使它们增1,此时i和j不相等,所以执行break;跳出do-while循环。准备开始第四遍for循环,i的值被减1,此时3个值分别为(0,4,4),i为0不满足for语句的循环条件,所以执行循环体后面的printf()函数输出3个值,故正确答案为C。

第6题:

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


正确答案:
10

第7题:

若类A和类B的定义如下

class A

{

int i,j;

public:

int geti( )

{

return i;

}

};

class B:public A

{

int k:

public:

void make( )

{

k=i*j;

}

};

则上述定义中非法的语句是

A.k=i*j

B.int k;

C.return i;

D.void make()


正确答案:A
解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

第8题:

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

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


正确答案:
10

第9题:

若类A和类B的定义如下: class A { int i,j; public: int geti () { return i; } }; class B : public A { int k; public: void make () { k=i*j; } }; 则上述定义中非法的语句是

A.k=i*j;

B.int k;

C.return i;

D.void make()


正确答案:A
解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

第10题:

有以下程序includemain(){int*p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p)

有以下程序 #include<stdio.h> main() { int *p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p);p++;} } int*fun() { int a[4],k; for(k=0;k<4;k++)a[k]=k; return(A) ; } 程序运行后的输出结果是( )

A.程序有错不能运行

B.输出4个NULL

C.输出0 1 2 3

D.输出1 1 1 1


正确答案:A

更多相关问题