C语言-逃逸字符

逃逸字符是用来表达无法印出来的控制字符或者特殊字符,它由一个反斜杠“\”开头,后面跟上另一个字符,这两个字符合起来,组成一个字符。



\b是backspace,在sublime中显示为BS,如果后面不输入的,它就什么结果都没有,如果输入的话会覆盖回退前的那个字符。所以\b是回去但不删除,它由的终端可能是删除。

#include <stdio.h>
int main()
{
printf("123\b\n456");
return 0;
}
//结果:123
//456
//换成printf("123\bA\n456");
//结果:12A
//456

\t:使得输出从下一个制表符开始,这样使得上下两行对齐。



回车和换行来源于古老的打印机,打字从一侧打到另一侧用手推回原位叫回车,然后再换行。注意:平时我们只打/n就换行了,是因为shell一般会将其翻译为回车换行

C语言-类型转换

自动类型转换

当运算符的两侧出现不一致的类型时,会自动转换成较大(或较宽)的类型,大的意思是说能表达的数的范围更大。

  • char->short->int->long->long long

  • int->float->double

  • 对于printf,任何小于int的类型都会被转换成int;float会被转换成double,这也是为什么在printf时直接使用%f就足以输出double,不用%lf的原因,但是scanf不会,要输入short,它要明确知道后面变量的大小,需要%hd。

强制类型转换

  • 要把一个量强制转换成另一个类型(通常是较小的类型),需要,(类型)值。比如:(int)10.2;(short)32。但注意这时候的安全性,小的变量不总能表达大的变量。例如short(32768),short最多只能表达32767,所以此时的结果就是-32768,char(32768)的结果是0,因为32768是15个bit的0,第16是1,对于char来说取最低的那8个bit就只能看到0。
  • 强制转换只是从那个变量计算出了一个新的变量类型的值,它并不改变那个变量,无论是值还是类型都不改变。
  • 强制类型转换的优先级高于四则运算。

C语言-布尔类型

  • include <stdbool.h> ,之后就可以使用bool和true、false

  • 实际上没有真正的布尔类型,它还是整数,因此在输入输出的时候,并没有特殊的形式输入输出布尔量,只能把它输出一个整数。

C语言-逃逸字符、类型转换和布尔类型的更多相关文章

  1. ECMAScript1.1 js书写位置 | 声明变量 | 基本数据类型 | 数据类型转换 | 操作符 | 布尔类型的隐式转换

    js书写位置 由于在写css样式时使用的时双引号,所以我们在写js代码时建议使用单引号(‘’)! 行内式 <input type="button" value="点 ...

  2. javascript下将字符类型转换成布尔值

    办不到!孙子,我告诉你,这办不到! 比如说, var sb = "false"; alert(!!sb);//结果显示true! 事前是想得很美的: sb == "fal ...

  3. go语言 类型:布尔类型

    Go语言中的布尔类型与其他语言基本一致,关键字也为bool,可赋值为预定义的true和false示例代码如下: var v1 bool v1 = true v2 := (1 == 2) // v2也会 ...

  4. C语言的 (强制类型转换) 以及 '字符字面值'

    C语言的显式/隐式类型转换,都有一个中间变量的存在,原数据的类型.内容都不变. 以下代码,都用GCC编译. #include<stdio.h> int main() { char c = ...

  5. 【C语言】中的布尔类型

    C语言中的布尔类型 一.相关基础知识 首先bool  true  false为C++中的关键字,C语言中默认不支持这几个字符! 二.具体内容 在C89 (ANSI C)标准中没有定义与布尔类型相关的内 ...

  6. 《你必须知道的495个C语言问题》读书笔记之第8-10章:字符串、布尔类型和预处理器

    一.字符和字符串 1. Q:为什么strcat(string, '!')不行? A:strcat()用于拼接字符串,所以应该写成strcat(string, "!")." ...

  7. C语言的布尔类型(_Bool)

    也许很多人都和我一样,不知道现在的C语言已经有了布尔型:从C99标准开始,类型名字为"_Bool". 在此之前的C语言中,使用整型int来表示真假.在输入时:使用非零值表示真:零值 ...

  8. Number 强制类型转换 int 强制转换整型 float 强制转换浮点型 complex 强制转换成复数 bool 强制转换成布尔类型,结果只有两种,要么True 要么 False """bool 可以转换所有的数据类型 everything"""

    # ###Number 强制类型转换 var1 = 5 var2 = 4.85 var3 = True var3_2 = False var4 = 3+9j var5 = "888777&q ...

  9. 简单易懂的程序语言入门小册子(3):基于文本替换的解释器,let表达式,布尔类型,if表达式

    let表达式 let表达式用来声明一个变量. 比如我们正在写一个模拟掷骰子游戏的程序. 一个骰子有6个面. 所以这个程序多次用到了6这个数字. 有一天,我们忽然改变主意,要玩12个面的骰子. 于是我们 ...

随机推荐

  1. 5.6 Nginx Rewrite模块配置

  2. C# 创建Windows Service(Windows服务)程序

    本文介绍了如何用C#创建.安装.启动.监控.卸载简单的Windows Service 的内容步骤和注意事项. 一.创建一个Windows Service 1)创建Windows Service项目 2 ...

  3. 三 保存客户&分页查询&Spring解决延迟加载问题

    保存客户 Struts2通过模型驱动拿到封装对象,调用业务层将对象传递到持久层,持久层调用Hibernate模版将对象持久化到数据库. 持久层代码实现: 分页查询: 创建PageBean实体类,里面有 ...

  4. 51nod 1433:0和5

    1433 0和5 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  取消关注 小K手中有n张牌,每张牌上有一个一位数的数, ...

  5. R 《回归分析与线性统计模型》page164 单变量、多变量多项式模型

    --多项式回归模型 --单变量多项式模型 --多变量多项式模型 rm(list = ls()) library(openxlsx) library(leaps) #单变量多项式模型# data = r ...

  6. 在命令提示符中运行install adb 包名.apk文件 遇到的问题

    昨天更新了SDK以后遇到一个奇怪的问题,使用eclipse直接运行程序到手机没有问题,但是如果将程序打包之后在命令提示符中执行adb install 包名.apk 就会报错:adb server is ...

  7. Java提升三:函数式接口

    1. 定义 函数式接口即是有且仅有一个抽象方法的接口. 注意: (1)函数式接口只对于抽象方法有要求,对于接口中的默认方法,静态方法,私有方法数量并不作特殊要求. (2)既然函数式接口定义了抽象方法, ...

  8. 015.CI4框架CodeIgniter数据库操作之:Query带参数查询数

    01.我们在Models中写数据库的操作.具体的查询代码如下: <?php namespace App\Models\System; use CodeIgniter\Model; class U ...

  9. java注解——内置注解和四种元注解

    java内置注解: @Override(重写方法):被用于标注方法,用于说明所标注的方法是重写父类的方法 @Deprecated(过时方法):用于说明所标注元素,因存在安全问题或有更好选择而不鼓励使用 ...

  10. 六、Vue-Router:基础路由处理、路由提取成单独文件、路由嵌套、路由传参数、路由高亮、html5的history使用

    一.vue-router的安装 官网文档 [官网]:https://cn.vuejs.org/v2/guide/routing.html [router文档]:https://router.vuejs ...