28执行下面的程序后,a的值为__B___ main() { int a,b; for (a=1,b=1;a<100;a++) { if (b>=20) break; if

作者&投稿:茆盾 (若有异议请与网页底部的电邮联系)
执行下面的程序后,a的值为_______ main() { int a,b; for (a=1,b=1;a<=100;a++) { if(b>=20)~

不好意思 结果是8 刚忘加a本身这个1了。


所以,答案是C

首先b=1,a=1时,b%3==1为真,执行b+=3;则b=4。又continue 跳过b-=5;开始下一次循环,执行a++;则a变为2。
当b为4时,b%3==1为真,执行b+=3;则b=7。a变为3;
。。。。。。。。。。。。
可知b分别为10、13、16、19时,a分别为4、5、6、7、8
下次循环时,b为22,执行break;跳出循环,所以a为8

第一次:执行if之前:a=1,b=1;执行b+=3=1+3=4;continue(作用是:跳过“b-=5; ”等之后的语句,继续循环);
第二次:执行if之前:a=2,b=4(b在上一次被赋值);继续执行“if (b%3==1) ”(因为4%3=1);b=7;continue;
第三次:......(同上,依然是b%3==1)。
第四次:......(同上)。
。。。。。。
第七次:b=19 ; 执行“if ”后:b=22。
第八次:b=22;b>=20;执行break(作用是:结束整个循环)。
所以:a=8。整个过程由于b%3始终为1,故b-=5始终没有执行。

因为每次循环,都是只执行if (b%3==1)这段语句,然后7次循环以后b=22,这时b>=20,break掉了,a=8


执行以下程序段后a 的值是___ int a, b; for (b=1,a=1; b<=50; b+...
这个题分析如下 b的变化从 1 2 3 4 5 6 a 的变化从 1 6 3 8 5 10 所以 a就是10 了

有如下的程序代码,在执行完后x和y的值是多少() int x=8,y=2,z; x=...
答案是D 这两句计算可以分开,等价于下面4句(后面的注释就是计算结果)x=x+1; \/\/ x=8+1=9 x=x*y; \/\/ x=9*2=18 z=x\/y; \/\/ z=18\/2=9 y=y+1; \/\/ y=2+1=3 最后显然x=18;y=3;z=9,所以选D

汇编,下面的程序执行后,ax中的数值为多少。
压入ip(第一条inc ax的指令的地址,16位偏移地址)后,(sp)-2 = 0eh,而此时要转去以ds:[0eh]单元内容为地址的地方执行,这个地址恰恰是第一条inc ax的指令的地址((ds)=(ss),(sp)=0eh),所以当call word ptr ds:[0eh] 指令执行后cpu 将继续向下执行call word ptr ds:[0eh]的下...

执行下面程序段后,s的值是().int s=5;switch(++s){case 6:case 7...
s的值是8.++s使得s自增成6,case6后无break;符号所以会继续执行命令,s+=2,所以s变成8

C语言,阅读下列程序,则在执行后,程序的运行结果为 ?
strcpy 这个函数是把后面那个字符串拷贝到前面那个字符串里面。a是字符串"nice to meet you!"的首地址,strlen(a)是计算字符串a的长度结果为17。那么a+strlen(a)\/2就是a + 17 \/ 2就是a + 8,意思是从a后面第8个位置开始接受拷贝。strcpy(a+8,"you"); 就相当于把 "you" 接到a后面...

执行以下程序后的输出结果是( ) #include <stdio.h> void main(void...
2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。例如:1080其零的个数是2,各位数字中最大者是8。include <stdio.h> void main(void){ unsigned long num, max, t;int count;count=max=0;scanf("%ld", &num);do { t=num%10; \/\/这句 if...

执行下面程序后答案为什么是14int x=5; int y=2+(x+=x++,x+8,++x...
这个题目与逗号表达式以及++运算有关系。 首先x+=x++,x+8,++x这个表达式可以变成x+=x++,++x 然后从右往左来:++x得到x=6; 继续x+=x++ 得到x+=6从而x=12 从而x+=x++,x+8,++x表达式的值为12 y=2+(x+=x++,x+8,++x)=14; 所以输出结果是14 ...

已知(A)=8AH,(R0)=25H,(25H)=67H.执行完下列程序段后A、R0、25H的单元...
已知:A=8AH,(R0)=25H, (25H)=67H ORL A, #0FH ;A=8FH ANL A, @R0 ;A=07H XRL 25H, A ;(25H)=60H CPL A ;A=F8H SWAP A ;A=8FH 执行程序后:A=8FH,(R0)=25H, (25H)=60H

C语言,执行以下程序段后,s的值为【 】。 static int a[ ] = {5,3...
你好:答案选A 17。因为在for循环中,k为0、2、4、6、8,而*(a+k)是在数组a内按地址取第k个元素,和变量s进行累加,k=0、2、4、6时,a相应的数组值为5、7、1、4,而在k=8时,超出了数组的边界,所以为0.所以s相加起来为17.希望我的回答能帮助到你、...

有以下程序,执行后输出结果是__
输出:817 int func(int a,int b){ static int m=0,i=2; \/\/静态变量,只初始化一次,第二次调用为上一次的结果值 i+=m+1; \/\/第一次 i=2+0+1=3 第二次 i=3+8+1=12 m=i+a+b; \/\/ m=3+4+1=8 m=12+4+1=17 return(m); \/\/ 返回8 返回17 } i...

东阿县13377802193: 执行下列程序段后,a的值为() -
大哪妈富: a=2,b=0a++是后++,所以返回1 ++b为先加,所以返回1,所以大于条件不成立,执行的是b--,由于b--是后减,所以if条件为0,不成立,所以没有执行a+=b所以最终结果是a=2(后加起作用了),b=0(++b 然后又执行了b--,所以还是0)可以用c编译器验证一下.

东阿县13377802193: 执行下面程序段后,变量a的值为 - -----. -
大哪妈富: a=3

东阿县13377802193: c语言习题求解 执行以下程序后,a的值为 ,b的值为 . -
大哪妈富: a = 0; b = 7; 解析:a = p1 == &m; 根据运算符优先级,先运算 p1 == &m,条件为假,返回值为0,a为int型,转换为int即a = 0; b= (*p1)/(*p2) + 7; 直接按指针目标,就是k/m +7结果是7.66……,b为int类型,转换时舍去小数,结果为7

东阿县13377802193: 执行以下程序段后,a的值是 -
大哪妈富: int a []={5,3,7,2,1,5,4,10}; int a =0,k; for(k=0;k<8;k+=2) a+=*(a+k); 改为: int b[]={5,3,7,2,1,5,4,10}; int a=0,k; for(k=0;k<8;k+=2) a+=*(b+k); 数组名跟变量名不要同名,得到的结果是:a=0+5+7+1+4=17.(注意c语言中对于数组元素的引用其实是转换为指针的,故b[4]即相当于*(b+4)了).

东阿县13377802193: 执行以下程序段后a 的值是 - ----------- - int a, b; for (b=1,a=1; b<=50; b++) { if (a>=10) break; -
大哪妈富: 这个题分析如下 b的变化从 1 2 3 4 5 6 a 的变化从 1 6 3 8 5 10 所以 a就是10 了

东阿县13377802193: 执行下面的程序后,a的值是 -
大哪妈富: 被骗了吧,这题很有陷阱的,答案是 B.严格地说,这是一个不规范的程序,因为:#define SQR(X) X*X 并不像我们想像的那样,因为它如果展到程序中:a /= SQR(k + m) / SQR(k + m); 其实是:a /= k + m * k + m / k + m * k + m; 注意到没有?并不是我们希望的结果,因为在 #define 中,我们没有给 X*X 加上括号!所以实际的情况,这就成了:a /= 2 + 1 * 2 + 1 / 2 + 1 * 2 + 1; 即 a /= 7; 显然结果 a 就是 1

东阿县13377802193: 执行下列程序语段后,a的值是?int a,b,c,m=1,n=0; a=( -- m==++n)?---m:++n;
大哪妈富: m前那个'—'是什么?如果是--,那就是-1.如果什么都不是,那就是0

东阿县13377802193: 下面的程序执行后,a的值为多少? -
大哪妈富: 第一次循环:a=1,b=1,进入if(b%3==1)后,b+=3,这时b=4,continue后不执行b-=5,直接循环下一次,a++,a=2. 第二次循环,又进入if(b%3==1),后,b=7,再直接循环下一次,a++,a=3. 第三次循环,又进入if(b%3==1),后,b=10,,再直...

东阿县13377802193: 执行下面的程序后,a的值是 #define SQR(X) X*X main() {int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m);
大哪妈富: 答案为1 经过上机得出a=a/(K+m*k+m/k+m*k+m) //直接替换即可即是a=a/7=10/7=1希望能帮到你

东阿县13377802193: C语言程序设计题: 执行下列程序段后,a值为() a=1;b=0; if((a++>++b)?a -
大哪妈富: ++在后变量先参与运算,运算后加1,++在前先自增1,再参与运算.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网