C语言基础知识---做点运算之运算符

开头先给大家介绍一下运算符的分类,根据运算性质可以分为
算数运算符
赋值运算符
自增自减运算符
算数表达式自动类型转换
关系运算符
逻辑运算符
位运算符
操作数 + 运算符 = C表达式

算数运算符

加,减,乘,除 取余(模)(%)

  • 算数表达式的优先级(从高到低运算)

  • 运算符的结合性

    -左结合---从左向右运算
    -右结合 --从右向左运算
    
  • 使用圆括号改变运算顺序–从内往外运算

随机函数rand()—生成指定范围的随机数

//生成一个1~100内的随机数
magic = rand   () % 99;//0~99
magic = rand( )% 100+1

赋值运算符

ps:赋值运算符!= 数学中的等号

  • 简单赋值—变量 = 表达式
  • 多重赋值—变量1 = 变量2 = 表达式
// 二者是等价的
a = a + 1 == a += 1

如何为变量赋值?

  • 赋值表达式语句 —变量 = 表达式;
a = 3;
  • 定义变量的同时为变量赋值(初始化)—类型 变量 = 表达式

   int a = 3;
   int a = 3, b = 3;

//
//  main.c
//  C程序01
//
//  Created by mac on 2019/4/15.
//  Copyright © 2019年 mac. All rights reserved.
//
//预编译处理命令,系统库函数
#include 
int main(){
    //定义变量
    int a = 3;
    a += a -= a *= a;
    printf("%d\n",a);
    

a的值为0

自增自减运算符

作为前缀运算符时
++n,–n
先对n加/减1,然后再使用n的值

m = ++n;
/*先自增再运算相当于
n = n + 1;
m = n;
*/
ptintf("%d, ++n);//n = n + 1;
//这里的n是自增后的值

作为后缀运算符时
n++,n–
先使用n的值,再对n增1/减一

m = n++;
/* 先m = n;
n = n + 1;
*/

自增自减运算符对操作数的值是相同的,对表达式是不同的。

算术表达式自动类型转换

  • 相同类型数据运算结果类型是相同的。
  • 不同类型数据运算结果转换为类型提升
  • 规则:

(低)char,shot-- int–unsigned long–float–doule-long double(高)
根据参与运算的操作数类型从低到高级别自动转换

强制类型转换

int total,number
float result
result =float)total / number

你可能感兴趣的:(c,编程语言)