C语言03.1 流程控制(1 输入输出函数)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

格式字符
d,i o x,X u f e,E g,G c s
意义 以带符号的十进制形式输出整数(正数不输出符号) 以八进制形式输出无符号整数(不输出前缀0) 以十六进制无符号形式输出整数(不输出前缀Ox) 以无符号十进制形式输出整数 以小数形式输出单、双精度实数,隐含输出6位小数 以指数形式输出单、双精度实数 以%f或%e中较短的输出宽度输出单、双精度实数 输出单个字符 输出字符串
scanf("%d%d%d", a, b, c);
×
格式控制符
百度文库格式字符
说明
d
用来输入带符号的十进制整数
o
用来输入无符号的八进制整数
X,x
用来输入无符号的十六进制整数
c
用来输入单个字符
s
f E,e,G,g
用来输入字符串,将字符串送到一个字符数组中,在输入 时以非空白字符开始,以第一个空白字符结束。字符串以 串结束标志'\0'作为最后一个字符。
scanf(“a=%d,b=%d",&a,&b) a=12,b=34
scanf("%d %d",&a,&b)
12 34
scanf(“%d:%d:%d”,&a,&b,&c) 12:34:56
在输入数据时,遇以下情况之一,则认为是一个 数据输入的结束:
遇到空格或按Tab键或回车键 满足域宽,如%4d,输入4位即结束 遇到非法字符。如:
输入输出语句
控制台I/O:程序与外界的交流
C语言中所有的I/O都是由库函数完成的
在使用C语言库函数时,要用预处理命令#include 将相关头文件包含到源文件中
使用标准输入输出库函数时,要用到 stdio.h文件, 因此程序源文件开头应有以下预处理命令: #include <stdio.h>
考虑到printf和scanf函数使用的频繁性, 编译系统一般会允许使用这两个函数时可 以不加 #include <stdio.h>
若在格式控制中加入空格作为间隔,如:
scanf ("%c %c %c",&a,&b,&c); 则输入时各数据之间可以加空格
L3_4.c,L3_5.c
字符输入输出函数
字符输入函数getchar() :输入单个字符。 字符输出函数putchar():输出单个字符。 使用格式
字符型变量=getchar(); putchar(字符型变量); 均包含在头文件stdio.h中
字符输入输出函数
例:
#include <stdio.h> void main() { char c; c=getchar(); ++c; putchar(c); putchar('\n'); return; }
作业
参照课堂举例,编写程序,练习 printf()和scanf()函数的各种格式符, 显示并观察运算结果
L3_1.c
格式修饰符(格式说明符)
在格式控制中,%和格式字符之间可插入以下几 种修饰符。(L3_2.c)
%-m.nlf,%-mld 例:%-12.3lf,%6d
字符
l m(正整数) n(正整数)
-
说明
用于输出长整型数据(可用%ld、%lo、%lx或%lu) 以及double型数据(用%lf或%le) 数据显示的最小宽度 对实数,表示输出n位小数; 对字符串,表示截取的字符个数
格式输出函数:printf()
printf()函数称为格式输出函数。其功能是 按用户指定的格式,把指定的数据显示到 屏幕上。
调用形式
printf(“格式控制字符串”,表达式列表); 格式控制字符串中的非格式字符原样照印 格式控制字符串中的格式字符用来定义字符串中
对应于该位置的表达式的显示格式
格式字符
如:scanf(“%f”, a); ×
scanf("%f", &a); √
不能用格式控制来规定输入数据的精度
如: scanf("%7.2f",&a);
×
scanf("%f", &a);

注意
如果在格式控制字符串中除了格式控制符还有其 它字符,那么在输入时这些字符将被作为间隔字 符,要输入相同的字符
用来输入实数,可以用小数形式或指数形式输入
与f作用相同,e与f可以相互替换
L3_3.c
输入数据时的间隔
在scanf语句的格式字符串中,如果没有非 格式字符在“%d%d%d”之间作输入时的间 隔,在输入时要用一个或一个以上的空格或 回车或TAB键作为输入数据之间的间隔
输入:7 8 9 或 78 9
格式说明符
在%和格式字符之间可插入附加的格式说 明符
字符
说明
用于输入长整型数据(可用%ld、%lo、%lx)
l
以及double型数据(用%lf或%le)
h
用于输入短整型数据(可用%hd、%ho、%hx)
m(正整数) 域宽,指定输入数据的宽度(列数)
*
表示本输入项在读入后不赋给任何变量
注意
Scanf函数中的“格式控制”后面应当是 变量地址,而不是变量名。
scanf("%d%c%f",&a,&b,&c) 输入: 25P12I.35
注意
在输入字符型数据时,若格式控制串中没有 非格式字符,则认为所有输入的字符均为有 效字符。
如: scanf("%c%c%c",&a,&b,&c);
只有当输入为:def 时(即:不能有间隔),才能 把‘d’赋于a,‘e’赋予b,'f'赋予c
Scanf()函数称为格式输入函数。其功能是 按用户指定的格式从键盘上把数据输入到指 定的变量中。
调用形式
scanf(“格式控制字符串”,变量地址列表);
格式控制字符串的作用与printf函数类同
地址列表中给出各变量的地址。地址由地址运算符 “&”后跟变量名组成的。
例:
scanf(“%d%d%d”,&a,&b,&c); √
输出的数字或字符在显示宽度域内左对齐
注意
若未指定输出宽度m,则按实际位数输出
若未指定小数位数n,则默认为6位
宽度计算中小数点要占掉1位
若数据的实际宽度比指定宽度小,默认右对 齐(即:左补空格)。有修饰符-,则左对齐 (即:右补空格)
若数据的实际宽度比指定宽度大,则按实际 位数输出
格式输入函数——scanf()
相关文档
最新文档