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/

目录
相关文章
|
1月前
|
C语言
C语言对文件的输入输出
C语言对文件的输入输出
17 0
|
4月前
|
存储 C语言
C 语言教程:数据类型和格式说明符
C 中的变量必须是指定的数据类型,并且您必须在 printf() 函数中使用格式说明符来显示它:
94 2
|
8天前
|
C语言 C++ 数据格式
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
|
9天前
|
编译器 C语言 C++
C语言printf的输出格式大全及颜色字体打印
C语言printf的输出格式大全及颜色字体打印
8 0
|
1月前
|
存储 编译器 C语言
C语言巧用联合体union判定数据的存储格式(大小端)
C语言巧用联合体union判定数据的存储格式(大小端)
12 1
|
5月前
|
存储 C语言
C语言 关于输入输出与结束符“\0”
C语言 关于输入输出与结束符“\0”
101 1
|
6月前
|
缓存 C语言
C语言——数据的输入输出
C语言——数据的输入输出
|
8月前
|
存储 安全 编译器
>>>C语言<<< 前言、什么是C语言 、标准格式 、数据类型 、数据的输入和输出 、结束语
>>>C语言<<< 前言、什么是C语言 、标准格式 、数据类型 、数据的输入和输出 、结束语
|
10月前
|
C语言 容器
【C语言—零基础第六课】输入输出语句格式与复合语句
在生活中我们把水倒进杯子里边就是赋值,杯子是一个容器用来存放东西的。在C语言中变量相当于一个容器用来存放值的,变量类型的不同存放的东西也不同。例如:杯子是装水的、相框是放照片的、手枪的弹夹是用来装子弹的,不同事物用着不同的容器来装。 C语言中用=来表示赋值。两个等于号==在C语言中表示判断。
94 0
|
10月前
|
C语言
C语言刷题系列——2.输入输出练习
C语言刷题系列——2.输入输出练习
136 0