第03章-输入和输出_第1页
第03章-输入和输出_第2页
第03章-输入和输出_第3页
第03章-输入和输出_第4页
第03章-输入和输出_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章

输入与输出输入:从输入设备(如键盘、磁盘等)向计算机输入数据输出:从计算机向输出设备(如显示器、打印机等)输出数据标准库函数通过流对象cin、cout分别进行流读取和流插入字符数据的输入与输出字符输入输出函数包括:字符输出函数putchar字符输入函数getchar每执行一次只输入输出一个字符。输出函数putchar()格式:putchar

(ch)作用:向显示器(或系统隐含指定的输出设备)输出一个字符。说明:ch是具有字符ASCII码值的表达式。通常加分号构成函数调用语句(putchar(ch);),该语句的执行将向显示器输出一个以ch的值为ASCII码的字符。#include<stdio.h>voidmain(){chara,b,c;putchar('b');putchar('o');putchar('y');a='A';b='O';c='Y';putchar(a+1);putchar(b);putchar(c);}putchar()函数举例boyBOY要得到如下的运行结果,怎么办? boy BOY#include<stdio.h>voidmain(){charcha;cha='a';putchar(cha);putchar('\n');putchar(cha+1);}putchar()函数举例a

b输入函数getchar()

格式:getchar()作用:从键盘(或系统隐含指定的输入设备)输入一个字符,并显示该字符(称为回显)。说明:该函数的返回值是输入的字符的ASCII码。通常构成如下的说明和赋值语句:

chara;a=getchar();注意:输入字符后要“回车”字符输入、输出函数示例

#include<stdio.h>voidmain(){charc;c=getchar();

/*输入一个字符并赋给字符变量c*/putchar(c);/*输出以c的值所对应的字符*/}putchar(getchar());格式输入与输出格式输入输出函数包括:printf():格式输出函数scanf():格式输入函数用双撇号括起来的字符串,包括:格式说明:由%和格式说明符组成,作用是把输出项表中各输出项依次按指定的格式输出;普通字符:需要原样输出的字符。格式输出函数printf()按用户指定的格式,依次输出各输出项。函数调用的形式:

printf(格式控制字符串,输出项表)

intx=3;printf("x=%d\n",x);

x=3列出要输出的项(表达式),各输出项之间用逗号隔开。格式输出函数printf()注意:

格式控制字符串中的格式说明与输出项表中的输出项的个数必须相同,先后顺序也要一一对应。

printf

("a=%d,b=%x,c=%f

",a,b,c);注意与下面的语句区别:

printf

("x=%d",(a,b,c));常用的格式说明

格式意义%d以十进制形式输出带符号整数(正数不输出符号)%o以八进制形式输出无符号整数(不输出前缀O)%x以十六进制形式输出无符号整数(不输出前缀Ox)%f以小数形式输出单、双精度实数%e以指数形式输出单、双精度实数%c输出单个字符%s输出字符串附加格式说明符

附加格式说明符格式说明L、l长整型及双精度数据的输出m输出数据的宽度n实数数据小数部分的输出位数-输出的数据左对齐+输出正数时以“+”开头#数据以八进制或十六进制输出时,加上前导符0、0x注意附加格式说明符的出现位置! %d格式%d-按整型数据的实际长度输出。

inta=356,b=4;

printf("a=%d

b=%d"

,a,b);

a=356b=4%ld-输出长整型数据。

longa=123456;

printf("a=%ld"

,a);

a=123456%d格式%md-其中m为指定的输出字段的宽度。如果数据的实际位数小于m,则左端补以空格,若大于m,则按实际位数输出。inta=123,b=12345;

printf

("a=%4d

b=%4d"

,a,b);

a=123b=12345%mld%o格式%o-以八进制无符号整数形式输出。inta=18;

printf

("a=%o",a);a=22注意:如果整数为负数,则连同符号位也一起作为八进制的一部分输出。如果上式中a=-1,输出结果如何?%mo、%lo、%mlo%x格式%x-以十六进制无符号整数形式输出。inta=18;

printf

("a=%x",a);a=12%mx、%lx、%mlx注意事项同%o%f格式%f-以实数的十进制形式输出。整数部分全部输出,小数部分只取前6位。floata=12.3456;printf

("a=%f",a

);a=12.345600

%f格式%m.nf-指定输出的数据(包括小数点)共占m位,其中小数n位。如果n大于小数部分的实际位数,输出时小数部分用0补足;如果n小于小数部分的实际位数,则将小数部分多余的位四舍五入。floata=12.3456;printf

("%8.2f,%8.4f",a,a);12.35,12.3456%e格式%e-以规范化指数形式输出实数。小数部分占6位,指数部分占5位。floata=12.3456;

printf

("a=%e",a);

1.234560e+001%m.ne%c格式%c-输出一个字符。chara1='c'

,a2='h'

printf

("%c,%c",a1,a2

);

c,h%mc%s格式%s-输出一个字符串。printf

("%s","CHINA")

CHINA%m.ns-n表示从字符串中截取的字符数printf

("%4.2s","CHINA")

CHprintf函数练习1若有定义和语句:

inti=010,j=10; printf("%d,%4d,%-4d\n",i,j,j);其输出结果是8,10,1010,+9若有语句: inti=10,j=10; printf("%d,%+d\n",i--,--j);其输出结果是若有定义和语句:

intx=0177; printf("%4d,%4o,%#4o\n",x,x,x);其输出结果是printf函数练习2若有语句:

intn=10; printf("%\n",n);其输出结果是

127,177,0177printf函数练习3若有定义和语句:

floatf=3.1415927; printf("%f,%5.4f,%6.3f\n",f,f,f);其输出结果是3.141593,3.1416,3.1423.141590e+001若有语句:

floatf=31.4159; printf("%e\n",f);其输出结果是

格式输入函数scanf

函数调用的形式:

scanf(格式控制字符串,输入项地址表)其中:格式控制字符串:含义同printf函数。输入项地址表

:需要接受输入数据的所有变量的地址,或字符串的首地址。作用:按指定的格式,从标准输入设备(键盘)上输入数据,并存入到地址表指定的地址中。scanf函数举例

inta,b,c;scanf("%d

%d

%d"

,&a,&b,&c);

abc345说明:&a,&b,&c中的&是地址运算符,&a表示a在内存中的地址。"%d%d%d"表示按十进制整数输入a,b,c的值。输入数据时,在两个数据之间以一个或多个空格隔开。输入:345格式输入函数scanf()注意:

格式控制字符串中所包含的普通字符在数据输入时必须原样输入,输入所有数据后需要“回车”。

intx,y;scanf("x,y=%d,%d",&x,&y);

在键盘上输入x,y=62,78注意:格式输入函数的格式控制字符串中不允许使用转义字符

如:intx,y;

scanf("%d%d\b",&x,&y);输入过程中分隔符的使用若格式说明之间有一个或多个字符,则以这些字符为分隔符;除字符型格式(%c)外,若格式说明之间没有任何其他字符,则以空格符或回车键或Tab键为分隔符。例如:scanf("a=%d,b=%d",&a,&b);

输入形式:a=3,b=4scanf("%d%d",&a,&b);

输入形式:34为使c1='A',c2='B',针对下列定义和语句,如何输入?charc1,c2; scanf("%c%c",&c1,&c2);AB为使c1='A',x=12,y=34,若有如下语句,如何输入?charc1;intx,y; scanf("%d%c%d",&x,&c1,&y);12A3412A34若有如下语句,输入100后,输出是? intn; scanf("%o",&n); printf("n=%d\n",n);scanf函数练习为使k1=10,k2=20,k3=30,k4=40,针对下列语句,如何输入?

scanf("%d%d",&k1,&k2); scanf("%d,%d",&k3,&k4);102030,40n=64简单程序设计练习1

编写一个程序,输入任意一个十进制整数,输出其对应的八进制数和十六进制数。#include<stdio.h>inti;scanf("%d",&i);printf("%o,%x\n",i,i);voidmain(){

}简单程序设计练习2

读程序,说出其功能。#include<stdio.h>voidmain(){charc1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1+'A'-'a';printf("%c,%d\n",c2,c2);}C++在C的I/O功能的基础上,还增加了一些扩展的I/O功能,这些扩展功能都是面向对象的,即可以通过I/O流对象来实现相应的功能。C++把进行数据传送操作的设备抽象成对象,将“流”作为具有输入输出功能的外设和程序之间的通道。3.4用流输入输出cout代表标准输出流cin代表标准输入流cerr和clog代表标准错误流对象通过cout流输出数据包含头文件iostream.hcout<<表达式1<<表达式2<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论