C语言数据的输入输出ppt课件

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

A
输出宽度为5, 左补4个空格
printf("%-5c***\n",'A'); A *** 输出宽度为5, 右补4个空格
18
格式化输出函数printf()
(1) d格式符。用来输出十进制整数。
几种用法: ① %d:按十进制整型数据的实际长度输出。 ② %md:m为指定的输出字段的宽度。如果数据的位数小于m,
b=-2,177776,fffe,65534
23
格式化输出函数printf()
例:字符数据的输出 #include <stdio.h> main() { char c='a';
int i=97; clrscr(); printf("%c,%d\n",c,c); printf("%c,%d\n",i,i); getch(); }
putchar(a);putchar('\n');putchar(b);putchar('\n');putchar (c);
}
putchar ('\101'); A
7
字符输入输出函数
例 输入单个字符。 #include "stdio.h" main() { char c; c=getchar(); putchar(c); putchar('\n'); }
格式化输出函数printf()
(4) 在输出的数字前加"+"号
使用%+格式字符 (如%+d、%+f等), 可在输出的数字前 加"+"号, 例如
printf("%+d,%+10.2f",123,12345.678); 输出结果如下:
+123, +12345.68。 例:int x=1234,y=123,z=12;
12
格式化输出函数printf()
(3)#修饰符: 使用%#o、%#x ,在输出的八进制或十六进制前加前导“0”。
例如:
main() { unsigned c=65535;
printf("%#o\n",c); printf("%#x\n",c); }
输出结果 如下:
0177777 0xffff
13
f
以小数形式输出实型数据,系统默认整数部分全部输出,小数部
分输出6位小数, 小数部分自动四舍五入
e 或 E 以指数形式输出实数,系统默认输出1位整数和5位小数,超长 部分自动四舍五入,输出格式为:[-]m.ddddde±dd
g 或 G 由系统来选择%f或%e输出格式,宽度小者被输出
p 输出变量的内存地址
右侧,左补空格。 ⑤ %-m.ns,n个字符输出在m列的左侧,右补空格,若n〉m,m自
动取n值。
25
main() {clrscr(); printf("*%s*\n " , "china"); printf(("*%8s*\n" , "china"); printf("*%-8s*\n " , "china“); printf("*%5.3s*\n " , "china“); printf("*%7.2s*\n " , "china“); printf("*%.4s*\n" , "china“); }
当使用这两个函数时, 在程序的开头一定要加上:
#include <stdio.h>
4
字符输入输出函数
getch() 函数: 无参数。 getch()的作用与getchar类似,都是从标准输入设备
(通常指键盘)读入一个字符。其调用形式分别为: getch( );
但 getch函 数 读 入的字 符 不会回 显 在屏幕 上 , 它 与 getchar函数不同之处在于:getch函数不必输入回车才 结束, 只要输入任意一个键, 该字符立即被接收, 程序继续 执行下一条语句。利用这一特点, 这两个函数经常用于交 互输入的过程中实现暂停功能, 或直接查看程序运行结果。
运行程序:
从键盘输入字符a 按Enter键 屏幕上将显示输出的 字符a a a
8
3.4.4格式输入函数与格式输出函数
printf函数是格式化输出函数, 用于向标准输出设 备(通常指定为屏幕)按规定格式输出数据。
printf函数的调用格式为: printf(格式控制字符串, 输出列表);
其中格式化字符串包括两部分内容:一是普通字符 按原样输出,转义字符输出它所代表的字符;二是 “输出格式说明”, 以“%”开始,后跟格式字符, 用 来指定输出数据的格式。如 %d 输出int型数据 输出列表是若干个需要输出的数据项, 称为函数的 参数, 可以是常量、变量或表达式, 各参数之间用 ","分开。
格式字符


d 或 i 输出十进制有符号整数(正数不输出符号"+")
u 输出十进制无符号整数
o 无符号整数以八进制整数输出(输出时不带前导0)
x 或 X 无符号整数以十六进制整数输出(输出时不带前导0x或0X)。x 用于输出abcdef,X用于输出ABCDEF
c 以字符形式输出单个字符
s 输出字符串直至字符串结束标志'\0'为止,'\'不输出
2
数据输入输出的概念
所谓输入输出是以计算机主机为主体而言的。 输出:从计算机向外部输出设备(显示器,打印机)输 出数据。输入:从输入设备(键盘,鼠标,扫描仪)向计 算机输入数据
C语言本身不提供输入输出语句,输入和输出操作 是由C函数库中的函数来实现的
例如: 字符输入函数:getchar 字符输出函数:putchar 格式输入函数: scanf 格式输出函数: printf 字符串输入函数:gets 字符串输出函数:puts
x用于输出abcdefx用于输出abcdef以小数形式输出实型数据系统默认整数部分全部输出小数部分输出6位小数小数部分自动四舍五入以指数形式输出实数系统默认输出1位整数和5位小数超长部分自动四舍五入输出格式为
第3章 数据的输入与输出(2)
1
3.4.3 字符输入输出函数 3.4.4 格式化输入输出函数的一般使用
17
格式化输出函数printf()
④ 字符数据的输出宽度 %mc输出宽度占m列, 左补m-1个空格。在输出宽度
m前加一个负号"–",则右补m-1个空格。表2.11举例说明 字符型数据的输出。
输出语句
输出结果 说 明
printf("%c\n",'A');
A
输出宽度为1
printf("%5c\n",'A');
15
整型数据的输出宽度
main() { int a=34,b=12345;
clrscr(); printf("%d\n",a); printf("%10d\n",a); printf("%-10d\n",a); printf("%4d\n",b); }
34 34
34 12345
16
实型数据的输出宽度
例 无符号数据的输出。
#include<stdio.h>
main( )
{
unsigned int a=65535;
int b=-2;
printf("a=%d,%o,%x,%u\n",a,a,a,a);
printf("b=%d,%o,%x,%u\n",b,b,b,b);
}
运行结果:
a=-1,177777,ffff,65535
printf(″%x,%o,%d″,a,a,a); 输出结果为:
ffff,177777,-1
可以用“%lx”输出长整型数,也可以指定输出字段的宽度
例: “%12x”
输出为:
ffff。
(数字前有8个空格)
21
格式化输出函数printf()
(4)u格式符,用来输出unsigned型数据.
一个有符号整数(int型)也可以用%u格式输出; 一个unsigned型数据也可以用%d格式输出。 unsigned型数据也可用%o或%x格式输出。
main() {float a=123.456;
clrscr(); printf("a=%f\n",a); printf("a=%4f\n",a); printf("a=%15f\n",a); printf("a=%.2f\n",a); printf("a=%.5f\n",a); }
a=123.456001 a=123.456001 a= 123.456001 a=123.46 a=123.45600
9
格式化输出函数printf()
printf函数的输出格式说明 每个格式说明都必须用%开头,以一个格式字
符作为结束,在此之间根据需要可以插入"宽度说 明"、长度修饰符'l'和'L"等。 (1)格式字符:格式字符用于规定输出不同的数据 类型,格式字符和它们的作用如下表,可详见附录 D。
10
格式化输出函数printf()
则左端补以空格,若大于m,则按实际位数输出。 例: printf(″%4d,%4d″,a,b);
若a=123,d=12345,则输出结果为 □123,12345 ③ %ld:输出长整型数据。 例: long a=135790;/* 定义a为长整型变量*/ printf(″%ld″,a); 输出结果为135790
getch(); /* 等待按任一键程序结束 */
}
6
字符输入输出函数
例:输出单个字符 #include "stdio.h" main()
每次只能输出一个字符 putchar(' '); 输出空格
{
char a,b,c;
运行结果:ABC
a='A';
A
b='B';
B
c='C';
C
clrscr();
putchar(a);putchar(b);putchar(c);putchar('\n');
不会输出带负号的八进制整数。对长整数(long型)可以
用“%lo”格式输出。还可以指定字段宽度,
例:printf("%8o",a);
输出为: □ □177777。
(数字前有2个空格)
20
格式化输出函数printf()
(3)x格式符。以十六进制数形式输出整数。同样不会出 现负的十六进制数。 例: int a=-1;
printf("%4d+%3d+%2d", x, y, z) 输出结果:1234+123+12
14
格式化输出函数printf()
(5) 输出数据所占的宽度 ①整型数据的输出宽度 %md、%mu、%mo、%mx, 按m宽度输出数据, 不足m个位数,左补空格(数据右对齐)。 ②实型数据的输出宽度 %m.nf、%m.ne、%m.ng,数据输出的总宽占m 列,其中小数部分占n列, 若数据自身宽度小于m列,则左 补空格。 ③字符串的输出宽度 %ms 输出宽度占m列,若字符串宽度小于m列, 左补空格,若字符串宽度大于m列则原样输出字串。
19
格式化输出函数printf()
(2) o格式符。以八进制整数形式输出。
输出的数值不带符号,符号位也一起作为八进制数的一部分输出。
例:int a=-1;
printf("%d,%o",a,a);
-1在内存单元中的存放形式(以补码形式存放)如下:
1111111111111111
输出为:
-1,177777
% 输出一个%号
11
格式化输出函数printf()
(2) 长度修饰符: 长度修饰符加在%和格式字符之间。
长度修饰符


l
格式字符是d,i,o,u,x,X时, 用于输出长整型数
据(long int)
L
格式字符是e,E,f,g,G时, 用于输出长双精度

实型数据(long double)
从上表可知:双精度实型数据的输出不要用%lf, 只要用%f即可。但长双精度实型数据的输出必须加 长度修饰符L, 例如%Lf、%Le等。
运行结果: a,97 a,97
24
格式化输出函数printf()
(6)s格式符 输出字符串.
① %s。例如: printf(″%s″,″CHINA″) 输出字符串“CHINA”(不包括双引号)。
② %ms,输出的字符串占m列,若串长大于m,则全部输出,若串长 小于m,则左补空格。
③ %-ms,若串长小于m,字符串向左靠,右补空格。 ④ %m. ns,输出占m列,只取字符串中左端n个字符,输出在m列的
3
3.4.3字符输入输出函数
putchar(x)函数:有参数 例:putchar(ch); putchar('A'); putchar(65); 每句只能输出一个字符数据。
getchar( )函数:无参数 从键盘读入一个字符(空格回车都算)。 程序执行到 getchar函数时,等待输入字符,直到按回 车才结束,回车前的所有输入字符都将逐个显示在屏幕上。 但只有第一个字符被getchar函数接收。 c=getchar();按回车符才可送出
5
字符输入输出函数
[补充例题] #include <stdio.h>
当屏幕输入 12345回车时屏 幕输出的结果是
什么?
main()
{ char ch;
ch=getchar(); 此语句可否用:scanf(“%c“,&ch);
putchar(ch);
putchar('\n');
printf("%c,%d\n",ch,ch);
(5)c格式符,用来输出一个字符。
如:char d=′a′; printf(″%c″,d); 输出字符′a′. 一个整数,只要它的值在0~255范围内,可以用“%c”
使之按字符形式输出,在输出前,系统会将该整数作为ASCII码 转换成相应的字符;一个字符数据也可以用整数形式输出。
22
格式化输出函数printf()
相关文档
最新文档