黑马程序员—C学习笔记—取余和除法运算符、自动和强制类型转换

———–Java培训、Android培训、IOS培训、.Net培训、期待与您交流!————

自己敲得一些代码,来更好地了解取余和除法运算,以及两种类型转换的区别。代码如下,关于里面的变化,相信小伙伴们能够从注释里面看到。

#include<stdio.h>

int main()
{
    //测试除法运算和取余运算
    int a1 = 10/3;
    int a2 = 3/3;
    int a3 = 1/3;
    int a4 = -1/3;
    int a5 = -3/3;
    int a6 = 5.01/3;  //自动类型转换


    printf("%d\n",a1);
    printf("%d\n",a2);
    printf("%d\n",a3);
    printf("%d\n",a4);
    printf("%d\n",a5);
    printf("%d\n\n",a6);

    int c1 = 10%7;
    int c2 = 10%-7;
    int c3 = -10%7;
    int c4 = -10%-7;
    //int c5 = 10.01%7;  两边必须是整形,不存在自动转换

    printf("%d\n",c1);
    printf("%d\n",c2);
    printf("%d\n",c3);
    printf("%d\n\n",c4);
    //printf("%d\n\n",c5);

    //整除的余数
    printf("整除的余数%d\n",-3%3);

    //测试类型转换
    //测试自动类型转换

    int b1 = 10/3;
    int b2 = 1/3;  //右边最终值都是int,因为参与计算的两个数都是int
    int b3 = 5.01/3;  //自动类型转换,因为存在double,所以3提升为double类型,但是在赋值的时候自动转为int    

    printf("%d\n",b1);
    printf("%d\n",b2);
    printf("%d\n",b3);
    //printf("%d\n",5.01/3); 获得警告,但是结果为3584
    printf("%f\n\n",5.01/3);

    //测试强制类型转换
    double d1 = 10/-7;
    double d2 = 1/3;
    double d3 = (double)1/3;
    double d4 = (double)(1/3);
    double d5 = 1.0/3;
    double d6 = 1/3.000;

    printf("%f\n",d1);
    printf("%f\n",d2);
    printf("%f\n",d3);
    printf("%f\n",d4);
    printf("%f\n",d5);
    printf("%f\n",d6);

    return 0;
}

由于是静态数据,所以运行数据如下:
这里写图片描述

欢迎各路小伙伴们一起交流学习!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值