C语言自学完备手册(08)——常用运算符

自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理


探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制


Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南


版权声明


算数运算符

瞅瞅加减乘除和取模这些最基本运算符,代码如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x;
    int y;
    puts("请输入两个正整数");
    puts("请输入第一个数:");
    scanf("%d",&x);
    puts("请输入第二个数:");
    scanf("%d",&y);
    printf("x+y=%d\n",x+y);
    printf("x-y=%d\n",x-y);
    printf("x*y=%d\n",x*y);
    printf("x/y=%d\n",x/y);
    printf("x%%y=%d\n",x%y);
    return 0;
}

运行结果如下:

这里写图片描述

要点概述:

  • 这些基本运算符整体来说和其他编程语言无大的差别
  • 两个正整数相除,结果亦为整数,即自动忽略小数部分,请参见代码第16行
  • 请注意取余运算符,如果想在控制台显示%那么请在代码中用%%表示;请参见代码第17行

小练习:输入两个正整数并显示两者的商与余数

int a;
int b;
puts("请输入两个正整数");
puts("请输入第一个数:");
scanf("%d",&a);
puts("请输入第二个数:");
scanf("%d",&b);
printf("a除以b的商是%d余数是%d\n",a/b,a%b);

在此例子中请注意最后的printf语句一共使用了两次%d

赋值运算符

=用于实现赋值;比如:
int number;
number=5;

请注意:+=的使用
例如:sum+=a 它等价于sum=sum+a;
其余:-=和*=以及/=均类似,不再赘述。

相等与不等

==用于判断两个数是否相等
例如:a==b;假若a和b的值相等则结果为1(即true),假若a和b的值不等则结果为0(即false)
!=用于判断两个数是否不等
例如:a!=b;假若a和b的值不相等则结果为1(即true),假若a和b的值相等则结果为0(即false)

取模、取余

%用于取模(取余)

关系运算符

< 小于
> 大于
<= 小于等于
>= 大于等于

三目运算符

语法概述:a ? b : c
如果a不为0,则结果是b的值;否则结果为c的值

示例:计算两个数的差值

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int number1,number2,result;
    puts("请输入两个整数:");
    printf("请输入第一个整数:");
    scanf("%d",&number1);
    printf("请输入第二个整数:");
    scanf("%d",&number2);
    result=number1>number2?number1-number2:number2-number1;
    printf("两个数的差值是%d",result);
    return 0;
}

逻辑运算符

&& 表示逻辑与运算符
|| 表示逻辑或运算符

注意:&&和||的判断过程中会进行短路求值,即根据左边操作数的结果省略对右操作数的判断。例如:a&&b 如果a和b都不为0则表达式的结果为1;假若a为0那么就不会再对b进行判断,这就是短路求值

自增与自减

i++ 表示自增
i - - 表示自减

请注意:
i++与++i的区别:
i++表示先赋值再自增
++i表示先自增再赋值

i - - 和 - - i 与此类似,不再赘述

猜你喜欢

转载自blog.csdn.net/lfdfhl/article/details/80976538