1.
使用while实现处理一列以一个负值作为结束标志的值
while(scanf("%f",&value)==1){
if(value<0)
break;
/*process the nonnegative values*/
}
while循环的测试在循环体开始执行之前进行
当你需要循环体至少执行一次时,选择do
2.
switch的执行流将贯穿每一个case标签,而不会像想象中的停下来退出。可以说,case标签是switch里面的语句列表的进入点而不是划分的原因。因此,想要达到划分的效果,必须用到break。如果switch语句的执行过程中遇到了break语句,执行流就会立即跳到语句列表的末尾。
switch(command){
case 'A':
add_entry();
break;
case 'D':
delete_entry();
break;
case 'P':
print_entry();
break;
case 'E':
edit_entry();
break;
}
当然,如果想要多个case标签执行相同的语句列表,可以这样
switch(expression){
case 1:
case 2:
case 3:
statement-list
break;/*1、2、3都将执行相同的语句列表*/
case 4:
case 5:
statement-list
break;
}
如果表达式expression的值和所有case标签都不匹配,最好在switch语句里加上default语句。这是一个好习惯,能够提示错误的出现。
default: