c语言程序设计单字符输出,C语言的程序设计-数据的输入和输出.ppt

《C语言的程序设计-数据的输入和输出.ppt》由会员分享,可在线阅读,更多相关《C语言的程序设计-数据的输入和输出.ppt(35页珍藏版)》请在装配图网上搜索。

1、共 25 页 第 1 页,数据的输入和输出,C语言程序设计,第四章,共 25 页 第 2 页,本章要点,掌握C语言中输入输出数据的方法 掌握各种格式的使用,共 25 页 第 3 页,数据输入输出的概念 输出:从计算机向显示器、打印机等外部设备输出数据。 输入:从标准输入设备键盘、鼠标等向计算机输入数据。 C语言不提供输入输出语句,输入输出操作是由C函数库中的函数实现。,两个基本的输出(输入)函数: 即:格式输出(输入)函数 字符输出(输入)函数,共 25 页 第 4 页,4.1.1 格式输出函数,函数的基本功能 格式:printf(格式控制串,输出表列) 功能:从标准输出设备上,按指定的格式输。

2、出对应 的变量。,printf(.),4.1 数据输出,2. 函数说明: (1) 格式控制串由双引号括起来,由“%”和格式符以及普通字符(即需要原样输出的字符组成)。 (2)输出表列是需要输出的一些数据,可以是常量、变量或表达式。 (3)输出的参数必须与格式控制符中的格式说明在类型、个数和位置上一一对应。,共 25 页 第 5 页,例: #include main( ) int a=3, b=4; printf(“a=%d b=%d”,a,b); 运行结果: a=3 b=4,格式说明(格式字符),普通字符,输出表列,共 25 页 第 6 页,3.格式说明符 一般格式:%-m.nl格式符,说明如。

3、下: - 当数据的宽度小于显示宽度时,数据左对齐,右方补空格. m 输出数据占m个字符位,不够右对齐,左边填空格。 n 输出数据有n位小数 m.n 输出数据占m列,n位小数 对不同类型的数据使用不同的格式字符。有以下几种格式符:,共 25 页 第 7 页,d: 以十进制带符号形式输出整型数 o:以八进制无符号形式输出整型数 x:以十六进制无符号形式输出整型 u:以十进制无符号形式输出整型数 f:以小数形式输出单、双精度实型数 e: 以指数形式输出单、双精度实型数 c: 以字符形式输出一个字符 s: 以字符形式输出一个字符串 ld:以十进制带符号形式输出长整型数,基本格式控制符,共 25 页 第。

4、 8 页,(1) d格式符: 输出十进制整数。 %d 按整型数据的实际长度输出。 %md m为指定的输出字段的宽度.若数据的位数小于m,则左端补以空格;若大于m,则按实际位数输出。 %ld 输出长整型数据.,例:int a=1234; printf(“%3d”,a); printf(“%5dn”,a); printf(“%-5d”,a);,1234 1234,1234,左对齐,右补空,共 25 页 第 9 页,以下程序运行后的输出结果是? main() int x,y,z; x=y=1; z=x+,y+,+y; printf(%d,%d,%d,x,y,z); A)2,3,3 B)2,3,2 C。

5、)2,3,1 D)2,2,1,共 25 页 第 10 页,(2)o格式符 以八进制数形式输出整数。 将内存单元中的各位的值(0或1)按八进制形式输出,输出的数值不带符号,将符号也作为八进制数的一部分输出。 例如,-1在内存单元中(以补码形式存放)如下: int a=-1; -1: printf(“%d,%o”,a,a); 输出:,1 1 11 11 11 11 11 11 11,VC+下,-1,177777,(3) x格式符,以十六进制数形式输出整数。 (4) u格式符,以十进制形式输出无符号型数据。 例 #include main() unsigned int a=65535; int b=。

6、-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”,b,b,b,b); 输出: a=-1,177777,ffff,65535 b=-2,177776,fffe,65534,VC+下,共 25 页 第 12 页,(5) c 格式符 输出一个字符。 整数的值在33126范围内,也可以用字符形式输出。在输出前,将该整数转换成相应的ASCII字符;字符数据也可以用整数形式输出。 例 #include main( ) char c=a; int i=97; printf(%c,%dn,c,c); printf(%c,%dn,i,i)。

7、; 输出: a,97 a,97,共 25 页 第 13 页,s格式符 输出一个字符串。 说明: 若不指定字符宽度和对齐方式,则输出全部字符串. 例如: printf(%s, CHINA); 程序运行输出: CHINA 若指定宽度m,实际字符个数大于m,按实际宽度输出;如果实际字符个数小于m,字符右对齐,左边填空格。 例如: printf(“s1=%s,s2=%3s,s3=%-5.2s,s4=%.3s, abcd, abcd, abcd, abcd) ; 程序运行输出: s1=abcd,s2=abcd,s3=ab ,s4=abc,共 25 页 第 14 页,(7) f格式符 以小数形式输出实数(。

8、包括单、双精度)。 1) %f , 不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数(输出双精度数据,也是6位,但误差降低)。 2) %m.nf , 指定输出的数据共占m列,其中有n位小数.若数据长度小于m,则左端补空格。 例:float x=15.3,y=222.225111; printf(“%f,%6.2fn”,x,y);,共 25 页 第 15 页,(8) e格式 以指数形式输出实数。 1) %e 不指定输出数据所占的宽度和数字部分小数位数,由系统自动指定给出6位小数,指数部分占5位,其中“e”占一位,指数符号占一位,指数占3位.数值按标准化指数形式输出(小数点前有1。

9、位非零数字)。 例如: printf(“%e”,123.456); 输出:1.234560e+002 e格式输出的实数共占13列宽度.,3位,6位,共 25 页 第 16 页,g格式符:根据数值的大小输出实数,自动选 f 格式或 e 格式(选择输出时占宽度较小的一种),且不输出无意义的零。 例如: f=123.468; printf(“%f %e %g”,f,f,f); 输出如下: 123.468000 1.234680e+002 123.468,10列,13列,10列,共 25 页 第 17 页,几点说明:,1. 格式控制串的控制符号与变量表要一一对应,即:类型相同,个数相等 2. 格式控制。

10、符号用小写字母 3. 格式控制符号之外的符号均照原样显示 4. 若需显示百分号,格式为:% 5. 如果实际数据所占字符位大于指定的域宽,按实际输出,共 25 页 第 18 页,例:分析程序的执行结果 main( ) int a=16;char e=A; unsigned b; long c; float d; b=65535;c=123456;d=123.45; printf(”a=%d,%4d,%-6d,c=%ldn”, a, a, a, c); printf(”%o, %x, %un”, b, b, b); printf(”%f, %e, %13.3e, %gn”, d, d, d, d)。

11、; printf(”%c,%s,%7.3sn”,e,”China”,”Beijing”); ,这里7指输出宽度,3表示输出该字符串的前3个字符。,共 25 页 第 19 页,4.1.2 字符输出函数,格式: putchar(字符变量),功能 :在标准输出设备上,输出指定的字符。,说明:,putchar,* 一次调用只能输出一个字符 * 加上分号成为字符输出语句 * 使用时在程序开头用编译预处理命令,#include”stdio.h” 或: #include,头文件,请详见附录E,共 25 页 第 20 页,例:#include main( ) char a,b,c; a=B;b=O;c=Y; 。

12、putchar(a);putchar(b);putchar(c); 输出:BOY,共 25 页 第 21 页,#include main( ) char c=a; putchar( c); ,char c1,c2,c3; c1=a;c2=b;c3=c; putchar(c1); putchar(c2); putchar(c3);,a b c,abc,?,putchar(n);,例,与putchar(97);putchar(98); putchar(99);等效 与printf(“%c%c%c”,c1,c2,c3); 等效,char c1,c2,c3; c1=a;c2=b;c3=c; putch。

13、ar(c1); putchar(n); putchar(c2); putchar(n); putchar(c3);,共 25 页 第 22 页,4.2.1 格式输入函数,一般形式: scanf(格式控制字符串, 地址表列) “格式控制字符串”的含义同printf函数, “地址表列”:要求是变量的地址,或字符串的首地址. 例如: int a,b,c; scanf(“%d%d%d”, 说明: * scanf 函数中的“格式控制”后面应当是变量地址而不是变量名。 * 输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键、跳格键tab分隔。,4.2 数据的输入,共 25 页 第 23 页,*。

14、 输入时可以指定域宽,不允许规定精度.,int a,b ;scanf(“%3d%3d”,float x; scanf(“%8.2f ”,* 输入时,遇下列情况结束,* 回车,空格 * 宽度结束 * 非法输入,输入123456 系统自动将123赋给a,456赋给b,如:int k; scanf(“%3d”, 输入:123456789 k为:123,例: main( ) int a ,b,c; scanf(%d%d%d, scanf(“%d,%d,%d”, 输入:123abc789 输出:a=123,b=a,c=b,d=c,e=789,注意格式说明符以外的其他字符,*在用“%c”格式输入字符时,空。

15、格字符和“转义字符”都作为有效字符输入. 如,scanf(%c%c%c, 输入:xyz x字符赋给a,空格字符赋给b, y字符赋给c,共 25 页 第 26 页,输入double型数据,必须用格式说明符%lf或%le, 输入long型数据,必须用%ld。 标准C在scanf中不使用%u说明符,对unsigned型数据,以%d或%o、%x格式输入。 %后的“*”为附加说明符,用来表示跳过它对应的数据。 输入时格式控制符中不能加“n”。 在scanf函数的格式控制字符串中尽量不要出现普通字符,尤其不能将输入提示放在其中。需要显示输入提示应该调用printf函数实现。,提示注意:,例:double 。

16、a; int b; float c; scanf( %f,%2d,%*d,%5f,输入:5.3,12,456,1.23456回车,结果:a=0.000000 b=12 c=1.234000,原因是格式符用错了.应该用lf或le格式,这里必须用%lf格式,这里可以用%f格式或%lf格式,共 25 页 第 28 页,#include main() int a; float b,c; scanf(“%2d%3f%4f”, ,输入:12345678987654321,输出?,a=12,b=345.000000,c=6789.000000,例:,共 25 页 第 29 页,4.2. 2 getchar函。

17、数(字符输入函数) 一般形式:getchar( ) -没有参数 功能:从键盘输入一个字符。 说明:1)只能输入一个字符 2)可以将获得的字符赋给int 型或char型的变量 例 #include main() char c; c=getchar( ); putchar(c); 运行时键入字符a,必须要回车则输出为:a,注意:输入字符时不要带撇号,共 25 页 第 30 页,例:从键盘读入一个字符,将该字符及其它前、后字符输出到显示器。,#include stdio.h main() int c; c=getchar(); putchar(c-1);putchar(c);putchar(c+1)。

18、; ,不要丢掉头文件,共 25 页 第 31 页,#include main() char a,b,c,d; scanf(“%c%c”,当执行程序时,按下列方式输入数据: 12 34,则输出结果是 A) 1234 B) 12 C)12 D) 12 3 34,练习:,程序举例,例:输入三角形的三边长,求三角形面积. 为简单起见,设输入的三边长a,b,c能构成三角形. #include math.h main() float a,b,c,s,area; scanf(%f,%f,%f, 输入:3,4,6 输出如下: a= 3.00, b= 4.00, c= 6.00, s= 6.50 area= 5。

19、.33,注意:此例调用了函数库中的函数sqrt,必须在程序开头加上include命令,把头文件“math.h”包含到程序中。,共 25 页 第 33 页,本章学习要点,1.格式输入函数:scanf, 格式输出函数:printf, 常用格式:%d, %f, %s, %c ,%o, %ld 2. scanf 函数中的“格式控制”后面是变量地址,而不是变量名. 3. putchar函数(字符输出函数) 4. getchar函数 (字符输入函数),地址,精度,域宽,注意:,共 25 页 第 34 页,实验的准备及VC+6.0上机环境,1. 计算机程序设计实验的准备 (1)复习与本次实验相关的教学内容和主要知识点。 (2)准备好编程题目程序流程图和全部源程序代码,并且先进行人工检查。 (3)对程序中有疑问的地方做出标记,充分估计程序运行中可能出现的问题,以便在程序调试过程中给予关注。 (4)准备好运行和调试程序所需的数据。,共 25 页 第 35 页,2. VC+6.0上机环境 (1)每一个C程序必须包含在一个工程项目 (Project)中。一个工程可以包含多个C程序,但只能有一个main函数。 (2)可以在编辑窗口直接输入程序,也可以在工程项目中添加已经存在的C源程序。 ()提交作业:仅提交.程序即可。 ()建议工程保留在盘以外的磁盘中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值