欢迎来到天天文库
浏览记录
ID:9972145
大小:1.18 MB
页数:17页
时间:2018-05-12
《嵌入式linux下c程序设计--02输入输出语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式Linux下C程序设计主讲:成宝宗字符数据的输入输出putchar函数(字符输出函数)putchar函数的作用是向终端输出一个字符:例如putchar(c);它输出字符变量c的值。c可以是字符型变量或整型变量。例:输出单个字符。#includeintmain(void){chara,b,c;a='b';b='o';c='y';putchar(a);putchar(b);putchar(‘’);putchar(c);putchar(0x63);puthar(0143);puthar(10);Putchar(500);}getchar函数(字符输入函数)此函数的作
2、用是从终端(或系统隐含指定的输入设备)输入一个字符。getchar函数没有参数,其一般形式为getchar()函数的值就是从输入设备得到的字符。例如:例:输入单个字符#includemain(){charc;c=getchar();putchar(c);}printf函数(格式输出函数)printf函数,它的作用是向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据(putchar只能输出字符,而且只能是一个字符,而printf可以输出多个数据,且为任意类型)。1.printf函数的一般格式为printf(格式控制,输出表列)如:printf("%d,%c",
3、i,c)括弧内包括两部分:格式控制与输出表列格式输入与输出(1)“格式控制”是用双引号括起来的字符串,也称“转换控制字符串”,它包括两种信息:①格式说明,由“%”和格式字符组成,如%d,%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。②普通字符,即需要原样输出的字符。例如上面printf函数中双引号内的逗号、空格和换行符。(2)“输出表列”是需要输出的一些数据,可以是表达式。2.格式字符对不同类型的数据用不同的格式字符。常用的有以下几种格式字符:(1)d格式符。用来输出十进制整数。有以下几种用法:①%d, 按整型数据的实际长度输出。②%md,m为指定的
4、输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。如printf("%4d,%4d",a,b);若a=123,b=12345,则输出结果为123,12345(2)o格式符,以八进制数形式输出整数。由于是将内存单元中的各位的值(0或1)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。例如:inta=78;printf("%d,%o",a,a);(3)x格式符,以十六进制数形式输出整数。同样不会出现负的十六进制数。例如:inta=78;printf("%x,%o,%d",a,a,a);(5)c格式符,用来输出一个字符。如:c
5、harc='a';printf("%c",c);输出字符‘a’,请注意:“%c”中的c是格式符,逗号右边的c是变量名,不要搞混。在输出前,系统会将该整数作为ascii码转换成相应的字符;反之,一个字符数据也可以用整数形式输出。例:字符数据的输出。intmain(void){charc='a';inti=97;printf("%c,%d",c,c);printf("%c,%d",i,i);}运行结果为:a,97a,97也可以指定输出字数宽度,如果有printf("%3c",c)则输出:“a”,即c变量输出占3列,前2列补空格。scanf函数(格式输入函数)在第1章中已初步接触到了s
6、canf函数,在本节中再作详细介绍。1.一般形式scanf(格式控制,地址表列)“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。例4.9用scanf函数输入数据。intmain(void){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf("%d,%d,%d",a,b,c);}使用scanf函数时应注意的问题(1)scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名。例如,如果a、b为整型变量,则scanf("%d,%d",a,b);是不对的,应将“a,b”改为“&a,&b”。
7、这是c语言与其他高级语言不同之处。许多初学者常在此出错。(2)如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。例如scanf("%d,%d",&a,&b);输入时应用如下形式:3,4注意3后面是逗号,它与scanf函数中的“格式控制”中的逗号对应。如果输入时不用逗号而用空格或其他字符是不对的:34(不对)3:4(不对)如果是scanf("%d%d",&a,&b);输入时两个数据间
此文档下载收益归作者所有