C语言学习笔记——运算符(上)

简介: C语言学习笔记——运算符

3.1算术运算符

78b71b33851b70449e947de4d0c581b.png

5.1.1取余

#include<stdio.h>
void main() {
  //因为9和7都为整数,所以结果中整数1后面的小数都被截断,只保留1
  double a = 9 / 7;
  printf("a = %f\n", a);
  //若想要保留小数,则在参加运算的数字中,必须加上小数部分
  double b = 9.0 / 7;
  printf("b = %.15f\n", b);
  //9 % 7 指的是9对7取余(取模)
  int c = 9 % 7;
  printf("c = %d\n", c);
  //计算机中取模的公式为 a - a / b * b
  //-9 - (-9) / 7 * 7
  int d = -9 % 7;
  printf("d = %d\n", d);
  //9 - 9 / (-7) * (-7)
  int e = 9 % -7;
  printf("e = %d\n", e);
  //(-9) - (-9) / (-7) * (-7)
  int f = -9 % -7;
  printf("f = %d\n", f);
}

cba8bf7acda0420a9a278c429ad25e6e.png

计算机中取模的公式为 a - a / b * b

5.1.2 ++

#include<stdio.h>
void main() {
  int a = 7;
  int b = a++;//等价于b = a; a = a + 1;
  printf("a = %d  b = %d\n", a, b);
  int c = ++a;//等价于a = a + 1; c = a;
  printf("a = %d  c = %d\n", a, c);
  //++a和a++可以独立使用,但两者完全等价,都是a = a + 1;
  ++a;
  printf("a = %d\n", a);
  a++;
  printf("a = %d", a);
}

6160a8b36235476fbf0fe0da60bfa596.png

  1. b = a++;//等价于b = a; a = a + 1;
  2. c = ++a;//等价于a = a + 1; c = a;
  3. ++a和a++可以独立使用,但两者完全等价,都是a = a + 1

5.1.3练习

  1. 假如还有97天放假,请问还有多少个星期零几天?
#include<stdio.h>
void main() {
  //华氏温度转换摄氏温度的公式为:5 / 9 * (华氏温度 - 100),
  double Fahrenhite = 97;
  double Centigrade = 5.0 / 9 * (Fahrenhite - 100);
  printf("%f对应的摄氏温度为%f", Fahrenhite, Centigrade);
}


90ad843819fc445d88480c2117e2726c.png

3.2关系运算符

3.2.1介绍

  1. 关系运算符的结果为真是非0,为假是0
  2. 关系表达式经常用在if或循环中

3.2.2关系运算符表示

2a043d766406316dac8a8bf334eb5e5.png

3.2.3代码

3.2.3.1逻辑与运算符

#include<stdio.h>
void main() {
  //double score = 97;
  //double score = 79;
  double score = 59;
  if (score >= 80) {
    printf("优秀");
  }
  else if (score >= 60 && score < 80) {
    printf("良");
  }
  else {
    printf("不合格");
  }
}

71d0dd25ffc643fbad77d2983d48d103.png

#include<stdio.h>
void main() {
  int a = 9, b = 7;
  if (b < 8 && a++ > 9) {// a++ > 9判断中先进行a > 9的判断,再进行a++
    printf("ok1\n");
  }
  printf("a = %d\n", a);
  int c = 9, d = 7;
  if (d < 8 && ++c > 9) {// ++c > 9判断中先进行c > 9的判断,再进行++c
    printf("ok2\n");
  }printf("c = %d\n", c);
  int e = 9, f = 7;
  if (f < 6 && ++e > 9) {// 如果在进行&&操作时,第一个判断的结果是false,则之后的条件就不再进行判断
    printf("ok3\n");
  }printf("e = %d", e);
}

47c4d2b5ea8a460894833dd9c32079ce.png

3.2.3.2逻辑或运算

#include<stdio.h>
void main() {
  int a = 9, b = 7;
  if (a > 7 || b++ > 7) {//在进行逻辑与时候,第一个判断的结果是true,则之后的条件不再进行判断
    printf("ok\n");
  }
  printf("b = %d\n", b);
}

390e298bc8244b06820b5ea093cac51c.png

3.2.3.3逻辑非运算

#include<stdio.h>
void main() {
  //int score = 97;
  int score = 79;
  int result = score > 80;
  if (result) {
    printf("ok1\n");
  }
  if (!result) {//当result取反为真时
    printf("ok2");
  }
}


0255f70edef3419ca2928efec1125cc1.png

3.3赋值运算符

3.3.1介绍

赋值运算符就是将某个运算后的值,赋给指定的变量

3.3.2赋值运算符表示

45ebef689961b1506762e06b36deaf8.jpg

3.3.3代码

#include<stdio.h>
void main() {
  //交换a与b的值
  int a = 9;
  int b = 7;
  int temp = a;//设置一个临时变量保存a的值
  a = b;//将b赋值给a
  b = temp;//将temp赋值给b,即a原来的值复制给b,完成交换
  printf("a = %d\tb = %d", a, b);
  //+=示例
  int c = 97;
  c += a;
  printf("c = %d", c);
}

76557fdb31d1454aa419b2388eebf0db.png

  1. 运算顺序从右往左
  2. 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值
  3. 在运算时,如果被赋值的变量精度较小,则有可能会导致精度损失


相关文章
|
6天前
|
存储 C语言 C++
【c语言】运算符汇总(万字解析)
今天博主跟大家分享了c语言中各种操作符的功能、使用方法以及优先级和结合性,并且与大家深入探讨了表达式求值的两个重要规则--算数转换和整形提升。学习这些知识对我们的C语言和C++学习都有着极大的帮助。
48 2
|
19天前
|
C语言
c语言运算符
C的运算符有以下几种: 算术运算符:+、-、*、/、% 结合方向自左向右 关系运算符:>、<、==、>=、<=、!= 逻辑运算符:!、&&、|| 位运算符<<、>>、~、|、^、& 赋值运算符:=及符号扩展赋值运算符(+=、-=、*=、/=) 条件运算符:? : 逗号运算符:, 指针运算符:*、& 求字节运算符:sizeof 强制类型转换运算符:((类型)) 分量运算符:.、-> 下标运算符:[]
30 4
|
4月前
|
存储 C语言
C语言数据类型、变量和运算符以及printf相关问题
C语言数据类型、变量和运算符以及printf相关问题
|
3月前
|
C语言
C语言判断和运算符联系
在 C 语言中,判断与运算符紧密相关,主要体现在条件表达式的使用上。
194 87
|
3月前
|
安全 C语言
C语言运算符的使用注意点
在C语言中,正确使用运算符能提升代码的可读性和效率。本文介绍了八大注意事项:运算符优先级和结合性影响运算顺序;自增/自减运算符分前缀和后缀形式;逻辑运算符有短路特性;位运算符直接操作二进制位需谨慎;条件运算符简洁但避免复杂嵌套;类型转换避免意外结果;使用括号明确运算顺序。掌握这些要点有助于编写更安全高效的代码。
199 72
|
2月前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
41 3
|
2月前
|
C语言
C语言学习笔记-知识点总结上
C语言学习笔记-知识点总结上
81 1
|
2月前
|
C语言
C语言条件运算符详解
C语言条件运算符,也称为三元运算符,是一种简化if-else语句的表达式,形式为:条件?表达式1:表达式2。当条件为真时,计算并返回表达式1的值;否则计算并返回表达式2的值。它可用于快速实现简单的条件分支逻辑。
|
3月前
|
安全 C语言
在C语言中,正确使用运算符能提升代码的可读性和效率
在C语言中,运算符的使用需要注意优先级、结合性、自增自减的形式、逻辑运算的短路特性、位运算的类型、条件运算的可读性、类型转换以及使用括号来明确运算顺序。掌握这些注意事项可以帮助编写出更安全和高效的代码。
51 4
|
3月前
|
程序员 C语言
【C语言基础考研向】06运算符与表达式
本文介绍了C语言中的运算符分类、算术运算符及表达式、关系运算符与表达式以及运算符优先级等内容。首先概述了13种运算符类型,接着详细说明了算术运算符的优先级与使用规则,以及关系运算符和表达式的真假值表示,并给出了C语言运算符优先级表。最后附有课后习题帮助巩固理解。
110 10