iOS开荒入门 ☞ C语言(运算符),ios运算符

   谓词和平运动算符合作使用是我们获取优质数据的最佳路线。

算术运算符:

% 取模(取余)运算符的注意事项:

1)取模运算符的操作数只好是整数  

2)取模运算符的正负性决定于前面那多少个操作数正负

3)如若取模运算的左边小于左边, 那么结果正是左侧

取余(模运算):5%3=2; -5%3=-2; 5%-3=2; -5%-3=-2
(余数的符号与被除数一致!)

2%9=2;

图片 1

 

算术运算的注意点:

    int a = 10.6;

    int b = 10.5 + 1.7;

    int b = 10.5 + 10; //将侧面的10荣升为了double类型

    自动将大类型转变为了小品种,会丢弃精度

  (一样数据类型的值技术实行演算(比方加法运算),并且运算结果依旧是同样种数据类型。系统会自行对占领内部存款和储蓄器比较少的档期的顺序做四个“自动类型升高”的操作)

    float a = 10 + 3.45f;//int 提升为 float    

    int b = ‘A’ + 32; // char 提升为 int

    double c = 10.3f + 5.7; // float 提升为 double

    double b = 1.0 / 2;

  (将大面积的数量赋值给小范围变量时,系统会自行做三个恐吓类型转换的操作,这样便于遗失精度)

    double a = (double)1 / 2;

    double b = (double)(1 / 2);

    int i = 10.7;  //系统转

    int i = (int) 10.7;  //本身强转

    int a = 198l; // long 转换为 int    

    char b = 65; // int 转换为 char

    int c = 19.5f; // float 转换为 int

 

赋值运算符的组成方向是:从右到左,并且事先级比算术运算符低

赋值运算符是全数运算符中除了逗号运算符以外优先级最低的

 

 

一、浅谈谓词

自增自减写在前头和前面包车型地铁区分:

  • 若果++写在变量的先头, 那么会先将变量自增再用自增之后的结果插手运算
  • 设若++写在变量的前边, 那么会先将变量的值参加运算再将变量自增
  • 小结一句话: ++在前, 先自增再运算, ++在后, 先运算再自增

  谓词的定义:二个运算结果为True、False或Unknown的逻辑表明式。它的应用范围有:where子句、Having子句、Check约束、联接查询的联网条件等。

++a和a++的区别:

    int b = ++a;  //等价于 a=a+1;  b=a;

    int b = a++; //等价于 b=a;  a=a+1;

  运算法则:先左++,再赋值,最后右++。

 

亲自去做1,用于施行数据完整性为数据表增多约束:在职工表中,仅同意工资大于0的职员和工人存款和储蓄在表中。此中的谓词是“薪酬大于0”(SQL表明式:工资>0)。

sizeof()运算符:

sizeof能够用来测算七个变量恐怕三个常量、一种数据类型所占的内部存储器字节数。

留意:sizeof是贰个运算符, 不是叁个函数

          利用sizeof计算的格式: sizeof(变量/常量/数据类型);

 

sizeof一共有3种形式:

  1. sizeof(变量\常量)
  2. sizeof  变量\常量
  3. sizeof(数据类型)

 

举例:

#include <stdio.h>

int main() {

    char c=’a’;

    printf(“%lu, %lu\n”, sizeof(10), sizeof(c));//4, 1

    printf(“%lu, %lu\n”, sizeof 10, sizeof c);//4, 1

    printf(“%lu\n”, sizeof(int));//4

    return 0;

}

 

示例2,用于查询筛选数据的规范:查询职员和工人表须求只回去发卖部的职员和工人。此中谓词是“部门等于出卖部”(SQL表明式:部门=’发售部’)。

逗号运算符和逗号表明式

    例如:a=a+1,b=3*4

        它的形似方式为:表明式1,表明式2,… …,表达式n

    逗号表明式的演算进度是:先算表达式1,再算表明式2,依次算到表明式n

    整个逗号表明式的值是最后三个表明式的值

//逗号运算符

#include <stdio.h>

//逗号运算符类似于加减乘除运算符,逗号运算符取最终三个表达式的值。

int main(){

    int num,num1;

    num=4,7; //逗号运算符的先行级低于赋值运算符

    num1=(4,7); //提升逗号运算符的优先级,先逗号运算,再赋值运算

    printf(“num=%d num1=%d\n”,num,num1); // num=4 num1=7

    return 0;

}

 

  

波及运算符

<    小于运算符

<=  小于等于运算符

>    大于运算符

>=  大于等于运算符

==   等于运算符

!=   不等于运算符

  关系运算符的重临值独有二种, 要么真, 要么假. 1(真)和0(假)

 

行使注意(优先级):

  1. (算术运算符)的事先级大于(关系运算符)

如:3+4>8-2;//结果为1; 等价于:(3+4)>(8-2);

  1. 关系运算符的构成方向为“从左往右”

如:4>3>2;//结果为0

  1. (<,>,<=,>=)的预先级大于(==,!=)

如:2==3>1;//结果为0; 等价于:2==(3>1);

int a=3>4+7;//结果为0

int b=(3>4)+7;//结果为7

int c=5!=4+2*7>3==10;//结果为0

  谓词和运算符的相互选用:

逻辑运算符

  && 逻辑与 、|| 逻辑或 、! 逻辑非

  运用注意:

  • 若想剖断a的值是或不是在(3, 5)范围内,千万不能够写成3<a<5,因为涉及运算符的结缘方向为“从左往右”。比方a为2,它会先算3<a,也便是3<2,条件不创造,结果为0。再与5相比较,即0<5,条件建设构造,结果为1。因而 3<a<5的结果为1,条件创立,也正是说当a的值为2时,a的值是在(3, 5)范围内的。那眼看是颠三倒四的。正确的论断格局是:(a>3) && (a<5)
  • 可以反复一而再使用逻辑非运算符:!(4>2)结果为0,是”假”,!!(4>2)结果为1,是”真”,!!!(4>2)结果为0,是“假”
  • C语言规定:任何非0值都为“真”,只有0才为“假”。由此逻辑与也适用于数值。  
  • 比如:
    • 5 && 4的结果是1,为“真”;-6
      && 0的结果是0,为“假”。
    • 5 || 4的结果是1,为“真”;-6
      || 0的结果是1,为“真”;0 || 0的结果是0,为“假”。
    • !5、!6.7、!-9的结果都为0,!0的结果为1。

  && 和 ||
都具有短路特征:

  假若前三个表明式能说了算最后结出则不会持筹握算后贰个表明式!

#include <stdio.h>

int main() {

    //逻辑运算符&&和||的短路特征

    int a=3,b=4,c=5,r;

    r=(a>b)&&(++b>c);

    printf("%d,%d,%d,%d\n", a, b, c, r);//3, 4, 5, 0

    r=(a<b++)||(b<c++);

    printf("%d,%d,%d,%d\n", a, b, c, r);//3, 5, 5, 1

    

    //非短路的逻辑运算符&和|

    a=3;b=4;c=5;

    r=(a>b)&(b>++c);

    printf("%d,%d,%d,%d\n", a, b, c, r);//3, 4, 6, 0

    r=(a<b)|(b<c++);

    printf("%d,%d,%d,%d\n", a, b, c, r);//3, 4, 7, 1

    return 0;

}

    1.透过逻辑运算符连接多个谓词(逻辑表明式),如运用AND和O牧马人。

优先级: 

  逻辑运算符的开始时期级依次为: 小括号() > 负号 – > ! > 算术运算符 > 关系运算符 > && >
||

 条件运算符(三目运算符 ” ? :
“):表明式1?表明式2:表明式3

只要表明式1为真,三目运算符的运算结果为发挥式2的值,不然为发挥式3的值

单目运算符:操作数唯有一个(-1;)

眼睛运算符:操作数有三个(1 – 2;)

三目运算符:操作数有八个(5 > 4 ? 1 : 0)

 

当大家不鲜明有些运算符的预先级的时候,能够运用() 来明确优先级

图片 2

 

☞ C语言(运算符),ios运算符
算术运算符: % 取模 ( 取余 )运算符的注意事项: 1 )
取模运算符的操作数只可以是整数 2 )…

    2.谓词中央银行使相比运算符,如有个别属性值大于或低于某内定个值。

  

  SQL Server中有部分主要字能够代替谓词语义的含义,也足以称为SQL
Server中的谓词。

  个中常用的席卷:

    1.IN,在…之内,检查贰个值是不是留存于钦赐的群集内。     

    2.BETWEEN,检查叁个值是不是在钦点的间距范围内,范围包涵几个边界值。

    3.LIKE,剖断字符串是不是满意钦命的格式,比如,查询名字姓氏为黄的职工(where
name like ‘黄%’)。

 

 

二、运算符

    比较运算符:

=(等于) 等于
>(大于) 大于
<(小于) 小于
>=(大于或等于) 大于或等于
<=(小于或等于) 小于或等于
<>(不等于) 不等于
!=(不等于) 不等于(非 ISO 标准)
!<(不小于) 不小于(非 ISO 标准)
!>(不大于) 不大于(非 ISO 标准)

   算术运算符:

+(加)
-(减)
*(乘)
/ (Divide)
%(取模) 返回一个除法运算的整数余数。 例如,12 % 5 = 2,这是因为 12 除以 5,余数为 2。

    

    逻辑运算符:

ALL 如果一组的比较都为 TRUE,那么就为 TRUE。
AND 如果两个布尔表达式都为 TRUE,那么就为 TRUE。
ANY 如果一组的比较中任何一个为 TRUE,那么就为 TRUE。
BETWEEN 如果操作数在某个范围之内,那么就为 TRUE。
EXISTS 如果子查询包含一些行,那么就为 TRUE。
IN 如果操作数等于表达式列表中的一个,那么就为 TRUE。
LIKE 如果操作数与一种模式相匹配,那么就为 TRUE。
NOT 对任何其他布尔运算符的值取反。
OR 如果两个布尔表达式中的一个为 TRUE,那么就为 TRUE。
SOME 如果在一组比较中,有些为 TRUE,那么就为 TRUE。

 

     在SQL Server中运算符分为专门的学问和非标准,如 “!=” 可用 “<>”
取代,建议选择规范的运算符。

 

 

网站地图xml地图