杜桥做网站哪家好,长沙智能建站模板,2016个人网站备案,佛山整合营销本文主要讲解c语言的基础部分#xff0c;运算符与表达式的学习#xff0c;在这一部分中#xff0c;往往有许多细节的东西需要去记住。当各种运算符一起用时#xff0c;就会存在优先级的关系#xff0c;本文末尾有各种运算符的优先级顺序表。 参考书目和推荐学习书目#… 本文主要讲解c语言的基础部分运算符与表达式的学习在这一部分中往往有许多细节的东西需要去记住。当各种运算符一起用时就会存在优先级的关系本文末尾有各种运算符的优先级顺序表。 参考书目和推荐学习书目通过网盘分享的文件C语言程序设计电子教材 (1).pdf 链接: https://pan.baidu.com/s/1JFqSaCKZ0A2Lr944e72NUA?pwdp648 提取码: p648 目录 前言 一.算术运算符与算术表达式 1.常见的算数运算符 2.算数表达式 二.赋值运算符与赋值表达式 1.常见赋值运算符 2.赋值语句 3.数据类型转换 Ⅰ.自动转换 Ⅱ.强制转换 三.关系运算符与关系表达式 1.常见关系运算符 四.逻辑运算符与逻辑表达式 1.常见逻辑运算符 五.位运算符与位运算表达式 六.逗号运算符与逗号表达式最容易被忽略 七.条件运算符与条件表达式 八.运算符的优先级和结合方向 前言
在程序中对数据进行处理时需要使用到运算符对数据进行算术运算、赋值、比较等操 作。在 C 语言中运算符可分为算术运算符、赋值运算符、比较运算符、逻辑运算符和位运 算符。
一.算术运算符与算术表达式
1.常见的算数运算符 运算符 运算 范例 结果 正号 3 3 负号 b4b 4 加 55 10 减 63 3 * 乘 2*3 6 / 除 4/4 1 % 取模即算术中的求余数 7%4 3 自增前 a2ba a3b3 自增后 a2ba a3b2 - - 自减前 a2ba a1b1 - - 自减后 a2ba a1b2
1在进行自增和自减——运算时如果运算符或——放在操作数的前面则是 先自增或自减运算再进行其他运算。反之如果运算符放到操作数后面则是先进行其他运 算再进行自增或自减运算。自增和自减运算符只能用于变量不能用于常量和表达式如 4和(ab)都是错误的。
2在进行除法运算时当除数和被除数都是整数时结果也是整数如 35/10 结果为 3小数部分被忽略。 思考2500/1000*1000 结果为 2000。由于表达式执行顺序是从左至右所以先执行除法再执行乘法 2500/1000得到结果 2再乘以 1000自然得到结果 2000。
3取模%运算时运算结果的正负取决于%左面数的符号与%右面数的符号无 关如5%3 结果为2而 5%3结果为 2。
2.算数表达式
用算术运算符和括号将操作数连接起来的式子称为算术表达式
12
4-3
a%b;
a×b2;
b-2/5;
二.赋值运算符与赋值表达式
1.常见赋值运算符 运算符 运算 范例 结果 赋值 a3b2 a3b2 加等于 a3b2ab a5b2 减等于 a3b2a-b a1b2 * 乘等于 a3b2a*b a6b2 / 除等于 a3b2a/b a1b2 % 模等于 a3b2a%b a1b2
2.赋值语句
在赋值过程中从右往左运算将右边表达式的结果赋值给左边的变量
3.数据类型转换
数据类型转换是把数据从一种类型转成另一种类型可分为自动类型转换和强制转换
Ⅰ.自动转换
自动类型转换指在赋值时自动完成类型转换程序不需要做任何显示声明。
在多种数据类型参与的混合运算中编译器会自动转换数据类型将参与运算的所 有数据转换为同一种类型后再进行计算。
按数据表示范围从小到大进行以保证数值的精度。
例如int 和 long 参与运算时将 int 类型的数据转换成 long 类型后再进行运算。
所有的浮点运算都以 double 类型进行的即使运算中只有 f loat 类型也要先转换为 double 类型才能进行运算。
char 和 short 参与运算时自动转换成 int 类型。
注自动类型转换一般是将数据范围小的可以转换成数据范围大的但如果反着来就有可能出现数据丢失从而报错。
Ⅱ.强制转换
强制类型转换也称显示类型转换指的是两种类型之间通过显示声明进行转换。当两种 类型不兼容或者目标类型取值范围小于源类型时需要进行强制转换。
强制类型转换的格式为
类型名表达式
#include stdio.h
int main()
{
//定义 2 个整型变量 Sum、count 赋初值
int sum148; //总数
int count7; //数量
double average; //定义 1 个双字节变量 average,用于存放平均数
average(double)sum /count; //计算平均数后进行强制类型转换存入 average 中
printf(平均数为%lf\n,average); //输出平均数
return 0;
} 注类型转换是临时性的。无论是自动类型转换还是强制类型转换都只是为了本次运算而 进行的临时性转换转换结果保存到临时的内存空间不会改变数据本来的类型或者值
三.关系运算符与关系表达式
关系运算符用于对两个数值或变量进行比较判断结果是否符合给定条件结果为 “真”或“假”。
1.常见关系运算符 运算符 运算 范例 结果 等于 假 不等于 真 小于 假 大于 真 小于等于 假 大于等于 真
使用关系运算符时需要注意不能将运算符“”误写成赋值运算符“”。
关系表达式的值是一个布尔类型的逻辑值即“真”或“假”真用1代替假则用0代替
四.逻辑运算符与逻辑表达式
逻辑运算符对布尔型的数据进行操作其结果仍然布尔型数据。
1.常见逻辑运算符 运算符 运算 范例 结果 与 真真 真 真假 假 假真 假 假假 假 || 或 真||真 真 真||假 真 假||真 真 假||假 假 ! 非 !真 假 !假 真
注C 语言中的与操作又称短路与如果使用进行运算当左边为假时右边的表 达式不会进行运算因此得名短路与。同理如果使用||进行运算当左边为真时右边 的表达式不会进行运算因此得名短路或。
五.位运算符与位运算表达式
位运算符是针对二进制数的每一位进行运算的符号专门针对数字 0 和 1 进行操作的。
1.常见位运算符 运算符 运算 范例 结果 按位与 00 0 01 0 11 1 10 0 按位或 00 0 01 1 11 1 10 1 按位取反 0 1 1 0 按位异或 00 0 01 1 11 0 10 1 左移 右移
位运算符将将操作数的各个二进制位全部左移若干位左边移出的位丢失右边 补 0。
112 表示将 11 的各二进制位左移 2 位计算过程如下
解 0000000000001011 0000000000101100 运算结果为 0000000000101100对应数值为 44。 六.逗号运算符与逗号表达式最容易被忽略
在 C 语言中逗号“”也作为运算符使用它的功能为连接多个表达式构成一个表达 式含有“”的表达式称为逗号表达式。
逗号表达式的一般形式如下 表达式 1表达式 2表达式 3……
表达式 n 逗号表达式的值为依次求解所有表达式即上式中先求表达式 1再求表达式 2……最后求解到表达式 n。整个表达式的值为表达式 n 的值。
注意逗号运算符在所有运算符中优先级最低。在 C 语言代码中出现的逗号不一定就是逗号运算符。函数参数间的逗号和在定义 变量时的逗号都不是而是分隔符。使用逗号表达式一般不是要求最后表达式的值而 是想分别得到各个表达式的值。
七.条件运算符与条件表达式
条件运算符是 C 语言中唯一的三目运算符它的一般形式如下
表达式 1表达式 2表达式 3
具体过程为先计算表达式 1 的值若为真非 0则计算表达式 2整个表达式的值 为表达式 2 的值若表达式 1 的值为假0则计算表达式 3 的值整个表达式的值为表达 式 3 的值。
八.运算符的优先级和结合方向 优先级 运算符 结合方向 含义 使用形式 说明 1 (最高) ( ) 自左至右 圆括号运算符 (表达式) 或 函数名(参数表) [ ] 数组下标运算符 数组名[常量表达式] · 结构体成员运算符 结构体变量.成员名 - 指向结构体成员运算符 结构体指针变量-成员名 2 ! 自右至左 逻辑非运算符 !表达式 单目 运算 按位取反运算符 ~表达式 求正运算符 表达式 - 负号运算符 表达式 自增运算符 变量 或 变量 -- 自减运算符 --变量 或 变量-- (类型) 强制类型转换运算符 (数据类型)表达式 * 间接(取值)运算符 *指针变量 取地址运算符 变量 sizeof 求所占字节数运算符 sizeof(表达式)或sizeof(类型) 3 * 自左至右 乘法运算符 表达式1*表达式2 双目 运算 / 除法运算符 表达式1/表达式2 % 求余运算符 整型表达式1%整型表达式2 4 加法运算符 表达式1表达式2 减法运算符 表达式1表达式2 5 左移位运算符 变量表达式 右移位运算符 变量表达式 6 大于运算符 表达式1表达式2 大于等于运算符 表达式1表达式2 小于运算符 表达式1表达式2 小于等于运算符 表达式1表达式2 7 等于运算符 表达式1表达式2 ! 不等于运算符 表达式1!表达式2 8 自左至右 按位与运算符 表达式1表达式2 9 ^ 按位异或运算符 表达式1^表达式2 10 | 按位或运算符 表达式1|表达式2 11 逻辑与运算符 表达式1表达式2 12 || 逻辑或运算符 表达式1||表达式2 13 ?: 自右至左 条件运算符 表达式1?表达式2:表达式3 14 自右至左 赋值运算符 变量表达式 双目 运算 加后赋值运算符 变量表达式 - 减后赋值运算符 变量-表达式 * 乘后赋值运算符 变量*表达式 / 除后赋值运算符 变量/表达式 % 求余后赋值运算符 变量%表达式 按位与后赋值运算符 变量表达式 ^ 按位异或后赋值运算符 变量^表达式 | 按位或后赋值运算符 变量|表达式 左移后赋值运算符 变量表达式 右移后赋值运算符 变量表达式 15 (最低) , 自左至右 逗号运算符(从左向右顺序计算 各表达式的值) 表达式1,表达式2,…,表达式n ————由于博主还是大三的在读生时间有限每天会不定时更新一些学习经验和一些32的项目如果喜欢就点点关注吧大佬们————