2015年计算机二级C语言测试题及答案解析(2)(二)

2015-07-16 10:59:42 · 作者: · 浏览: 228
键盘输入23,则运行结果为:32


  详见教材p117循环结构;p60复合的赋值运算符


  do{ }while(表达式);


  先无条件执行循环体,再判断循环条件。注意while(表达式)后有分号


  定义整型变量num,c;


  为num赋一个整型值;


  执行{c=num%10;printf("%d",c);}直到循环条件(num/=10)>0不成立;


  输出换行


  已知为num赋值23


  第1次执行循环体


  执行c=num%10=23%10=3;


  执行printf("%d",c);输出3


  判断循环条件 num/=10等价于num=num/10; 因此num=23/10=2, 2大于0,因此循环条件(num/=10)>0成立,继续执行循环体。执行完第1次循环时,num为2,c为3


  第2次执行循环体


  执行c=2%10=2;


  执行printf("%d",c);再输出2


  判断循环条件num=2/10=0,0等于0,因此循环条件(num/=10)>0不成立。结束循环


  10


  #include


  main()


  { int s=0,a=5,n;


  scanf("%d",&n);


  do { s+=1;a=a-2; }while(a!=n);


  printf("%d,%d\n",s,a);


  }


  若输入的值1,运行结果为: 2,1


  详见教材p117循环结构;p60复合的赋值运算符


  执行{ s+=1;a=a-2; }直到循环条件a!=n不成立;


  已知为n赋值1,s为0,a为5


  第1次执行循环体


  执行s+=1;等价于s=s+1=0+1


  执行a=a-2; a=5-2=3


  判断循环条件,3不等于1,因此循环条件a!=n成立,继续执行循环体。


  执行完第1次循环时,s为1,a为3


  第2次执行循环体


  执行s+=1;等价于s=s+1=1+1=2


  执行a=a-2; a=3-2=1


  判断循环条件,1等于1,因此循环条件a!=n不成立,结束循环。


  执行完第2次循环时,s为2,a为1


  输出此时s,a中的值,结果为2,1