C语言-逃逸字符、类型转换和布尔类型
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语言-逃逸字符、类型转换和布尔类型的更多相关文章
- ECMAScript1.1 js书写位置 | 声明变量 | 基本数据类型 | 数据类型转换 | 操作符 | 布尔类型的隐式转换
js书写位置 由于在写css样式时使用的时双引号,所以我们在写js代码时建议使用单引号(‘’)! 行内式 <input type="button" value="点 ...
- javascript下将字符类型转换成布尔值
办不到!孙子,我告诉你,这办不到! 比如说, var sb = "false"; alert(!!sb);//结果显示true! 事前是想得很美的: sb == "fal ...
- go语言 类型:布尔类型
Go语言中的布尔类型与其他语言基本一致,关键字也为bool,可赋值为预定义的true和false示例代码如下: var v1 bool v1 = true v2 := (1 == 2) // v2也会 ...
- C语言的 (强制类型转换) 以及 '字符字面值'
C语言的显式/隐式类型转换,都有一个中间变量的存在,原数据的类型.内容都不变. 以下代码,都用GCC编译. #include<stdio.h> int main() { char c = ...
- 【C语言】中的布尔类型
C语言中的布尔类型 一.相关基础知识 首先bool true false为C++中的关键字,C语言中默认不支持这几个字符! 二.具体内容 在C89 (ANSI C)标准中没有定义与布尔类型相关的内 ...
- 《你必须知道的495个C语言问题》读书笔记之第8-10章:字符串、布尔类型和预处理器
一.字符和字符串 1. Q:为什么strcat(string, '!')不行? A:strcat()用于拼接字符串,所以应该写成strcat(string, "!")." ...
- C语言的布尔类型(_Bool)
也许很多人都和我一样,不知道现在的C语言已经有了布尔型:从C99标准开始,类型名字为"_Bool". 在此之前的C语言中,使用整型int来表示真假.在输入时:使用非零值表示真:零值 ...
- 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 ...
- 简单易懂的程序语言入门小册子(3):基于文本替换的解释器,let表达式,布尔类型,if表达式
let表达式 let表达式用来声明一个变量. 比如我们正在写一个模拟掷骰子游戏的程序. 一个骰子有6个面. 所以这个程序多次用到了6这个数字. 有一天,我们忽然改变主意,要玩12个面的骰子. 于是我们 ...
随机推荐
- 安装oracle客户端后,怎样设置电脑的环境变量?
安装配置参考: http://www.haodaima.net/art/2854001 设置环境变量(修改PATH和TNS_ADMIN环境变量): 对于NLS_LANG环境变量, 最好设置成和数据库端 ...
- Python 动态从文件中导入类或函数的方法
假设模块文件名是data_used_to_test.py,放在tests文件夹下 文件夹结构如下: project |-tests |-data_used_to_test.py 文件内包含一个test ...
- 如果shell到win上出现乱码怎么办
如果shell到win上出现这样的乱码怎么办? 如果出现了乱码,不慌一条命令搞定它!!! chcp 65001
- RIOT笔记
RIOT笔记 2016-04-25 [资源] 维基 https://github.com/RIOT-OS/RIOT/wiki 代码 https://github.com/RIOT-OS/RIOT 网页 ...
- Linux-hosts
Linux-hosts hosts文件 /etc/hosts OS hosts (path) 使其生效,命令行执行 Windows (C:\Windows\System32\drivers\etc\h ...
- SpringBoot---条件(th:if)
Thymeleaf 的条件判断是 通过 th:if 来做的,只有为真的时候,才会显示当前元素 <p th:if="${testBoolean}" >如果testBool ...
- 028、Java中的关系运算符
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- jmeter非GUI模式命令
一.如果没有.jtl文件,运行如下命令: jmeter -n -t baidu.jmx -l result.jtl 以非GUI形式运行Jmeter脚本jmeter -n -t baidu.jmx -l ...
- (三)微信小程序配置
小程序官方文档 全局配置
- NO12 useradd-passwd-uname-hostname命令-上传rz下载sz-批量部署- Linux用户相关操作
24 useradd #添加用户 语法:useradd 用户名 例子:ueradd oldboy .25 passwd #为用户设置或修改 ...