1、C语言中,非零值为真,真用1表示;零值为假,假用0表示。

2、转义字符参考:

\a

蜂鸣,响铃

\b

回退:向后退一格

\f

换页

\n

换行

\r

回车,光标到本行行首

\t

水平制表

\v

垂直制表

\\

反斜杠

\'

单引号

\"

双引号

\?

问号

\ddd

三位八进制

\0

空字符(NULL),什么都不做

\xhh

二位十六进制

说明:

1)\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。

2),\n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。

注:

文本文件的行结束符,传统上(MS)PC用 CRLF,苹果Mac用CR,unix 用 LF。

CR -- 回车符,c语言'\r'

LF -- 换行符, c语言'\n'

不同计算机上c语言统一规定为:文本文件的行结束符一律变成一个符号LF,也就是换行符'\n'。“回车和换行符转换成一个换行符”,对PC(MS OS)而言,文本文件行结束符CRLF读入后,丢掉CR,留LF。例如fgets() 读入一行,行尾只有LF,没有CR。

3)\t光标向前移动四格或八格,可以在编译器里设置

4)\'在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用 '即可。

3、格式化输入输出

1)格式化输入

printf("格式串" [,表达式1,表达式2,···]);

其中,格式串的字符有两类:

① 以%开头引导的格式符,用于控制表达式的输出格式(有多少个表达式,就有多少个格式符);

② 非格式符:原样显示在屏幕上。

(1)字符串常量的输出

无表达式,格式串中无格式符,如:

printf("We are students.\n"); 

(2)格式符的语法

syntax: %[flag][width][.precision][h|l|L]type

a)[h|l|L]type

type字段采用一个英文字母来表达数据类型与格式:

d

按十进制有符号整数形式输出

i

按十进制有符号整数形式输出(同d格式)

u

按十进制无符号数形式输出

o

按八进制无符号数形式输出

x

按十六进制无符号数形式输出,输出时使用小写字母 (a, b, c, d, e, f)

X

按十六进制无符号数形式输出,输出时使用大写字母(A, B, C, D, E, F)

f

按十进制小数形式输出浮点数,输出格式为:[-]ddd.dddddd(默认输出6位小数)

e

按十进制指数形式输出浮点数,输出格式为:[-]d.dddde[+/-]ddd,(e后面是指数)

E

按十进制指数形式输出浮点数,输出格式为:[-]d.ddddE[+/-]ddd,(E后面是指数)。

用e和E格式输出浮点数时,输出的是科学记数法形式,即小数点前面的整数部分固定为1位整数

g

按十进制形式输出浮点数,自动选择f或e格式中,输出长度小的格式输出;g格式不输出无用的0。

G

按十进制形式输出浮点数,自动选择f或E格式中,输出长度小的格式输出;G格式不输出无用的0。

c

输出单个字符

s

输出字符串

p

输出void指针,输出格式是:WIN32编程模式,只有XXXXXXXX一种格式

%

输出字符%(%用于引导格式控制符,在格式串中输出%号时,必须采用格式%%)

前缀修饰符:

L: 输出long double类型表达式必加

l: 输出长整型表达式必加

h: 输出短整型表达式必加

b)[width]

width字段用来指定输出的数据项占用的字符列数,也称为输出域宽。缺省该字段,输出宽度按数据的实际位数输出;如果指定的输出宽度小于数据的实际位数,则突破域宽的限制,按实际位数输出;如果指定的域宽大于数据的实际位数,则默认在输出数据的左边输出空格,使输出的字符数等于列宽,也就是说,输出的数据在输出域中自动向右对齐。

width有以下三种情况:

n

一个非负整型常数,指定输出占用n列宽度。

0n

n为一个整型常数,输出占用n列,如果实际位数不足n列,数据前面补0,填满n列

*

输出域宽来自待输出表达式前面的一个整型表达式。

printf("%*d", 8+1, -3);

c)[.precesion]

有以下4种情况:

缺省

对于f |e|E格式,表示小数点后输出6位小数,对于g |G格式,表示最多输出6位有效数字

.m

m为非负整型常数,对于浮点格式,指定小数点后面输出m位小数; s格式,表示只输出字符串的前面m个字符

.0

对于f |e|E格式,表示不输出小数点和小数,按整数形式输出

.*

表示precision来自待输出表达式前面的一个整型表达式

示例

#include "iostream"
#include "stdio.h"
using namespace std;
  
int main()
{
    double a=12.578,b=0.2572;
    int n=9,m=4;
    printf("%.2f,%10.2E,%f,%e,%10g",a,a,a,a,a);
    printf("\n");
    printf("a=%.0f,a=%*.*f",a,n,m,a);
    printf("\n");
    printf("%.2f%%",b*100);
    printf("\n");
    printf("%s%6s%6.3s","ABCD", "ABCD", "ABCD");
    return 1;
}

注意,输出中任何一个字符都算作一位。

d)[flag]

缺省

输出正数时不输出正号;域宽大于数据实际位数时,域中左边补空格,数据靠右对齐;

+

输出正数时要输出正号;

-

域宽大于数据实际位数时,域中右边补空格,数据靠左对齐。

#

用于x |X格式:输出0x(格式x)或0X(格式X)。

1、格式化输入函数scanf

用法: scanf("格式串" ,地址1,地址2,···);

1)格式符

syntax: %[*][width][h|l|L]type

(1) [h|l|L]type

d

以十进制有符号整数形式转换输入数据

i

以十进制有符号整数形式转换输入数据(同d格式)

u

以十进制无符号整数形式转换输入数据

o

以八进制有符号整数形式转换输入数据

x |X

以十六进制有符号整数形式转换输入数据(x和X等效)

e|E|f|g|G

以十进制浮点数形式转换输入数据,输入数据时,可以输入整型常量、小数形式实型常量或指数形式实型常量。

c

输入一个字符(可输入控制字符)

s

输入字符串(遇到第一个空格、TAB或换行符结束转换)

前缀修饰符:

L: 输入long double类型变量必加

l: 输入长整型变量或者double型变量必加

h: 输入短整型变量必加

(2) [width]

width字段用来指定输入数据的转换宽度,它必须是一个十进制非负整型常量。width表示读入多少个字符就结束本数据项的转换。如果没有指定width,则遇到空格 、TAB键、回车/换行符、非法输入则结束数据项的转换(%c格式除外)。

float a;int b;double c;

scanf("%f%3x%lf",&a,&b,&c);

若输入为:-1.5A8059¿

则a=-1.5, b=0xA80, c=59.0

(3) [*]号

表示数据输入项要按指定格式进行转换,但不保存变量,即该%没有对应的变量。

一般用%*c来吸收字符。

2、几点说明:

编译程序只是检查printf 函数的调用形式,不分析格式控制字符串,如果格式字符与输出项的类型不匹配,不进行类型转换。(输出的数为随机)

格式字符要用小写字母。

格式控制字符串中可以包含转义字符。

格式控制字符串中的普通字符则原样输出。

输出项的参数除了常数、变量外还可以是表达式、函数调用。

c语言格式大整理的更多相关文章

  1. Django模板语言,过滤器整理

    Django模板语言,过滤器整理 1. add {{ value|add:"2" }} 把add后的参数加给value: 处理时,过滤器首先会强制把两个值转换成Int类型. 如果强 ...

  2. FormatString格式大众人全

    FormatString格式大众人全 Posted on 2010-08-12 16:14 moss_tan_jun 阅读(457) 评论(0) 编辑 收藏 格式化日期和数字的字符串经常要用到这个, ...

  3. html标记语言 --格式标记

    html标记语言 --格式标记 一.格式标记 1.<br>单标记,强制换行标记,让后面的文字.图片.表格等显示在下一行 2.<p>换段落标记 3.<center>居 ...

  4. [经验分享]SecureCRT导出操作日志 + Notepad自定义语言格式高亮日志文件

    起因及效果展示 最近使用CRT,有些命令会输出很多内容,这时如果你想要得知输出内容是从哪里开始的,很容易被大量的同种颜色的文字搞的晕头转向.如果输入的命令是不同的颜色,这会大大得帮助我们. 所谓的命令 ...

  5. Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark实战高手之路】

    Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈 大数据的概念与应用,正随着智能手机.平板电脑的快速流行而日渐普及,大数据中图的并行化处理一直是一个非常热门的话题.图计算正在被广泛地应用于社交 ...

  6. Go 语言优秀资源整理,为项目落地加速🏃

    最后更新于2019.11.22 Go 语言优秀资源整理,为项目落地加速

  7. [转帖]yaml语言格式

    yaml语言格式 YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言),强调这种语言以数据做为中心,而不是以置标语言为重点. 转载2篇 ...

  8. C语言入门基础整理

    学习计算机技术,C语言可以说是必备的,他已经成为现在计算机行业人学习必备的,而且应用也是十分的广泛,今天就来看看拥有几年c语言工作经验的大神整理的C语言入门基础知识,没有学不会,只有不肯学. 结构化程 ...

  9. Flutter教程- Dart语言规范-知识点整理

    Flutter教程- Dart语言知识点整理 Dart语言简介 Dart语言介绍 ① 注释的方式 ② 变量的声明 ③ 字符串的声明和使用 ④ 集合变量的声明 ⑤ 数字的处理 ⑥ 循环的格式 ⑦ 抛异常 ...

随机推荐

  1. mysqld_safe脚本执行的基本流程

    mysqld_safe脚本执行的基本流程:1.查找basedir和ledir.2.查找datadir和my.cnf.3.对my.cnf做一些检查,具体检查哪些选项请看附件中的注释.4.解析my.cnf ...

  2. 【BZOJ】【1419】Red is good

    数学期望/期望DP 还是戳<浅析竞赛中一类数学期望问题的解决方法>这篇论文…… $$ f[i][j]= \begin{cases} 0 &, &i==0 \\ f[i-1] ...

  3. mybatis查询时间段sql语句

    转载自:http://blog.csdn.net/zl544434558/article/details/24428307?utm_source=tuicool&utm_medium=refe ...

  4. 数学图形之克莱因瓶(klein bottle)

    克莱因瓶是一种内外两面在同一个曲面上的图形. 在数学领域中,克莱因瓶(德语:Kleinsche Flasche)是指一种无定向性的平面,比如二维平面,就没有“内部”和“外部”之分.克莱因瓶最初的概念提 ...

  5. pymysql的使用心得(1)------小细节,注意!

    最近一段时间开始使用MySQL,使用的是pymysql库. 其中遇到过一些小问题,值得记录一下,以便今后使用的时候注意到. 表格的建立,代码如下: cursor.execute("creat ...

  6. [leetcode]Single Number II @ Python

    原题地址:http://oj.leetcode.com/problems/single-number-ii/ 题意:Given an array of integers, every element ...

  7. 模态框在IE下的问题,即position:fixed在IE下不兼容的处理方式

    项目中遇到的问题,模态框在IE下总出现如图所示双层遮罩框,经排查发现是由于bootstrap里写的modal的样式里position:fixed不兼容IE的原因,导致铺不满整个窗口. 解决方案:在项目 ...

  8. ASP.NET WebServices 因 URL 意外地以“/HelloWorld”结束,请求格式无法识别。

    今天在使用Asp.net做一个WebServices时通过Get方式调用方法时却出现了以下错误(仅在Get请求下,POST下正常)   在网络和MSDN上了解到WebServices默认只启用 Htt ...

  9. Android控件之HorizontalScrollView 去掉滚动栏

    在默认情况下.HorizontalScrollView控件里面的内容在滚动的情况下,会出现滚动栏,为了去掉滚动栏.仅仅须要在<HorizontalScrollView/>里面加一句    ...

  10. 通过Servlet生成验证码图片(转)

    原文地址:http://www.cnblogs.com/xdp-gacl/p/3798190.html 一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类, ...