转换说明 & 转义字符

一、格式化规定符

  1. %d %i —— 带符号的十进制形式整数(int)
  2. %u —— 无符号的十进制形式整数 (unsigned)
  3. %f —— 小数点形式的单精度实数,浮点数,十进制记数法(默认小数点后6位) (float)
  4. %lf —— 小数点形式的双精度实数,浮点数,十进制记数法(默认小数点后6位) (double)
  5. %e %E —— 标准指数形式的单、双精度实数,浮点数,e记数法
  6. %o —— 无符号的八进制形式整数
  7. %x %X —— 无符号的十六进制形式整数
  8. %c —— 字符 (char)
  9. %s —— 字符串 (char[ ])
  10. %p —— 指针(地址) (*p)
  11. %g —— 选用宽度较小的格式输出实数,自动选择合适的表示方法
  12. %% —— 打印 %
  1. 格式化规定符一定要与对应的数据类型或数据匹配,如%d不能对应小数或字符,%u不能对应负数,%c不能对应字符串等等,如果匹配出现错误,可能会导致数据部分丢失或出现垃圾数,从而得不到想要的结果。
  2. printf(“%s”,q); —— 控制符%s可以从q指向的那个字符开始,一个接一个地把字符打印到屏幕上,直到碰到’\0’为止,且不输出’\0’“。
  • #include <stdio.h>
    int main( void )
    	int a = 74;
    	printf("%d  ",2);
    	printf("%d  ",-5);
    	printf("%d  ",a);
    	printf("\n");
    	int b = -23;
    	printf("%i  ",232);
    	printf("%i  ",-56);
    	printf("%i  ",b);
    	printf("\n");
    	unsigned c = 231;
    	printf("%u  ",21);
    	printf("%u  ",34);
    	printf("%u  ",c);
    	printf("\n");
    	float d = -66.78;
    	printf("%f  ",21.23);
    	printf("%f  ",-34.00);
    	printf("%f  ",d);
    	printf("\n");
    	//%lf
    	double e = -66.78;
    	printf("%lf  ",21.23);
    	printf("%lf  ",-34.00);
    	printf("%lf  ",e);
    	printf("\n");	
    	//%e %E	
    	double f = -352923.4;
    	float g = 34.672;
    	printf("%e  ",212.31);
    	printf("%E  ",-34121.00);
    	printf("%e  ",f);
    	printf("%E  ",g);
    	printf("\n");
    	int h = 742;
    	printf("%o  ",0);
    	printf("%o  ",1235);
    	printf("%o  ",h);
    	printf("\n");
    	//%x %X
    	int i = 3529;
    	int j = 34275;
    	printf("%x  ",211);
    	printf("%X  ",9312);
    	printf("%x  ",i);
    	printf("%X  ",j);
    	printf("\n");
    	char k = 'a';
    	printf("%c  ",'s');
    	printf("%c  ",k);
    	char m[] = "Thanks";
    	printf("%s  ","Tom");
    	printf("%s  ","hello");
    	printf("%s  ",m);
    	printf("\n");
    	int* n;
    	n = &a;
    	printf("%p  ",&a);
    	printf("%p  ",n);
    	printf("\n");
    	double o = 5634.96;
    	float p = 6.234;
    	printf("%g  ",13131.63523);
    	printf("%g  ",o);
    	printf("%g  ",p);
    	printf("\n");
    	printf("%%");
    

    二、转义字符

    \a —— C90新增的警报字符\a是否能产生听到或看到的警报,取决于计算机的硬件,蜂鸣是最常见的警报。(在一些系统中,警报字符不起作用)

    \b —— 将光标退回一格

    \f —— 将光标移至下一页开始处

    \n —— 将光标移至下一行开始处

    \r —— 将光标移至当前行开始处

    \t —— 补全当前字符串长度到8的整数倍(跳到下一个tab的位置),最少1个最多8个空格,补多少看\t前字符串长度。(当前字符串长度10,那么\t后长度是16,也就是补6个空格;当前字符串长度12,此时\t后长度是16,补4个空格)

    \v —— 后面的字符从下一行开始输出,且开始的列数为“\v”前一个字符所在列后面一列

    \\ —— 打印一个反斜杠\(不是注释)

    \' —— 打印一个单引号

    \” —— 打印一个双引号

    \? —— 打印一个问号

    \0oo —— 用八进制ASCII码表示一个字符

    \xhh —— 用十六进制ASCII码表示一个字符

    转义字符定义: 转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。 ASCII码值(十进制) 响铃(BEL) 退格(BS)
    所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。 转义有两层含义,一层是把普通字符转化为特殊字符,例如’\t’;另一种是将特殊字符转化为普通字符,例如’\’。 转义字符可以分为三类,第一类是普通转义字符,第二类是八进制转义字符,第三类是十六进制转义字符。 普通转义字符 1.转义字符 (1)C语言中一般用 \ 字符表示转义,后边紧跟者的为要转义的字符。 (2)C语言中定义了一些字母前加 \ 来表示一些不能显示的ASCII字符,所有的ASCII码都可以用 \ 加数字来表示。 2.转移字符及其含义
    欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
  •