目录 1.运算符相关术语 2.运算符示例 3.运算符优先级表 1. 运算符相关术语1.1 操作数(operand): 程序操作的数据实体,该数据可以是数值、逻辑值或其他类型。该操作数既可以是常量也可以是变量。1.2 运算符...

目录
1.运算符相关术语
2.运算符示例
3.运算符优先级表
1. 运算符相关术语
1.1 操作数(operand):
程序操作的数据实体,该数据可以是数值、逻辑值或其他类型。该操作数既可以是常量也可以是变量。
1.2 运算符(operator):
①. 可以对数据进行相应操作的符号。比如对数据求和操作,用加法运算符“ + ”,求积操作使用乘法运算符“ * ”等。
②. 根据运算符可操作的操作数的个数,可把运算符分为一元运算符(单目运算符)、二元运算符(双目运算符)和 多元运算符(C语言中只有一个三元运算符(? :),三目运算符)。
③.C语言提供了丰富的运算符:算法运算符、关系运算符、逻辑运算符、赋值运算符、移位运算符、逗号运算符及sizeof运算符等。
1.3 左值(lvalue)和右值(rvalue)
①. 按字面意思说,以赋值符号=为界,=左边的就是左值,=右边的就是右值。
②. 更深一层说,L-value的L可以理解为Location,表示可寻址。R-value中的R指的是Read,表示可读。
2. 运算符示例
2.1 取模(余数)%
①. 示例一:计算最大公约数
#include <stdio.h>
#include <math.h>
/**
* 示例一
* 计算最大公约数 函数法
* 欧几里得算法 辗转相除法
* 计算原理:gcd(a,b) = gcd(b,a mod b)
*/
int gcd(int a, int b)
{
int c = a % b;
while (c != 0)
{
a = b;
b = c;
c = a % b;
}
return b;
}
int main()
{
int a = 0;
int b = 0;
printf("请输入两个整数:");
scanf_s("%d,%d", &a, &b);
int c = gcd(a, b);
printf("最大公约数为:%d\n", c);
return 0;
}
运行结果:
②. 示例二:循环输出26个英文字母
#include<stdio.h>
/**
* 示例二
* 输出26个英文字母,形成循环输出
*/
int main()
{
char str[] = { "abcdefghijklmnopqrstuvwxyz" };
for (int i = 0; i < 26; ++i) //行
{
int k = i;
for (int j = 0; j < 26; ++j) //列 只能打印26次
{
printf("%c", str[k]);
k = (k + 1) % 26; //将k循环遍历
}
printf("\n");
}
return 0;
}
运行结果:
2.2 * =运算
③. 示例三:* =运算
#include<stdio.h>
/**
* *= 运算
*/
int main()
{
int a = 0;
int b = 0;
int c = 0;
printf("请输入三个数:");
scanf_s("%d,%d,%d", &a, &b, &c);
a *= b + c; //+ 的优先级高于 * 所以先算 + 再算 *
printf("%d\n", a);
return 0;
}
运行结果:
2.3 三目运算
④. 示例四:三目运算
#include<stdio.h>
/**
* 三目运算符
*/
int main()
{
int a = 0;
int b = 0;
int c = 0;
printf("请输入两个数:");
scanf_s("%d,%d", &a, &b);
c = a < b ? a : b; //输入a,b两个数 如果a < b 则输出a,否则输出b
printf("c = %d\n", c);
return 0;
}
运行结果:
2.4 前置++与后置++的区别
⑤. 示例五: 前置++与后置++的区别
#include <stdio.h>
/**
* 前置++与后置++的区别
*/
int main()
{
int a = 0;
int b = 0;
int c1,c2 = 0;
c1 = a++; //后置++先赋值,后+1
c2 = ++b; //前置++先+1,后赋值
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
运行结果:
3. 运算符优先级表
本文标题为:C语言运算符


基础教程推荐
- C语言 详解字符串基础 2023-03-27
- [c语言-函数]不定量参数 2023-09-08
- C语言编程C++旋转字符操作串示例详解 2022-11-20
- C++实现ETW进行进程变动监控详解 2023-05-15
- [C语言]二叉搜索树 2023-09-07
- C语言实现宾馆管理系统课程设计 2023-03-13
- 带你深度走入C语言取整以及4种函数 2022-09-17
- 全面了解C语言 static 关键字 2023-03-26
- C++实战之二进制数据处理与封装 2023-05-29
- centos 7 vscode cmake 编译c++工程 2023-09-17