#include <stdio.h>
#include <math.h>
int main()
{
float num;
printf("请输入该生当月的消费额: ");
scanf("%f",&num);
if (num>=0)
{
if (num==0)
{
printf("零消费。 ");
}
else
{
if (num>1000)
{
printf("高消费。 ");
}
else if (num>500)
{
printf("中等消费。 ");
}
else
printf("低消费。 ");
}
}
else
printf("该生不光没有消费,反而挣了%.2f元。",fabs(num));
return 0;
}
fabs()是绝对值函数,上面是一个if嵌套语句
#include <stdio.h>
int main()
{
int age=50;
char sex='f';
if (age>=50&&sex=='f')
{
printf("可以退休。 ");
}
return 0;
}
&&是与运算符,运算符的两边都得是真才是真,如果有一边为假,则为假,比如age=49;
#include <stdio.h>
int main()
{
int money;
char looks;
printf("您有多少钱? ");
scanf("%d",&money);
printf("您帅不帅?(y)帅(n)不帅: ");
getchar();
scanf("%c",&looks);
if (money>=1000000||looks=='y')
{
printf("嫁。 ");
}
else
printf("考虑考虑。 ");
return 0;
}
scanf("%d",&money);会将用户输入的财产保存在money中,用户输入完财产后会按Enter键,Enter键对应的字符为换行符,该字符不
会被money保存,因为%d告诉编译器忽略空白字符(空白字符包括空格和换行符等显示为空白的字符)因此该换行符会被保存到输入缓冲
区中以便于下次输入时使用,假如不加换行符从输入缓冲区中提取出来就会影响下次输入,getchar();函数的作用就是从输入缓冲区中将
这个换行符提取出来并且扔掉,%c会告诉编译器不要忽略任何字符,因此缓冲区的Enter字符也会被提取出来,但前面的getchar();函数
已经将Enter扔掉了
#include <stdio.h>
int main()
{
int x;
printf("请输入一个整数:");
scanf("%d",&x);
if (!x==0)
{
printf("x不等于0。 ");
}
else
printf("x等于0. ");
return 0;
}
逻辑非运算符!,逻辑非运算符的优先级高于关系运算符==,因此逻辑非运算符先执行
#include <stdio.h>
int main()
{
int x=1,y=0,z=0;
if (x==0&&(y==0||z==0))
{
printf("条件满足 ");
}
else
{
printf("条件不满足 ");
}
return 0;
}
逻辑运算符&&的优先级比||的高,但给(y==0||z==0)加上括号时||的优先级比&&高,程序执行时得到的结果为条件不满足,把()去掉得
到的结果为条件满足