以下程序的输出结果是()。#include<iostream.h>void main(){int i,j,x=0;fof(i=0;i<2;i++={x++;fo

题目
以下程序的输出结果是()。includevoid main(){int i,j,x=0;fof(i=0;i<2;i++={x++;fo

以下程序的输出结果是( )。 #include<iostream.h> void main() {int i,j,x=0; fof(i=0;i<2;i++= {x++; for(j=0:j<3;j++= {if(j%2)continue; x++; x++;} cout<<"x="<<X;=

A.x=4

B.x=8

C.x=6

D.x=12

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

第1题:

以下程序运行后的输出结果是【】。 include void main() { char a[]="abcdabcabfgacd";

以下程序运行后的输出结果是【 】。

include<iostream.h>

void main()

{

char a[]="abcdabcabfgacd";

int i 1=0,i2=0,i=0;

while (a[i])

{

if (a[i]=='a')

il++;

if (a[i]=='b')

i2++;

i++;

}

cout<<il<<' '<<i2<<endl;

}


正确答案:43
43

第2题:

以下程序的输出结果是 include int f( ) { static int i=0; int s=1 s+ =i;

以下程序的输出结果是 #include<iostream.h> int f( ) { static int i=0; int s=1 s+ =i; i++; return s;} void main( ) { int i,a=0; for(i=0 ;i<5;i++)a+=f( ); cout < < a;}

A.20

B.24

C.25

D.15


正确答案:D
解析:对函数的静态局部变量是在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。注意:静态函数只能用静态变量。

第3题:

有以下程序

main()

{ int i,j,x=0;

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

{ x++;

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

{ if(j % 2) continue;

x++;

}

x++;

}

printf("x= % d\n",x);

}

程序执行后的输出结果是

A)x=4

B)x=8

C)x=6

D)x=12


正确答案:B
(32)B) 解析 : 此程序考察了 for 循环和 x++ 。 对于大循环 , 有两个 x++, 其中循环 3 次 , 对于小循环 , 循环三次 , 但是运行了两次 x++, 所以最后结果是 6+2=8 。

第4题:

有如下程序:includevoid main( ){char ch[2] [5] ={"6937","8254"},* p[2] ;int i,

有如下程序: #include<iostream.h> void main( ) { char ch[2] [5] ={"6937","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';j+=2) s=10 * s+p[i] [j] -'0'; cout < < s;} 该程序的输出结果是

A.69825

B.63825

C.6385

D.693825


正确答案:C
解析:该题主要搞清楚以下几点:①定义了一个指针数组char * P[2] 后,程序中第一个循环for(i=0;i2;i++) p[i] =ch[i] ;的作用是使指针数组的p[0] 元素(它本身是一个指针) 指向了二维数组ch的第一行字符串,并使指针数组的p[1] 元素指向了二维数组ch的第二行字符串,这样,就使指针数组p和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i] [j] 或p[i] [j] 。②对二维数组ch的初始化,使其第一行ch[0] 中存入了字符串“6937”,第二行ch[1] 中的内容为字符串“8254”。③程序中第二个循环中的循环体s=s * 10+p[i] [j] -'0';的功能是这样的,每执行一次,将s中的值乘以10(也即,将s中的数值整体向左移动一位,并在空出来的个位上添一个0) ,再将当前P[i] [j] 中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件 p[i] [j] >'\0'是指p[i] [j] 中的字符只要不是字符串结束标志'\0'就继续循环,语句j+=2;是使下标j每次增加2,也即一个隔一个地从p[i] 所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从 P[0] 所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1] 所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

第5题:

以下程序的输出结果是 include void main() { inta=0,i; for(i=1 ;i<5;i++) { swi

以下程序的输出结果是 #include <iostream.h> void main() { int a=0,i; for(i=1 ;i<5;i++) { switch(i) { case 0: case 3: a+=2; case 1: case 2: a+=3; default: a+=5; } } cout<<a<<end1; return; }

A.31

B.13

C.10

D.20


正确答案:A
解析:本题考核for语句和switch语句的综合运用。switch语句的执行过程是:在switch后面的表达式的值和case后面常量表达式的值吻合时,就执行后面的语句。如果在该语句的后面没有break语句,则继续执行下一个case,直到遇到break语句或switch多分支的结束。在switch语句中,break语句的作用是使流程跳出switch结构,终止switch语句的执行。因为每个case语句后面都没有break语句,所以,第1次循环(i=1)执行后,a的值为8。第2次循环(i=2)执行过后,a的值变为16。第3次循环(i=3)执行过后,a的值变为26。第4次循环执行过后,a的值变为31。然后执行i++,这的循环条件为假,结束循环。所以最后a的值为31。

第6题:

以下程序的输出结果是()。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,2

B.1,3

C.2,2

D.2,3


正确答案:A

第7题:

以下程序的输出结果是______。main(){ int i,j,x=0; for (i=0;i<2;i++) { x++; for(j=0;j<3;j++) { if(j%2) continue; x++; } x++; } printf("x=%d\n",x);}

A.x=4

B.x=8

C.x=6

D.x=12


正确答案:B

第8题:

有如下程序includevoid main(){char ch[2][5]=={"6937","8254"},*p[2];int i,j,s=0

有如下程序 #include<iostream.h> void main() {char ch[2][5]=={"6937","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,j+=2) s=10*s+p[i][j]-'0'; cout<<s;} 该程序的输出结果是( )。

A.69825

B.63825

C.6385

D.693825


正确答案:C
解析: 该题主要要搞清楚以下几点:①定义了一个指针数组char *p[2]后,程序中第一个循环{or(i=o;i2,i++)p[i]=ch[i];的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,井使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组p和二维数蛆ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式;ch[i][j]或P[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串"6937",第二

第9题:

以下程序的输出结果是【】。 include void main(){ int i,a[5]; i=0; while(i<5){ a[i]

以下程序的输出结果是【 】。

include<iostrean.h>

void main(){

int i,a[5];

i=0;

while(i<5){

a[i]=8*(i-2+4*(i>2))%5;

i++;

}

for(i=4;i>=0;i--) cout<<a[i];

}


正确答案:3 0 0 -3 -1
3 0 0 -3 -1

第10题:

以下程序的输出结果是includevoid main( ){int i,j,x=0;for(i=0;i<2;i++){x++;for(

以下程序的输出结果是 #include<iostream.h> void main( ) {int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<3;j++) { if(j%2)continue; x++;} x++;} cout<< "x="<<x;}

A.x=4

B.x=8

C.x=6

D.x=12


正确答案:B
解析:该题是一个for循环嵌套语句。第一层for循环循环2次,第二层循环3次,但当j等于 0和1时,将执行continue语句,不执行x++运算,所以每次执行完内循环后,x的增量为1。最后一个x++运算将每次累加起来就是x的值。

更多相关问题