C语言格式化输入输出函数详解

一:格式输出函数printf()

1、调用形式一般为:printf("格式化控制字符串",输出表列);

2、格式化控制字符串用于指定输出格式,它有三种形式:

1、格式说明符:规定了相应输出表列内容的输出格式,以%打头,如%d、%o等
2、转义字符:用来输出转义字符所代表的控制代码或者特殊字符,比如常用的‘\n'、‘\t'
3、普通字符:需要原样输出的字符。
3、输出表列为若干需要输出的数据项,它与格式说明符在数量和类型上一一对应;

4、格式字符m指定输出数据所占宽度,n对实数表示输出n位小数,对字符串表示截取的字符个数,+表示右对齐,通常省略。

—表示左对齐,l用于长整型数据,可加在d、o、x、u前,更多格式说明符及其组合形式如下所示:


格式字符

数据对象


输出形式

数据输出方法

%(+)-md


int

unsigned int

short

unsigned short

char


十进制整数


1、无m按实际位数输出

2、有m输出m位;超过m位,按实际位数输出,不足补空格

3、有+(默认为+)右对齐(左补空格)

4、有-左对齐(右补空格)


%(+)-mo

八进制整数

%(+)-mx

十六进制整数

%(+)-mu

无符号整数

%(+)-mld

long

unsigned long


十进制整数


%(+)-mlo

八进制整数

%(+)-mlx

十六进制整数

%(+)-mlu

无符号整数

%(+)-m.nf

float

double


十进制小数

%(+)-m.ne

十进制指数

%(+)-g

自动选用%f和%e中较短的输出宽度输出单、双精度浮点数


%(+)-mc

char

int

short


单个字符

1、无m输出单个字符

2、有m输出m位,补空格

3、有+(默认为+)右对齐(左补空格)

4、有-左对齐(右补空格)


%(+)-m.ns

字符串

一串字符

1.无m、n按实际字符串输出全部字符

2、有m、n仅输出前n个字符,补空格

3.有+(默认为+)右对齐(左补空格)

4、有-左对齐(右补空格)

二:格式输入函数scanf()

1、 调用格式一般为:scanf("格式化控制字符串",地址表列);

2、格式化控制字符串和printf()函数含义相似,所不同的是它是对输入格式进行控制;

3、地址表列是有若干等待输入的数据所对应的内存单元地址组成,由逗号隔开,一般形式为&a,a为变量;

4、地址表列在数量和类型上和格式化控制字符串中的格式说明符一一对应;

5、格式字符h表示输入短型数据,可用在d、o、x前面,m指定输入数据所占宽度,

*表示对应的数据项读入后不赋给相应的变量,更多格式说明符及其组合如下


格式字符

数据对象

输入形式

数据输入方法
%md
int

short

unsigned int

unsigned short


十进制整数


1、无m按实际位数输入

2、有m输入m位,不足m则跟回车键

%mo
八进制整数
%mx
十六进制整数
%mld
long

unsigned long


十进制整数

%mlo
八进制整数
%mlx
十六进制整数
%mlf
float

double


十进制整数
%mle
%mc
char

单个字符

1、无m取单个字符

2、有m输入m位,仅取第一个字符

%ms
字符串

一串字符

1、无m取回车或空格前若干字符

2、有m仅取前m字符

以上就是本文所述的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • C语言数据输入与输出实例详解

    C语言数据输入与输出实例详解 1 概论 C语言提供了跨平台的数据输入输出函数scanf()和printf()函数,它们可以按照指定的格式来解析常见的数据类型,例如整数,浮点数,字符和字符串等等.数据输入的来源可以是文件,控制台以及网络,而输出的终端可以是控制台,文件甚至是网页. 2 数据输出 从第一个c语言程序中,就使用了跨平台的库函数printf实现将一段文字输出到控制台,而实际上,printf()不仅可以将数据按照指定的格式输出到控制台,还可以是网页或者是指定的文件中,printf()函数执

  • C语言中字符的输入输出以及计算字符个数的方法详解

    C语言字符输入与输出 标准库提供的输入/输出模型非常简单.无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理.文本流是由多行字符构成的字符序列,而每行字符则由 0 个或多个字符组成,行末是一个换行符.标准库负责使每个输入/输出流都能够遵守这一模型.使用标准库的 C 语言程序员不必关心在程序之外这些行是如何表示的. 标准库提供了一次读/写一个字符的函数,其中最简单的是 getchar 和 putchar 两个函数.每次调用时,getchar 函数从文本流中读入下一个输入字符,并将

  • C语言格式化输入输出函数详解

    一:格式输出函数printf() 1.调用形式一般为:printf("格式化控制字符串",输出表列): 2.格式化控制字符串用于指定输出格式,它有三种形式: 1.格式说明符:规定了相应输出表列内容的输出格式,以%打头,如%d.%o等 2.转义字符:用来输出转义字符所代表的控制代码或者特殊字符,比如常用的'\n'.'\t' 3.普通字符:需要原样输出的字符. 3.输出表列为若干需要输出的数据项,它与格式说明符在数量和类型上一一对应: 4.格式字符m指定输出数据所占宽度,n对实数表示输出n

  • C语言 格式化读写文件详解

    fscanf() 和 fprintf() 函数与前面使用的 scanf() 和 printf() 功能相似,都是格式化读写函数,两者的区别在于 fscanf() 和 fprintf() 的读写对象不是键盘和显示器,而是磁盘文件. 这两个函数的原型为: int fscanf ( FILE *fp, char * format, ... ); int fprintf ( FILE *fp, char * format, ... ); fp 为文件指针,format 为格式控制字符串,... 表示参数

  • Python中格式化format()方法详解

     Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加; 使用":", 指定代表元素需要的操作, 如":.3"小数点三位, ":8"占8个字符空间等; 还可以添加特定的字母, 如: 'b' - 二进制. 将数字以2为基

  • C语言 动态内存分配详解

    C语言 动态内存分配详解 动态内存分配涉及到堆栈的概念:堆栈是两种数据结构.堆栈都是数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除. 栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表. \在C语言中,全局变量分配在内存中的静态存储区,非静态的局部变量(包括形参)是分配在内存的动态存储区,该存储区被

  • C语言数据结构 快速排序实例详解

    C语言数据结构 快速排序实例详解 一.快速排序简介 快速排序采用分治的思想,第一趟先将一串数字分为两部分,第一部分的数值都比第二部分要小,然后按照这种方法,依次对两边的数据进行排序. 二.代码实现 #include <stdio.h> /* 将两个数据交换 */ void swap(int* Ina , int* Inb) { int temp = *Ina; *Ina = *Inb; *Inb = temp; } /* 进行一趟的快速排序,把一个序列分为两个部分 */ int getPart

  • C语言动态规划之背包问题详解

    01背包问题 给定n种物品,和一个容量为C的背包,物品i的重量是w[i],其价值为v[i].问如何选择装入背包的物品,使得装入背包中的总价值最大?(面对每个武平,只能有选择拿取或者不拿两种选择,不能选择装入某物品的一部分,也不能装入物品多次) 声明一个数组f[n][c]的二维数组,f[i][j]表示在面对第i件物品,且背包容量为j时所能获得的最大价值. 根据题目要求进行打表查找相关的边界和规律 根据打表列写相关的状态转移方程 用程序实现状态转移方程 真题演练: 一个旅行者有一个最多能装M公斤的背

  • R语言对二进制文件操作详解

    二进制文件是包含仅以位和字节(0和1)的形式存储的信息的文件.它们不是人类可读的,因为它中的字节转换为包含许多其他不可打印字符的字符和符号.尝试使用任何文本编辑器读取二进制文件将显示如Ø和ð的字符. 二进制文件必须由特定程序读取才能使用.例如,Microsoft Word程序的二进制文件只能通过Word程序读取到人类可读的形式.这表示,除了人类可读的文本之外,还有更多的信息,例如字符和页码等的格式化,它们也与字母数字字符一起存储.最后一个二进制文件是一个连续的字节序列.我们在文本文件中看到的换行

  • C语言求逆矩阵案例详解

    一般求逆矩阵的方法有两种,伴随阵法和初等变换法.但是这两种方法都不太适合编程.伴随阵法的计算量大,初等变换法又难以编程实现. 适合编程的求逆矩阵的方法如下: 对可逆矩阵A进行QR分解:A=QR 求上三角矩阵R的逆矩阵 求出A的逆矩阵:A^(-1)=R^(-1)Q^(H) 以上三步都有具体的公式与之对应,适合编程实现. C语言实现代码: #include <stdio.h> #include <math.h> #define SIZE 8 double b[SIZE][SIZE]={

  • C语言实现矩阵运算案例详解

    C语言实现矩阵运算 给定一个n×n的方阵,本题要求计算该矩阵除副对角线.最后一列和最后一行以外的所有元素之和.副对角线为从矩阵的右上角至左下角的连线. 输入格式: 输入第一行给出正整数n(1<n≤10):随后n行,每行给出n个整数,其间以空格分隔. 输出格式: 在一行中给出该矩阵除副对角线.最后一列和最后一行以外的所有元素之和. 输入样例: 4 2 3 4 1 5 6 1 1 7 1 8 1 1 1 1 1 输出样例: 35 #include <stdio.h> #include <

  • C语言 动态分配数组案例详解

    目录 一维动态数组的创建: 二维数组的创建: 很多人在编写C语言代码的时候很少使用动态数组,不管什么情况下通通使用静态数组的方法来解决,在当初学习C语言的时候我就是一个典型的例子,但是现在发现这是一个相当不好的习惯,甚至可能导致编写的程序出现一些致命的错误.尤其对于搞嵌入式的人来所,嵌入式系统的内存是宝贵的,内存是否高效率的使用往往意味着嵌入式设备是否高质量和高性能,所以高效的使用内存对我们来说是很重要的.那么我们在自己编写C语言代码的时候就应该学会使用动态数组,这也就是我这篇博客要给大家讲的,

随机推荐