getchar
putchar
c=getchar
putchar(c)
1.5.1 文件复制
读一个字符
while(该字符不是文件结束指示符)
输出刚读入的字符
读下一个字符
putchar
c=getchar
putchar(c)
1.5.1 文件复制
读一个字符
while(该字符不是文件结束指示符)
输出刚读入的字符
读下一个字符
#include<stdio.h>
/*将输入复制到输出;版本1*/
main() /*定义*/
{
int c; /*确定C类型*/
c=getchar(); /*读取字符*/
while(c!=EOF){ /*该字符不是文件结束指示符*/
putchar(c); /*输出该字符*/
c=getchar(); /*读取下一个字符*/
}
}
#include<stdio.h>
/*将输入复制到输出;版本2*/
main() /*定义*/
{
int c /*确定C类型*/
while((c=getchar())!=EOF) /*将C赋予一个值且该字符不是文件结束指示符*/
putchar(c); /*输出该字符*/
}
#include<stdio.h>
/*统计输入字符数;版本1*/
main() /*定义*/
{
long nc; /*确定nc类型*/
nc=0; /*nc初始值为0*/
while(getchar()!=EOF) /*while所取数值不为文件结尾*/
++nc; /*则nc=nc+1,加1操作*/
printf("%ld\n",nc); /*显示为nc*/
}
++运算符,执行+1操作,等于语句nc=nc+1
字符计算,最好用long类型的变量存放计数值,以防数据溢出。
#include<stdio.h>
/*统计输入字符数双精度浮点数;版本2*/
main() /*定义*/
{
double nc; /*确定nc类型*/
for(nc=0;getchar()!=EOF;++nc);
/*for,nc等0开始,取值非文件结尾的情况下,n值加1*/
printf("%.0f\n",nc); /*显示为nc*/
}
1.5.3 行计数
#include <stdio.h>
/*统计输入中的行数*/
main() /*定义*/
{
int c,n1; /*确定c,n1类型*/
n1=0; /*n1从0开始*/
while((c=getchar())!=EOF) /*当C不是结束字符时*/
if (c=='\n\') /*如果C逻辑上等于*/
++n1; /*则等于n初始数值加1*/
printf("%d\n",n1); /*显示n1计算数值*/
}
==表示逻辑上的“等于”,=表示的是一个运算符
""
''单引号中的字符表示一个整型值,等于该字符在(机器字符集)中对应的数值,即字符常量。