流程控制分为:顺序结构,分支结构和循环结构,(if语句,if else语句,if else if语句,switch语句)
关系运算有:
<小于,
> 大于,
>=大于等于,
<=小于等于,
==等于,
!=不等于;
这些运算用真假来判断,成立则代表真,不成立则为假;关系运算的结果 只有0和1,用int型来储存。
逻辑运算有:
&& ‘与‘运算:一假则假;(运算时高于或运算,低于非运算)
|| ’或‘运算:一真则真;
! ’非‘运算:真假相对。(运算时优先级高)
逻辑运算 实际是 表示 表达式之间的关系
if 语句 :
//形式1
if (表达式)
{
语句
} //复合语句
...
语义:如果表达式为真则执行if下的语句 ,语句执行完后,继续执行if后的代码如果表达式为假则跳过 if 下的 语句,执行if语句后面的代码
注意:if 后面 没有 分号
//形式2 --双分支
if ( 表达式)
{
语句1
}
else
{
语句2
}
语义:
判断 表达式?
真
执行语句1
假
执行语句2
执行完后,继续if后面的代码执行
下列有几个例子:
1.两个数字中找出最大值。
2.找出三个数中的最大值 。
3.从键盘输入一个年份,判断是否闰年?
(闰年能被4整除 但是 不能被100整除 是普通闰年 世纪闰年 能被400整除 )
//形式3
if( 表达式1)
语句1
else if( 表达式2)
语句2
else if( 表达式3)
语句3
else if( 表达式m)
语句m
else
语句n
语义:
判断 表达式1
真
执行 语句1
语句1 执行完成就表示if执行完了,程序继续往后
假
判断表达式2
真
执行 语句2
语句2 执行完成就表示if执行完了,程序继续往后
假
判断表达式3
真
执行 语句3
语句3 执行完成就表示if执行完了,程序继续往后
假
....
注意:
每个判断的if后面不要写分号
例;从键盘上输入一个学生分数打印出对应等级分数
A - 90 ~ 100
B - 80 ~ 89
C - 70 ~ 79
D - 60 ~ 69
E - <60
在对齐时可以用到快捷键:
单独一行 :==
多行: shift + v选中多行 按一下 =
全局对齐:gg=G (shift+g)
注意:if没有单独的else语句,所以else出现必然有其对应if与之配对
if - else 配对关系 ,可以先从最里面的else寻找 ;找距离else最近的if (在else之前)
switch 语句
语法格式:
switch (整型表达式)
{
case 常量表达式1:
语句1
break;
case 常量表达式2:
语句2
break;
case 常量表达式D:
语句n
break;
default :
语句n+l
break;
}
语义:
首先,求解"表达式"根据表达式的结果 ,到下面case后依次进行匹配,如果与case 后的常量表达式的值一致,则匹配成功,执行该case下面的"语句"直到遇到了 break或 switch 的右花括号 }
注意:
1.switch后 "表达式" ---结果不能是 浮点型
2.case 后面 是常量表达式,不能出现变量
3.default 写错 没有语法问题,但是达不到程序效果
1.输入某个月份,打印月份对应的天数
月份
大月 31天 1 3 5 7 8 10 12
小月 30天 4 6 9 11
二月 28天 or 29天
2.编写程序计算:
1+2+...+i i<=5 //1<=i<=5
result= 100-i-(i-1)-...-1 5<i<=10 //100-(i+(i-1)+...+1)
i^2 i>10
3.输入一个三位数,判断该数是否为水仙花数?
(水仙花数:指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。)
123