- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《吉大康辉老师讲C语言》第十章: IO和有关库函数
第十章 I/O及有关库函数10.1 控制台I/O;10.1.1 单个字符的输入输出;[例10.2]下面程序读进两个字符并按相反的次序显示,两个字符由制表符隔开。
#include stdio.h
main()
{ int c,d;
c=getchar();
d=getchar();
putchar(d);
putchar(‘\t’);
putchar(c);
putchar(‘\n’);
};10.1.2 行输入和行输出;gets(string): 从标准输入上接收一个字符串
string 是一个指向字符串的指针。
gets从用户终端上取得那个串的内容,并返回指向该字符串的指针。
该函数从用户终端上取得一个以换行符结束的字符串,并用‘\0’代替该换行符。
如果gets碰上一个出错条件,它就返回一个空串。
如果仅仅在终端上敲一次回车键,它也返回一个空串。;[例10.3]从标准输入设备上读进许多字符行,直到遇见空行为止。然后输出最长行。假设一行不能超过80个字符。
#include stdio.h
main()
{char longest[81],current[81];
int curlen,lonlen;
if(gets(longest)==NULL)
return;
lonlen=strlen(longest);
while(gets(current)!=NULL(curlen=strlen(current)))
if(curlenlonlen)
{strcpy(longest,current);
lonlen=curlen; }
puts(longest);
};10.1.3 按格式输入和输出;“输出列表”是需要输出的一些数据,可以是任意表达式。
对于printf而言,可以输出多个表达式的值,按控制输出的格式符的出现次序,依次输出各个表达式的值。有以下几种格式字符:
d格式符,用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。
如果数据的位数小于m,则左端补以空格,
若大于m,则按实际位数输出。;%ld:用于输出长整型数据。
输出长整型数据时,采用%d格式就会发生错误。
o格式符,按八进制数形式输出整数,
输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。
对长整型数可以用“%lo”格式输出。
可以指定字段宽度。
x格式符,按十六进制数形式输出整数。
不会出现负十六进制数。
可以采用“%lx”输出长整型数,
可以指定输出字段的宽度。
u格式符,以十进制的形式输出unsigned型数据。 ;c格式符,用来输出一个字符、一个整数(0~255,以用字符形式输出);
一个字符数据也可以用整数形式输出。
可以规定输出字符的场宽,输出时左端补以空格。
s格式符,用来输出一个字符串。有几种用法:
%s,输出一个字符串,不输出‘\0’。
%ms,输出的字符串占m列,
如果字符串本身长度大于m,则突破m的限制,将字符串全部输出。
若串长小于m,则左补空格。
%-ms,如果字符串长小于m,则在m列范围内,字符串向左靠,右补空格。;%m ns,输出占m列,但只取字符串左端n个字符。
这n个字符输出在m列的右侧,左补空。
%-m ns,其中m,n的含义同上,字符串左端n个字符输出在m列范围的左侧,右补空格。
如果nm,则保证n个字符正常输出。
f格式符,用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f,不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数。应当注意,并非全部数字都是有效数字。;%m nf,指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,则在左端补空格。
%-m nf,与%m nf基本相同,只是使输出的数据向左端靠,右端补空格。
e格式符,以指数形式输出实数。形式如下:
%e,不指定输出数据所占的宽度和数字部分小数位数,由系统自动给出6位小数,
指数部分占4位,其中“e”占1位,指数符号占1位,指数占2位。
数值按标准化指数形式输出,即小数点前必须有而且只有一位非零数字。
%m ne和%-m ne,m,n和“-”的含义与前述相同。
n指数据的尾数位数。;g格式符,用来输出实数,
根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。
例如:
main()
{ int a,b,c;
scanf(“%d%d%d”,a,b,c);
printf(“%d,%d,%d\n”,a,b,c);
}
3 4 5(输入a,b,c的值)
3,4,5(
文档评论(0)