#include<stdio.h>
int main()
{ int year,leap;
printf("输入年份:");
scanf("%d",&year);
if((year%4==0&&year%100!=0)||(year%400==0))
leap=1;
else
leap=0;
if(leap)
printf("%d是闰年\n",year);
else
printf("%d不是闰年\n",year);
return 0;
}
#include<stdio.h>
int main()
{
int n, a, b, c;
printf("请输入一个3位整数:");
scanf("%d", &n);
if (n < 100 || n>999)
printf("输入错误!\n");
else
{
a = n / 100;
b = n / 10 % 10;
c = n % 10;
if (a < b && b < c)
printf("%d是升序数\n", n);
else
printf("%d不是升序数\n", n);
}
return 0;
}
#include<stdio.h>
int main()
{
int year, leap;
printf("输入年份:");
scanf("%d", &year);
if (year % 4 == 0)
{
if (year % 100 == 0)
{
if (year % 400 == 0)
leap = 1;
else
leap = 0;
}
else
leap = 1;
}
else
leap = 0;
if (leap)
printf("%d是闰年\n", year);
printf("%d不是闰年\n", year);
return 0;
}
c语言中用于实现分支结构的控制语句主要有:if语句、switch语句。
本章介绍了关系运算符和关系表达式、逻辑表达式和逻辑表达式、条件运算符和条件表达式,然后讨论他们在分支结构程序设计中的使用方法。
y=f(x)的值。1/x,x不等于0;0,x等于0;
4.2:关系运算符、逻辑运算符、条件运算符
4.2.1:关系运算符和关系表达式
1.关系运算式
关系运算符用于判断两个操作数的大小关系。
运算符 含义
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
注意:(1)关系运算符都是双目运算符,其结合方向是左结合。
(2)关系运算符的优先等级低于算术运算符,但是高于赋值运算符。
(3)关系运算符中,>,<,>=,<=的优先级相同,==,!=,的优先级相同,前者的优先级高于后者,即“>=”的优先级高于“==”。
2.关系表达式
用关系运算符将两个表达式连接起来的式子称为关系表达式。关系表达式的一般形式为:
表达式1 关系运算符 表达式2
4.2.2逻辑运算符和逻辑表达式
1.逻辑运算符
2.逻辑表达式
用逻辑运算符将两个表达式连接起来的式子称为逻辑表达式。
表达式1 逻辑运算符 表达式2
或 逻辑运算符 表达式1
x y !x x&&y x||y
0 0 1 0 0
0 非0 1 0 1
非0 0 0 0 1
非0 非0 0 1 1
关于逻辑表达式的说明:
1.参与逻辑运算的数据可以是1和0,也可以是非零值和0,还可以是任何类型的数据,但最终都是以非0和0来判断他们是“真”和“假”。
2.在逻辑表达式中也可以使用赋值运算符,如“a&&(b=0)”,但是不能写成“a&&b=0”的形式。因为逻辑运算符的优先级高于赋值运算符,表达式“a&&b=0”相当于“(a&&b)=0”,赋值运算符左边不是变量,会出现编译错误。
3.c语言规定,只对决定整个表达式值所需的最少数目的子表达式进行运算。即在由若干个子表达式组成的逻辑表达式中,从左向右计算,当计算出一个子表达式的值就确定了整个逻辑表达式的值时,此后就不再进行计算;只有当“&&”左边的表达式值为真时才计算右边表达式的值。
运算符 ! 算术运算符 关系运算符 &&和|| 赋值运算符
结合性 右结合 左结合 左结合 左结合 右结合
优先级 高------- ------------ ------------ ------ ------->低
4.2.3 条件运算符和条件表达式
1.条件运算符:条件运算符由“?”和“:”两个符号组成,用于条件求值,它是一个三目运算符,需要三个操作数。
2.条件表达式:由条件运算符将3个表达式连接起来的式子称为条件表达式。
表达式1?表达式2:表达式3
4.3 使用if-else实现分支结构
4.3.1 if- else语句
1.双分支if语句
if(表达式)
语句1;
else
语句2 ;
2.单分支if语句
if(表达式)
语句:
4.4:使用switch语句实现分支结构
s