资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据的输入和输出C C语言程序设计语言程序设计第四章1本章要点本章要点 掌握C语言中输入输出数 据的方法 掌握各种格式的使用2数据输入输出的概念l 输出:从计算机向显示器、打印机等外部设 备输出数据。l输入:从标准输入设备键盘、鼠标等向计算 机输入数据。lC语言不提供输入输出语句,输入输出操作 是由C函数库中的函数实现。l使用系统库函数时,要用预编译命令 “#include”将有关头文件包括在用户的源文 件中。如#include “stdio.h”34.1.1 格式输出函数1.函数的基本功能格式:printf(格式控制串,输出表列)功能:从标准输出设备上,按指定的格式输出对应的变量。4.1 数据输出2. 函数说明:(1) 格式控制串由双引号括起来,由“%”和格式符 以及普通字符(即需要原样输出的字符组成)。(2)输出表列是需要输出的一些数据,可以是常量、 变量或表达式。 (3)输出的参数必须与格式控制符中的格式说明在类 型、个数和位置上一一对应。 4例:#include main( ) int a=3, b=4; printf(“a=%d b=%d”,a,b); 运行结果: a=3 b=4格式说明(格式字符)普通字符输出表列53.格式说明符一般格式:%-m.nl格式符说明如下: - 当数据的宽度小于显示宽度时,数据左对齐,右方补空格. m 输出数据占m个字符位,不够右对齐,左边填空格。 n 输出数据有n位小数 m.n 输出数据占m列,n位小数 对不同类型的数据使用不同的格式字符。有以 下几种格式符:6d: 以十进制带符号形式输出整型数 o:以八进制无符号形式输出整型数 x:以十六进制无符号形式输出整型 u:以十进制无符号形式输出整型数 f:以小数形式输出单、双精度实型数 e: 以指数形式输出单、双精度实型数 c: 以字符形式输出一个字符 s: 以字符形式输出一个字符串 ld:以十进制带符号形式输出长整型数基本格式控制符7(1) d格式符: 输出十进制整数。%d -按整型数据的实际长度输出。%md -m为指定的输出字段的宽度.若数据的位数小 于m,则左端补以空格;若大于m,则按实际位数输出 。%ld -输出长整型数据.例:int a=1234;printf(“%3d”,a);printf(“%5d”,a);printf(“%-5d”,a);1234 1234实际 左补空 1234 左对齐,右补空8(2)o格式符 以八进制数形式输出整数。将内存单元中的各位的值(0或1)按八进制形式输出, 输出的数值不带符号,将符号也作为八进制数的一部分 输出。例如,-1在内存单元中(以补码形式存放)如下:int a=-1; -1:printf(“%d,%o”,a,a);输出: 1 1 11 11 11 11 11 11 11VC+下-1,1777779(3) x格式符,以十六进制数形式输出整数。 (4) u格式符,以十进制形式输出无符号型数据。例#include main()unsigned int a=65535; int b=-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,65535b=-2,177776,fffe,65534VC+下10(5) c 格式符 输出一个字符。整数的值在0255范围内,也可以用字符形式输 出。在输出前,将该整数转换成相应的ASCII字符; 字符数据也可以用整数形式输出。例#include main( ) char c=a; int i=97;printf(“%c,%dn“,c,c);printf(“%c,%dn“,i,i);输出: a,97a,9711(6)s格式符 输出一个字符串。 说明: -若不指定字符宽度和对齐方式,则输出全部字符串. 例如: printf(“%s“, “CHINA“); 程序运行输出: CHINA-若指定宽度m,实际字符个数大于m,按实际宽度输 出;如果实际字符个数小于m,字符右对齐,左边填 空格。例如: printf(“s1=%s,s2=%3s,s3=%-5.2s,s4=%.3s“, “abcd“, “abcd“, “abcd“, “abcd“) ; (6) 程序运行输出: (7) s1=abcd,s2=abcd,s3=ab ,s4=abc12(7) f格式符以小数形式输出实数(包括单、双精度)。1) %f , 不指定字段宽度,由系统自动指定,使整数部 分全部输出,并输出6位小数(输出双精度数据, 也是6位,但误差降低)。2) %m.nf , 指定输出的数据共占m列,其中有n位小 数.若数据长度小于m,则左端补空格。例:float x=15.3,y=222.225111;printf(“%f,%6.2fn”,x,y);138. e格式 以指数形式输出实数。1) %e 不指定输出数据所占的宽度和数字部分小数 位数,由系统自动指定给出6位小数,指数部分占5位,其 中“e”占一位,指数符号占一位,指数占3位.数值按标准 化指数形式输出(小数点前有1位非零数字)。例如:printf(“%e”,123.456);输出:1.234560e+002 e格式输出的实数共占13列宽度. 3位6位14(9)g格式符:根据数值的大小输出实数,自动选 f 格式或 e 格式(选择输出时占宽度较小的一种),且不输出无意义 的零。例如: f=123.468;printf(“%f %e %g”,f,f,f);输出如下:123.468000 1.234680e+002 123.46810列13列10列15几点说明:1. 格式控制串的控制符号与变量表要一一对应,即: 类型相同,个数相等 2. 格式控制符号用小写字母 3. 格式控制符号之外的符号均照原样显示 4. 若需显示百分号,格式为:% 5. 如果实际数据所占字符位大于指定的域宽,按实际 输出164.1.2 字符输出函数格式: putchar(字符变量)功能 :在标准输出设备上,输出指定的字符。说明:一次调用只能输出一个字符。例:#include main( ) char a,b,c;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c); 输出:BOY174.2.1 格式输入函数一般形式: scanf(格式控制字符串, 地址表列)“格式控制字符串”的含义同printf函数,“地址表列”:要求是变量的地址,或字符串的首地址 .例如:int a,b,c; scanf(“%d%d%d”,说明:* scanf 函数中的“格式控制”后面应当是变量地址 而不是变量名。* 输入数据时,在两个数据之间以一个或多个空格间 隔,也可以用回车键、跳格键tab分隔。4.2 4.2 数据的输入数据的输入18* 输入时不允许规定精度,可以指定域宽int a ;scanf(“%3d”,float x; scanf(“%8.2f ”,* 输入时,遇下列情况结束* 回车,空格 * 宽度结束 * 非法输入int k; scanf(“%3d”, 输入:123456789 k为:123scanf(“%3d%3d”, 输入123456 系统自动将123赋给a,456赋给b19* 格式控制字符串中若包含普通字符,则输入时必 须照原样输入普通字符,否则将导致输入结束。如:int a,b,c;scanf(“a=%d,b=%d,c=%d”,输入:a=1,b=2,c=3 * 数值型数据和字符型数据混合输入方法main()int a,b,c,d,e; scanf(“%d%c%c%c%d”, printf(“a=%d,b=%c,c=%c,d=%c,e=%d”,a,b,c,d,e);输入:123abc789输出:a=123,b=a,c=b,d=c,e=78920l输入double型数据,必须用格式说明符%lf或%le ,l输入long型数据,必须用%ld。l标准C在scanf中不使用%u说明符,对unsigned型 数据,以%d或%o、%x格式输入。l%后的“*”为附加说明符,用来表示跳过它相应 的数据。l输入时格式控制符中不能加“n”。l在scanf函数的格式控制字符串中尽量不要出现 普通字符,尤其不能将输入提示放在其中。需要 显示输入提示应该调用printf函数实现。提示注意:21#include main() int a; float b,c;scanf(“%2d%3f%4f”,printf(“a=%d,b=%f,c=%fn”,a,b,c);输入:12345678987654321输出?a=12,b=345.000000,c=6789.000000例:224.2. 2 getchar函数(字符输入函数) 一般形式:getchar( ) -没有参数功能:从键盘输入一个字符。 说明:1)只能输入一个字符2)可以将获得的字符赋给int 型或char型的变量例#include main() char c; c=getchar( ); putchar(c); 运行时键入字符a,则其输出为:a 23本章学习要点1.格式输入函数:scanf, 格式输出函数:printf,常用格式:%d, %f, %s, %c ,%o, %ld 2. scanf 函数中的“格式控制”后面是变量地址,而不 是变量名. 3. putchar函数(字符输出函数) 4. getchar函数 (字符输入函数)注意:24实验的准备及VC+6.0上机环境1. 计算机程序设计实验的准备 (1)复习与本次实验相关的教学内容和主要知识点。 (2)准备好编程题目程序流程图和全部源程序代码, 并且先进行人工检查。 (3)对程序中有疑问的地方做出标记,充分估计程序 运行中可能出现的问题,以便在程序调试过程中给 予关注。 (4)准备好运行和调试程序所需的数据。252. VC+6.0上机环境(1)每一个C程序必须包含在一个工程项目(Project)中。一个工程可以包含多个C程序, 但只能有一个main函数。(2)可以在编辑窗口直接输入程序,也可以在工 程项目中添加已经存在的C源程序。()提交作业:仅提交.程序即可。()建议工程保留在盘以外的磁盘中。26求华氏温度100F对应的摄氏温度例例计算公式:C=5*(F-32)/9开始F=100C=5*(F-32)/9结束输出 F, C#include main()int F, C;F=100; C= 5*(F-32)/9.0;printf(“F= %d ,C= %f n”, F,C) ;27
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号