今天,我们的练习主要是针对判断和循环来讲的。

判断:主要包括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);