c语言问题,k=1,(k++)+(++k)+(++k)为什么等于7

作者&投稿:充媛 (若有异议请与网页底部的电邮联系)
c语言题:int k,s=0;for(k=1;k<=10;++k);s=s+k;为什么程序段执行后s~

int k, s=0;for(k=1; k<=10; ++k) ; // for 的循环是中其实什么都没做,只是k加到了11. 因为k = 10 时还是满足条件的, 到k=11才会跳出循环s=s+k; // s = s + k = 0 + 11 = 11

for(k=3;++k<5;k++) ++k;程序执行顺序是:
k=3;
++k<5; //先++k,k的值为4,4<5,为真,进入循环
++k; //k的值为5,再去执行for条件的第三条语句
k++; //k = 6;查看是否满足再次进入循环
++k<5; //先++k,k=7,k<5,为假。跳出for循环

最后k = 7

k=1;( k++)=1,后置++表达式为旧值,此时k=2; (++k)=3,前置++表达式为新值,此时k=3; (++k)=3;(++k)这个表达式已经有值,编译器就不会执行后面的++操作了,(K++)+(++k)+(++k)=1+3+3=7;

(1)+(3)+(4)=8

k++是什么东东?


有定义:intk=1,m=2;floatf=7;则以下选项中错误的表达式是 A、k=k...
这是C++语言 int k=1,m=2;float f=7\/\/定义整数型数据k=1,m=2,浮点型数据f=7 A、k=k>=k\/\/判断k是否大于等于k,是将1赋给k,否将0赋给k B、-k++ \/\/将k加1后赋值给k,但此处“-”无意义 C、k%int(f)\/\/k除以f的整数部分后取余数,但它没有赋值,所以“%”无意义 D、k...

c语言的一个问题
运行过程是这样的:for (i=1;i<=5;i++){b=i%2;while (b-->=0) k++;} 当i=1时,b=i%2=1:while (b-->=0)先把b=1和0进行比较.然后运算b--得b=0;(这里的b--无论真假都在比较后运算)第一次循环条件表达试完成.再计算循环体k++; 得k=1;第一次循环后得b=0;k=1;while ...

c语言问题 if(!k1)是什么意思?
其实就是k1=1(真),之后执行if内的程序。2、while(!k1);中的“!”确实是里边取反,假设你的按键还没有放开,即k1==0(假),取反就 是真了,一直执行此条语句(死循环);假设放开按键...

我编程哪里错了(c语言)?一位数和两位数可以,一旦输入三位数以上就无法输...
你的程序算法没错,只是计算输入值的位数时有两处问题。改正的程序如下(改动的地方见注释)include <stdio.h> include <stdlib.h> int main(){ int a,b,c,d,i=1,u,s=0,k=1,j,p;scanf("%d%d",&a,&b);u=a;\/\/这里加一句,为u赋值a while(u>=10){ u=u\/10;\/\/这里把u=a\/10改...

C语言。unsigned fun6(unsigned num) { unsigned k=1; d
n=26入函数;进入循环:k==1,num==26 -> k*=(26%10) => k*=6 => k=1*6=6 , num\/=10 => num=26\/10=2;k==6,num==2 --> k*=(2%10) => k*=2 => k=k*2=12,num\/=10 => num=2\/10=0;num==0 循环结束。return k=> return 12;...

用c语言或c++:输入X值, 其中 |X|<1,按下列公式计算 S=X+ X 2 \/2+...
include <stdio.h>#include <math.h>int main(){double i,x,k=1,s=0;scanf("%lf",&x);for(i=1;abs(k)\/i>=1e-5;i++){k*=x;s+=k\/i;}printf("%.6f",s);return 0;}运行示例:

C语言编写程序5!+4!+3!+2!+1!改错求解
整个程序只有两个错误!第一个就是一楼说的应该是i<=5,因为你上面给出的是5!+4!+3!+2!+1!。第二个就是:见下面:include<stdio.h> void main(){ int i,j,k=1,t=0;for (i=1;i<=5;i++){ k=1;\/\/这里你忘记重新将k初始化为1了。for(j=1;j<=i;j++){ k=k*j;} t=...

C语言中多个for执行的顺序是什么
假如是 for(i=1;i<=3;i++)for(j=1;j<=2;j++)for(k=1;k<=2;k++)我就这样简写了啊,他是这样执行的:先是i=1,j=1,k=1,循环完一次之后,k加1,然后是1,1,2(按照i,j,k的顺序)。循环完之后,k接着加1,是1,1,3,不满足,第三个for循环结束,向上走,J加1,,循...

C语言程序问题用VC在程序结束后 输出结果是 1 2. 这句while(k++&&n++...
0为假) while(k++&&n++>2) 中k++和n++>2都为真时才会执行循环 当程序执行到这里 先取k的值看是否为0 然后k自加1 程序中k的值为0 那么整个表达式k++&&n++>2就为假 就不会再去判断n++>2表达示的真假了, 结束循环。 所以n++没有得到执行 此时k=1 ,n=2 输出结果1 2 ...

c语言计算(100∑k=1 1\/k)+(50∑k=1 1\/k^2)的值
include <stdio.h>void main(){double k,s=0;for(k=1;k<=100;k++)s+=1\/k;for(k=1;k<=50;k++)s+=1\/(k*k);printf("%f",s);}

汉阳区18423502247: 一个c语言问题,给出答案并解释 有以下程序段: int k=0 while(k=1) k++; 则while循环执行的次数是【 】. -
裴法安必:[选项] A. 无限次 B. 有语法错,不能执行 C. 一次也不执行 D. 执行1次

汉阳区18423502247: c语言问题,k=1,(k++)+(++k)+(++k)为什么等于7 -
裴法安必: k=1;( k++)=1,后置++表达式为旧值,此时k=2; (++k)=3,前置++表达式为新值,此时k=3; (++k)=3;(++k)这个表达式已经有值,编译器就不会执行后面的++操作了,(K++)+(++k)+(++k)=1+3+3=7;

汉阳区18423502247: C语言中:int k=0;while (k=1)k++;while循环的次数是什么?为什么 -
裴法安必: int k=0; while(k=1) k++; (k=1)是用来判断的条件它的返回值只有真和假,而k=1赋值语句的所回值为真,所以while循环条件一直为真,是个死循环,次数无限!

汉阳区18423502247: 为什么c语言程序 int k=0;while(k=1) k++; 为什么k=1总为真 -
裴法安必: 因为在C语言中,=是赋值语句,==才是等号,而赋值语句的结果是赋值号右边的值,即语句x=1的值是1,是真.

汉阳区18423502247: int k=0;while(k=1)k++中while(k=1) 是先判断k是否等于0,还是先赋值K=1? -
裴法安必: int k=0;while(k=1)k++;中,先赋值,在判断赋值表达式的值是否是0(注意不是判断k是否为0).这个循环是个死循环.

汉阳区18423502247: c语言 for(i=0,k= - 1;k=1;k++) printf('' *****\n"); 下列正确的是? -
裴法安必:[选项] A. 循环体执行两次 B. 循环体执行一次 C. 循环体执行0次 D. 构成无限循环 选哪个?为什么?

汉阳区18423502247: 问个c语言中for循环的问题 -
裴法安必: for(i=0,k=-1;k=1;i++,k++) 首先在for语句在有三条语句,第一句(对变量的初始化):i=0,k=-1; 第二句(循环语句终止的条件):k=1;第三句(步长,即每执行一次循环后 就量的增加量):i++,k++; 在for循环中只有当第二句为假时程序才会...

汉阳区18423502247: c语言程序,求(100∑k=1 k)+(50∑k=1 k^2)+(10∑k=1 1/k) 这 -
裴法安必: 主函数main没有定义,在c语言中 两个整数相除返回整数 1/1 结果为 1 ,1/2,1/3结果为0,所以 s=s+1/k要改为s=s+1.0/k ,最终的结果有小数 s不能定义为int整数,要定义s为float或double类型 printf("the Sum is %d",s);中%d是输出整数的要改...

汉阳区18423502247: c语言中k++,k++是什么意思 -
裴法安必: c语言中k+=n+1的意思是k=k+(n+1),即将n+1的计算结果加上k之后重新赋值给k,该形式是k=k+(n+1)的简写形式.这种形式还有很多种运算类型,如-=、*=、/=、%=等,其展开规则与+=类似,如k-=n+1的展开后即为k=k-(n+1),其他类似. 这里需要注意的是,右侧的计算结果参与运算,如k-=n+1,不能看作是k=k-n+1,需要将右侧的表达式加括号,即k=k-(n+1).

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