C语言运算符优先级及表格&ASCII码表&转义字符&运算符操作及示例代码

一、运算符优先级

百度百科链接:

https://baike.baidu.com/item/C%E8%AF%AD%E8%A8%80%E8%BF%90%E7%AE%97%E7%AC%A6/1539281?fr=aladdin

优先级等级口诀

圆方括号、箭头一句号, 自增自减非反负、针强地址长度,

乘除,加减,再移位,

小等大等、等等不等,

八位与,七位异,六位或,五与,四或,三疑,二赋,一真逗。

其中“,”号为一个等级分段。

C语言运算符以及优先级:

 https://www.runoob.com/cprogramming/c-operators.html

C语言中的运算符

二、ASCII码表:

ASCII

ASCII码表完整版:

https://wenku.baidu.com/view/758a176a1eb91a37f1115ccb.html

三、ASCII转义字符

转义字符

所有的转义字符和所对应的意义:

转义字符

意义

ASCII码值(十进制)

\a

响铃(BEL)

007

\b

退格(BS) ,将当前位置移到前一列

008

\f

换页(FF),将当前位置移到下页开头

012

\n

换行(LF) ,将当前位置移到下一行开头

010

\r

回车(CR) ,将当前位置移到本行开头

013

\t

水平制表(HT) (跳到下一个TAB位置)

009

\v

垂直制表(VT)

011

\\

代表一个反斜线字符''\'

092

\'

代表一个单引号(撇号)字符

039

\"

代表一个双引号字符

034

\?代表一个问号063

\0

空字符(NUL)

000

\ddd

1到3位八进制数所代表的任意字符

三位八进制

\xhh

十六进制所代表的任意字符

十六进制

注意:

1. 区分,斜杠:"/" 与 反斜杠:"\" ,此处不可互换

2. \xhh 十六进制转义不限制字符个数 '\x000000000000F' == '\xF'

四、运算符操作及示例代码

1、算数运算符:+ - * / %

(1)、/ :两个实数相除的结果为双精度实数,两个整数相除的结果为整数(一般向0取整)

示例代码:

四舍五入到个位

 #include<stdio.h>
 int main()
 {
     float n = 1.525f;                   //float n = 1.425f;
     printf("%d", (int)(n * 10 + 5)/10); //四舍五入到个位  输出为 2
     return 0;
 }

 四舍五入到小数点后两位:

#include<stdio.h>
 int main()
 {
     float n = 1.525f;
     printf("%f", (int)(n*100+0.5)/100.0);   //四舍五入到小数点后两位
     return 0;
 }

库函数可以实现四舍五入:

<stdio.h>里面有个 round() 函数 将浮点值舍入为最接近的整数。

#include<stdio.h>
 #include<math.h>
 int main()
 {
     float n = 1.525f;
     printf("%f", round(n));      //输出为 2.000000
     return 0;
 }

 (2)、求余运算符  只能两个整数求余

 利用求余得到整数的各个位数:水仙花数算法

 #include<stdio.h>
 int main()
 {
     int i,n,m,l;
     for(i=100;i<=999;i++)
     {
         n=i/100;    //百位数
         m=i%100/10; //十位数
         l=i%10;     //个位数
         if(i==n*n*n+m*m*m+l*l*l)    //判断水仙花数
         {
             printf("%d\t",i);
         }
     }
     printf("\n");
     return 0;
 }

 2、关系运算符和逻辑运算符

关系运算符和逻辑运算符主要用在分支和循环里面作为条件判断真假!

关系运算符: <  > <= >= == !=

逻辑运算符: && || !

3、位运算符(二进制运算符)

按位与&

按位或 |

按位与或 ^

按位取反 ~

左移 <<

右移 >>

异或 ^ :

特点:对于同一个数字异或两次会得到它本身

#include<stdio.h>
int main()
{
	if (14 ^ 87 ^ 87 == 14) {
		printf("True\n");
	}
	else {
		printf("False\n");
	}
	 
	return 0;
}

运行结果:

用法:加密用!

z=x^y 对x进行加密
a=z^y 对z进行解密

交换两个变量的值:

//利用临时变量交换
     int temp;
     temp=x;
     x=y;
     y=temp;
     //利用异或
     x=x^y;
     y=x^y;
     x=x^y;
     //用加减法
     x=x+y;   //对于x和y比较大的时候  x+y可能超过int范围
     y=x-y;
     x=x-y;  

4、条件(三目)运算符

条件 ? 表达式1 : 表达式2

     //求两个数的最大值
     max=a>b?a:b;

 其他运算符:

()运算符

++ 自增 -- 自减

1、前++  :先计算,后自增

2、后++ :先自增,后计算

 & 取变量地址

sizeof 计算变量/类型的大小

[] 下标运算符

. 点运算

-> 箭头运算符

*指针运算符

() 函数

{}语句

 

优先级

优先级等级口诀

圆方括号、箭头一句号, 自增自减非反负、针强地址长度,

乘除,加减,再移位,

小等大等、等等不等,

八位与,七位异,六位或,五与,四或,三疑,二赋,一真逗。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值