C语言运算符

赋值运算注意点:

  • 1.赋值运算的结合性:右结合性
  • 2.赋值运算的优先级低于算数运算符
    int res = 10;
    res += 10 - 5; // res = res + (10 - 5); res = 10 + (10 - 5);
    printf("res = %i\n", res);

自增自减

自增和自减可以写在变量前面, 也可以写在变量后面

  • 写在前面和后面的区别:

    • 如果自增和自减写在变量前面, 代表先自增和自减再参与其它运算
    • 如果自增和自减写在变量后面, 代表先参与其它运算再自增和自减

    int num = 10;
    int res = 10 + num++; // int res = 10 + 10; num++
    int res = 10 + num--; // int res = 10 + 10; num--
    printf("res = %i\n", res); // 20 20
    printf("num = %i\n", num); // 11 9

int num = 10;
int res = 10 + ++num; // ++num; int res = 10 + 11
int res = 10 + --num; // --num; int res = 10 + 9
printf("res = %i\n", res); // 21 19
printf("num = %i\n", num); // 11 9
  • 注意点:

    • 1.自增和自减只能用于变量, 不能用于常量和表达式
    • 2.在企业开发中自增和自减最好单独出现
    • 3.同一个表达式中同一个变量同时自增或自减, 这种格式的表达式在C语言中没有规定如何运算
    • 所以结果是不确定的, 在不同的编译器下运行的结果不同

sizeof运算符

  • sizeof运算符
    • 格式:
    • 第一种格式:
    • sizeof(变量/常量/数据类型);
    • 第二种格式:
    • sizeof 变量/常量
    • 作用:
    • sizeof运算符是专门用于计算变量/常量/数据类型占用的存储空间的
    • int 占4字节 ; double 占8字节
  • 注意点:
    • 1.sizeof是一个运算符, 不是一个函数
    • 2.既然sizeof是一个运算符, 所以它也有优先级
    • 3.sizeof运算符的优先级高于算数运算符

int res = sizeof(3.14 + 1);
printf("res = %i\n", res);//8

int res = sizeof3.14 + 1;
printf("res = %i\n", res);//9

关系运算符

  • 关系运算符
    > >= < <= == !=
    返回值: 要么是0, 要么是1
    0 代表关系不成立 1代表关系成立
    在C语言中非0即真
    只有数值是0 才代表是假, 其它的都是真
  • 优先级
    > >= < <= 优先级高于 == !=

逻辑运算符

  • 逻辑运算符
  • 1.逻辑与 &&
    规则: 一假则假
    特点: 逻辑短路, 只要第一个表达式为假, 那么第二个表达式就不会计算

int a = 10;
int res = (10 > 19) && (++a > 5);
printf("res = %i\n", res); // 0(假)
printf("a = %i\n", a); // 10
// 原因: 无论第二个表达式的结果是真是假, 整个表达式的结果都是假, 所以再计算第二个表达式没有任何意义, 所以只要第一个表达式为假, 第二个表达式就不会运算

  • 2.逻辑或 ||
    规则: 一真则真

int a = 10;
int res = (10 > 9) || (++a > 5);
printf("res = %i\n", res); // 1(真)
printf("a = %i\n", a); // 10
// 原因: 无论第二个表达式的结果是真是假, 整个表达式的结果都是真, 所以再计算第二个表达式没有任何意义, 所以只要第一个表达式为真, 第二个表达式就不会运算

  • 3.逻辑非 !
    规则: 真变假假变真

三目运算符

  • 三目运算符
    • 格式: 表达式 ? 结果A : 结果B;
    • 结果:
      表达式的值为真, 那么就返回结果A
      表达式的值为假, 那么就返回结果B
    • 注意点:
      三目运算符中 ?:不能分开使用
      三目运算符的优先级低于算数运算符

int temp1 = 10 + 5;
int temp2 = 5 + 5;
int res = (temp1 > temp2) ? 666 : 888;
printf("res = %i\n", res);//666

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342