黑马程序员 -- IOS C语言 基础运算01

-------------------------------------- android培训java培训ios培训期待与您交流! --------------------------------


c语言共有34种运算符,包括常见的 + - *  / 

1.加法运算 + :不仅是加法 还可以当做正号    +11 +10

2.减法运算 -  :不仅是减法 还可以当做负号    -11 -10

3.乘法运算 *  :符号不是x  而是*

4.除法运算 /  :整数除以整数还是整数。 1 / 2值是0,并不是二分之一。

参与运算的是什么得出的就是什么类型。


取余运算(模运算)两边都必须是整数

int a = 10 % 3 = 1

int a = -10 % 3 = -1

int a = 10 % -3 = 1取余结果的正负性取决于%左边的正负数

int a = -10 % -3 =  -1 



#include <stdio.h>

int main()

{

int a = 10 +1 +2 +3+ 4;

int b = -10;

int c = 10 * b;

int d = 10 / 2;

int e = 10 % -3;

int f = 10 % 3;

int g = -10 % -3;

int h =  -10 % 3;

printf("a=%d\nb=%d\nc=%d\nd=%d\ne=%d\nf=%d\ng=%d\nh=%h",a,b,c,d,e,f,g,h);

return 0;

}

 得出的结果为,  a = 20;b =-10 ;c =-100 ;d =5 ;

    e = 1;f = 1;g = -1;h = -1;




1.自动整数转换小数

int a = 10.8 = 10  得出的结果为自动类型转换:由于此时应该得出的结果是小数,而类型是整形。所以打印会有警告

     如不想让出现警告,可以输入  int a = (int)10.8;

int b = 10 / 3 =  正常的结果是3.3333···· 但b是整形变量 后面还都是整数,所以得出的结果还是3


2.自动类型提升

double c = 10.6 + 6 = 16.6   把加号左边的数字提升为右边,int升级到了double   4个字节变成了8个字节。

      前提是小数在加好左边


3.强制类型转换

double e = 3 / 2; :得出的结果会是1 ,不精确想让精确话,可以强制转换。

                             double e = 3  / (double)2;   得出的结果就是1.5   double用在3 或者2都可以






习题:

1.当?是什么运算符时,无论a的值怎么改变,c都不超过10。int  = a ? 10

#include <stdio.h>

int main()

{

int a = 676;

int c =a %10;

printf("%d\n",c);

return 0;

}

用%取余算法,a无论是多少,c都不会超过10


2.提示用户输入一个时间的秒数,然后输入对应的秒数

#include<stdio.h>

int main()

{


   //1.提示用户输入的时间(秒)

    printf("请输入时间()\n");

   //2.接收用户输入的时间

   int time;

    scanf("%d",&time);

   //3.转换成对应的分钟和秒

   int minute = time /60;//分钟

   int second = time %60;//

    printf("%d = %d分钟%d\n",time,minute,second);

    

    

   return0;

}

如果用户输入的时500,那么得出的结果是8分钟20秒



3.输入两个数并打印出和,差,积,商,取余。


#include<stdio.h>

int main()

{

   int a =1, b =4;

   int he = a + b;

   int cha = a - b;

   int ji = a * b;

  double shang = a /(double) b;//由于除法算出来是小数 所以用了double 而=后面是两个整数,所以为了得出是精确的小数 用了强制性转换

   int quyu = a % b;

    printf("和是%d\n差是%d\n积是%d\n商是%.2f\n取余是%d\n",he,cha,ji,shang,quyu);

    

   return0;

}

结果为和是5,,差是-3,积是4,商是0.25,取余是1













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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值