C语言学习笔记:转义字符和运算符

本文不详细讲解全部运算符,只调出最容易踩坑和不好理解的部分作出分析

一、转义运算符
转义字符含义转义字符含义
\n换行\t水平制表
\v垂直制表\b退格
\r回车\f换页
\a响铃\\反斜线
\ ’单引号\ "双引号
\ddd3位8进制代表的字符\xhh2位16进制代表的字符
下面用人话解释一下\v \t。
  • “制表位位置”的英文解释:tab stop position
  • \t 说白了就是相当于按一下键盘Tab键
  • \v的意思是下面字符从下一行开始输出,且开始的列数为“\v”前一个字符所在列后面一列
    如printf(“12\v34”)
  • 对制表符感兴趣的朋友可以看一下下面这个博客
    链接:制表符
“\ddd” “\xhh”

反斜线后面接的是ASCII码值。比如printf("\101");和printf("\x41");打印的结果都是大写字母A


二、运算符
1.基本算术运算符中的“%”和“\”
%除法运算符双目运算符结合方向:自左向右两侧必须是整形数据
\求余(取模)运算符双目运算符结合方向:自左向右两侧数据类型无要求
  • “%”运算后的结果的正负由左侧的数确定,如:
    7%2=1;
    -7%2=-1;
    7%-2=1;
    -7%-2=1;
  • “/”
    两整数相除,结果为整数。如:
    7/2=3;
    7/2.0=3.5;
2.移位运算符

位运算符在嵌入式编程(对寄存器的写值上,不接触嵌入式的请自行忽略)中有极其重要的作用,可以参考这篇博客:
链接:位运算在寄存器中应用

赋值运算符

只强调一点:结合方向为自右向左,比如:
a+=a*=a-=3等价于
a=a+(a=a*(a=a-3))

逻辑运算符&& || !
  1. C语言中0为假,非0为真
    然后直接上代码:
/*
*brief:C语言逻辑运算
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i=0,j=2,k=3,a=0;
    printf("i=%d,j=%d,k=%d\n",i,j,k);
    //逻辑非部分
    printf("!i=%d,!j=%d\n",!i,!j);
    //逻辑与部分
    printf("i&&j=%d,j&&k=%d\n",i&&j,j&&k);      //都是真则为真,否则为假
    //逻辑与部分
    printf("i||j=%d,j||k=%d,i||a=%d\n",i||j,j||k,i||a);      //只要有一个为真则为真,全假时才为假
    return 0;
}

运行结果:
在这里插入图片描述2.逻辑运算具有短路性质:
运算按照从左到右的顺序,一旦能够确定逻辑表达式的值,就立即结束运算

/*
*brief:逻辑运算的短路性质
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i=0,j=2,k=3;
    int b=1,c=9;
    if(i&&j&&k)b=5;     //a为0,直接判断为假,编译器不会再向下判断
    if(j||k||i)c=6;     //j=1,直接判断为真,编译器不会向下进行判断
    printf("b=%d,c=%d",b,c);
}


输出结果:
在这里插入图片描述

PS:如果文章有错误,欢迎在评论区指正

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值