22、C语言中输入输出格式控制(2)

简介: 1、格式化输入函数scanf 用法: scanf("格式串" ,地址1,地址2,···); 1)格式符 syntax: %[*][width][h|l|L]type (1) [h|l|L]type d 以十进制有符号整数形式转换输入数据 i ...

1、格式化输入函数scanf

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

1)格式符

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

(1) [h|l|L]type

d

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

i

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

u

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

o

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

x |X

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

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来吸收字符,%*s吸引字符串。

2、几点说明:

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

      格式字符要用小写字母。

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

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

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

参考

[1] 进一步阅读

http://blog.163.com/zhoumhan_0351/blog/static/39954227200972291615439/

目录
相关文章
|
6月前
|
C语言
C语言对文件的输入输出
C语言对文件的输入输出
34 0
|
6月前
|
存储 C语言
C 语言教程:数据类型和格式说明符
C 中的变量必须是指定的数据类型,并且您必须在 printf() 函数中使用格式说明符来显示它:
173 2
|
6月前
|
C语言 C++ 数据格式
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
|
4月前
|
C语言
C语言5 字符输出函数和格式输出函数
C语言5 字符输出函数和格式输出函数
77 1
|
4月前
|
存储 C语言
C语言6 字符串输入和格式输入函数
C语言6 字符串输入和格式输入函数
51 0
|
5月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
43 1
|
5月前
|
C语言
C语言标准的输入输出
C语言标准的输入输出
41 0
|
6月前
|
存储 C语言
C语言中的数据输入输出
C语言中的数据输入输出
65 0
|
6月前
|
存储 C语言
C语言中的字符串访问与输入输出技术详解
C语言中的字符串访问与输入输出技术详解
79 0
|
6月前
|
存储 安全 C语言
C语言程序设计——格式输入函数scanf()
C语言程序设计——格式输入函数scanf()