今天,我们的练习主要是针对判断和循环来讲的。
判断:主要包括if, if...else,witch...case语句!
循环结构的类型:主要包括While,do...while,for,foreach循环语句!
判断:
If语句:
If(表达式){//表达式为真时执行语句
语句;
}
If...else语句:
If(表达式){//表达式为真时执行语句
语句;
}else{
语句;
}
if(表达式){//表达式为真时执行语句
语句;
}else if(表达式){ //表达式为真时执行语句
语句;
} else if(表达式){ //表达式为真时执行语句
语句;
}
else{
语句;
}
If嵌套:
If(表达式){//表达式为真时执行语句
表达式){//表达式为真时执行语句
语句;
}else{
语句;
}
}else{
If(表达式){//表达式为真时执行语句
语句;
}else{
语句;
}
}
Switch…case语句:
Switch(表达式){//整形、字符、字符串
Case 值1:
语句;
Break;
Case 值2:
语句;
Break;
Case 值3:
语句;
Break;
………
Default:
语句;
Break;
}
循环:While,do...while,for
While(表达式){ //表达式为真时执行语句
语句;
}
break 语句可用于退出循环
continue 语句可用于跳过当前循环并开始下一循环
Do{
语句;
}while(表达式); //表达式为真时继续循环
区别:形式上do…while比while多执行一次,但是运行结果是一样的
For(初始值;终止值;增/减量){//条件满足时执行语句
语句;
}
嵌套:
For(初始值;终止值;增/减量){//条件满足时执行语句
For(初始值;终止值;增/减量){//条件满足时执行语句
语句;
}
}
下面是几个例题:
1、三个整数6,5,9,请把这三个数由大到小输出。
int a = 9, b = 5, c = 6, t;
if (a < b) {
t=a;
a=b;
b=t;
}
if (a < c) {
t=a;
a=c;
c=t;
}
if (b < c) {
t=b;
b=c;
c=t;
}
print (a + " " + b + " " + c);
2、输入某年某月某日,判断这一天是这一年的第几天?
int year = 2000, month = 1, day = 5, sum = 0;
switch(month){
case 1:
sum=0;
break;
case 2:
sum=31;
break;
case 3:
sum=59;
break;
case 4:
sum=90;
break;
case 5:
sum=120;
break;
case 6:
sum=151;
break;
case 7:
sum=181;
break;
case 8:
sum=212;
break;
case 9:
sum=243;
break;
case 10:
sum=273;
break;
case 11:
sum=303;
break;
case 12:
sum=334;
break;
}
sum = sum + day;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
if(month>2){
sum++;
}
}
print (sum);
3、定义一个三位数,计算其各位数字之和。
int a, b, c, sum;
for (int i=100; i<=999; i++) {
a=(i%100);
b=(i/10%10);
c=(i%10);
sum=a+b+c;
print(sum);
}
4、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
float s = 100, h = 100;
for (int i=1; i<=9; i++) {
s=s+h;
h=h/2;
}
print (s + " " + h / 2);