初识C语言(3)转义字符和操作符

目录

前言

本节提要

一、转义字符

1.什么是转义字符

2.常见的转义字符

二、操作符

1.组成

2.常用操作符

三、推荐练习

四、下节预告


本节提要

一、转义字符

1.什么是转义字符

2.常见的转义字符

二、操作符

1.组成

2.常用操作符

三、推荐练习

四、下节预告


前言

先说一下为什么本人鸽了这么久没更新,一方面是去年期末时比较忙,没有时间更新,再之后是本人太懒了,或者说专心摸鱼中(笑)

本系列的意义在于两点,一则是作为本人(一个编程初学者)的学习笔记记录,二则希望能对后来者提供一些帮助,因为本人也为新手,难免有些错误或讲述不清之处,恳请大家指出或提出建议,本人也会虚心修改。

本系列的目标是帮助一个编程初学者快速拥有简单的编程能力,能够自主完成洛谷入门级和部分普及级题目。


本节提要

本节我将向各位介绍转义字符是什么,常见的转义字符有哪些?以及操作符是什么?常用的操作符有哪些?内容量较前两节较多,但也还算适量,并且这些都是C语言的基础,灰常简单


一、转义字符

1.什么是转义字符

首先我们先看看百度是怎么解释的?

 官方的解释往往都不太好理解,让我们翻译成口语看看,转义字符就是将将原本的字符加上“\”,使它的作用(意义)与原本不同,从而形成的新的字符。

但是我们不用关注这些,我们主要看看有哪些字符被“转义了”,它们的新意义是什么。

2.常见的转义字符

  1. \?: 在有些国家的键盘无法输入一些字符,为此使用三字符系列转义字符,\?就是用于避免编译器将???三字符系列转义字符(也就是让?能正常输出)
  2. \a:警告字符,用于发出蜂鸣警告
  3. \r:表示回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖(光标在该行的头部)
  4. \':用于表示'
  5. \b:退格符,将光标退回前一个字符,但不会删除光标位置的字符,如果后边有新的字符,将覆盖退回的那个字符
  6. \t:水平制表符,将光标后移一个tab(即输出8个空格)
  7. \":用于表示"
  8. \f:进纸符,即换页
  9. \v:垂直制表符,使其后方的字符从下一行开始输出,且开始的列数为“\v”前一个字符所在列的后面一列
  10. \\:用于表示\\,防止其和其他字符被理解为转义字符,比如我们想输出"\a",但直接printf("\a");会被理解为发出蜂鸣警告,所以应该写为printf("\\a");
  11. \n:换行,使其后方的字符从下一行开始输出(顶格)

二、操作符

1.组成

操作符(运算符)是说明特定操作的符号  ,它是构造C语言表达式的工具

2.常用操作符

1.算术操作符

  1. +   :用于将两个数相加
  2. -   :用于将两个数减
  3. *   :用于将两个数相乘
  4. /   :用于将两个数相除(如果操作数都是整形,会自动向下取整)
  5. %  :用于将两个数取余(数)

这里我们只着重说明一下%。首先,%只能用于两个整形间取余数(毕竟如果可以用小数表示,那么就不会出现余数嘛);其次这里的取余与数学上的取余存在一定的差别,数学上的取余取出的数一定是正数,但在C语言中对负数取余得到的就是负数,所以如果我们想要对负数取余得到正确的结果,那么我们应该这样写:(n%m+m)%m(这里假设负数n对m取余)。这将会在之后写算法题时常常用到

2.移位操作符

  1. >> : 左移操作符,将作用数的二进制左移一位,缺位补0(可以达到*2的效果)
  2. << :右移操作符,将作用数的二进制右移一位(可以达到/2的效果)、

 下面我们以<<举个例子

为什么呢?

 

3.位操作符

  1. & :按位与,对两个操作数的二进制进行与(两个操作数对应位同1才1,有0得0)
  2. | :按位或,对两个操作数的二进制进行或(两个操作数对应位有1得1,同0才0)
  3. ^ :按位异或,对两个操作数的二进制进行异或(两个操作数对应位相同得1,不同得0)

下面举几个例子(我已经尽量对齐了,要怪就怪CSDN吧)

若有 a   0000 0000 0000 0000 0000 0000 0000 1010

        b   0000 0000 0000 0000 0000 0000 0000 0010
a&b =   0000 0000 0000 0000 0000 0000 0000 0010

a|b  =   0000 0000 0000 0000 0000 0000 0000 1010

a^b =   1111  1111  1111  1111  1111  1111  1111 0111

4.赋值操作符

  1. =  :将后操作数的值赋给前操作数,如:a=b就是把b的值赋给a(令a等于b)
  2.  += :如a+=b,等价于a=a+b
  3. -= :如a-=b,等价于a=a-b
  4. *= :如a*=b,等价于a=a*b
  5. /= :如a/=b,等价于a=a/b
  6. %= :如a%=b,等价于a=a%b
  7. >>= :如a>>=b,等价于a=a>>b
  8. <<= :如a<<=b,等价于a=a<<b
  9. &= :如a&=b,等价于a=a&b
  10. |= :如a|=b,等价于a=a|b
  11. ^= :如a^=b,等价于a=a^b

5.单目操作符

  1.  !  :逻辑反操作(将真变为假,将假变为1)
  2.   -  :负值
  3.   +  :正值
    int a = 10;    //正值
    int b = -10;   //负值

  4. sizeof  :求操作数的类型长度(单位:字节)
  5.   ~   :对一个数的二进制按位取反
  6.  --    :前置、后置--
  7. ++  :前置、后置++
     int a = 5; int b = a++; //此时a=6,b=5 前置++:先使用,后++ 
    int c = ++a; //此时a=6,c=6 后置++:先++,后使用
  8.   &  :取地址
  9.  *   : 解引用操作符
    int a = 10;
    int *pa = &a;
    *pa = 20;    //解引用

  10.  (类型)  :强制类型转换(将一种类型临时转为另一种类型)
    double a;
    int b=(int)a;//将double转化为int

6.关系操作符

  1. >  :“大于”
  2.  <  :测试“小于”
  3. >=  :测试“大于等于”
  4. <=  :测试“小于等于”
  5. !=  :测试“不等于”
  6.  ==  :测试“等于”

注意:=在C语言中是将后操作数的值赋给前操作数,等于是==,这是新手常犯的错误!!!

7.逻辑操作符

  1. &&  :逻辑与操作(只要有一个表达式为假便为假,不再执行后面的表达式)
  2.  ||   :逻辑或操作(只要有一个表达式为真便为真,不再执行后面的表达式)

注意:这两种操作符在之后会非常经常用到,一定要会!!!

8.条件操作符(三目操作符)

  1. exp1 ? exp2 : exp3   若表达式1(exp1)为真则返回表达式2(exp2),否则返回表达式3(exp3)
    int a = 5;
    int b = 9;
    int max = (a>b) ? a : b;//max最终等于9
    //解释:语句的意思是如果a>b,则max = a;否则max = b,而a是小于b的

9.逗号表达式

  1. exp1, exp2, exp3, ..., expN   用逗号隔开的表达式,从左往右依次执行。整个表达式的结果为最后一个表达式的结果。
    int a = 1, b = 2;
    int c = (a>b,a=b+10,a,a+1);    //结果为13

10.下标引用,函数调用和结构体成员

  1. [] :下标引用操作符,有两个操作数(数组名和索引值)
  2. () :  函数调用操作符,有一个或多个操作数(函数名和参数)
  3. . :  结构体对象.成员名
  4. -> : 结构体指针->成员名

此部分涉及指针(C语言最难的部分),故而不再细解,如果之后我们讲到指针,可能会进行解说


三、推荐练习


无,今天的量已经很多了,并且本章内容也不适合做题,所以大家请以复习和记忆为主,是不是很开心?


四、下节预告

下一节中,我将会向大家介绍本节中提到的C语言中的几种常见的关键字。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值