做判断

C语言做判断
if机制
if(条件成立){
……
}
//计算时间差

int main()
{
    int hour1,minute1;//第一个时间点
    int hour2,minute2;//第二个时间点
    scanf("%d %d",&hour1,&minute1);
    scanf("%d %d",&hour2,&minute2);
    int ih=hour2-hour1;
    int im=minute2-minute1;
    if(im<0){
    im=60+im;
    ih--;
    }
    printf("时间差是%d小时%d分\n",ih,im);
    return 0;
}

2.怎样做判断:关系运算符
==相等 !=不相等 > >= < <=
关系运算的结果,只有两个值1关系成立或0关系不成立

int main()
{
    //注意看关系运算符的结果,成立是1,不成立是0
    printf("%d\n",5==3);//0
    printf("%d\n",5>3);//1
    printf("%d\n",5<=3);//0
    return 0;
}

3.关系运算符优先级比算术运算符低,但比赋值运算符高

int main()
{

    printf("%d\n",7>=3+4);//结果是1,说明3+4先算,说明关系运算符优先级比算术运算符低
    return 0;
}

int r=a>0;//说明关系运算符比赋值运算符优先级要高,先算a>0

在所有关系运算符中,它们的地位也不完全相同
= =和!=的优先级其他的低,而连续的关系运算符是从左到右进行的
5>3= =6>4//因为5>3,6>4,1= =1所以结果是1
6>5>4//按顺序6>5,1不大于4,所以结果为0
a= =b= =6//a和b的值不管是否相等,0或1,都不可能等于6,所以结果为0
a==b>0//先算b>0
4.注释是为了人读懂,计算机并不会理睬 //C99独有单行注释
5.流程图,圆角框表示开始或结束,方框表示做的事情,菱形表判断,平行四边形表示输入或输出
6.判断完还有否则,否则的话
if-else语句
//计算找零


int main()
{
    //初始化
    int price;
    int bill;
    //读入金额和票面
    printf("请输入金额:");
    scanf("%d",&price);
    printf("请输入票面:");
    scanf("%d",&bill);
    //计算找零
    if(bill>=price){
        printf("应该找您:%d\n",bill-price);
    }else{
        printf("您的钱不够\n");
    }

    return 0;
}

7.if语句后面也可以没有大括号{},
当没有大括号时,紧跟在if后面的那一句话就会作为条件成立的时候要执行的那句话
if这一行是不加分好的,if若没有大括号,紧跟下一条语句结束才加分号;
else同理

int main()
{
//计算薪水
const double RATE=8.25;
const int STANDARD=40;
double pay=0.0;
int hours;
printf("请输入工作的小时数");
scanf("%d",&hours);
printf("\n");
if(hours>STANDARD)
    pay=STANDARD*RATE+(hours-STANDARD)*(RATE*1.5);
else
    pay=hours*RATE;
printf("应付工资:%f\n",pay);

    return 0;
}
int main()
{
//计算成绩
const int PASS=60;
int score;
printf("请输入成绩");
scanf("%d",&score);
printf("您输入的成绩是%d\n",score);
if(score<PASS)
    printf("很遗憾,这个成绩没有及格");
else
   printf("祝贺你,这个成绩及格了");
printf("再见\n");

    return 0;
}

8.嵌套的if-else
当if的条件满足或者不满足的时候要执行的语句也可以是一条if或if-else语句
缩进格式不能暗示if-else的匹配,每个else是离它最近的那个if的

int main()
{
//比较三个数的大小
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
int max=0;
if(a>b){
    if(a>c){
        max=a;
    }else{
        max=c;
    }
}else{
    if(b>c){
        max=b;
    }
    else{
        max=c;
    }
}
printf("The max is %d\n",max);
    return 0;
}

9,级联的if-else
if(exp1)
st1;
else if(exp2)
st2;
else
st3;

   int main()
{
//分段函数
//f(x)=-1;x<0
//      0;x=0
//     2x;x>0
int x;
scanf("%d",&x);
int f=0;
if(x<0){
    f=-1;
}
else if(x==0){//if只要求()里的值是零或非零
    f=0;
}else{
    f=2*x;
}
printf("f=%d\n",f);
    return 0;
}
发布了33 篇原创文章 · 获赞 0 · 访问量 177

猜你喜欢

转载自blog.csdn.net/weixin_45087108/article/details/104450730