书籍介绍:
- 本书是机械工业出版社的第2版·新版,作者两位,其中一位是C语言之父Dennis Ritchie,另一位是Brian Kernighan,也是一位牛人。
- 本书的目的是帮助读者学习如何用C语言编写程序,不仅仅只讲述语言的一些规则,而是采用阅读别人的代码、自己编写代码、修改某些代码等不同的方式来指导读者进行学习。
- 本书的中心目的并不是介绍数据结构和算法,更加专注于语言本身。
字符输入和输出:
1.文件复制
借助于getchar( )函数与putchar( )函数,可以在不了解其他输入/输出的情况下,编写出数量惊人的有用的代码。最简单的例子就是把输入一次一个字符,复制到输出,其基本思想如下:
读入一个字符
while(该字符不是文件结束指示符)
输出刚读入的字符
读下一个字符
转换为C语言程序:
#include<stdio.h>
int main( )
{
char c;
c=getchar( );
while(c != EOF)
{
putchar(c);
c=getchar( );
}
return 0;
}
2.字符计数
转换为C语言程序1:
#include<stdio.h>
int main( )
{
int nc=0;
while(getchar( ) != EOF)
nc++;
printf("%d
", nc);
return 0;
}
转换为C语言程序2:
#include<stdio.h>
int main( )
{
int nc=0;
for(nc=0; getchar( ) != EOF; nc++)
;
printf("%d
", nc);
return 0;
}
3.行计数
统计行数等价于统计换行符的个数。
转换为C语言程序:
#include<stdio.h>
int main( )
{
int nc=0;
char c;
while((c=getchar( )) != EOF)
{
if(c == '
')
nc++;
}
printf("%d
", nc);
return 0;
}
4.编写一个统计空格、制表符与换行符个数的程序
统计空格数等价于统计“ ”的个数;统计制表符数等价于统计“ ”的个数;统计换行符数等价于统计换行符“ ”的个数。
转换为C语言程序:
#include<stdio.h>
int main( )
{
int nc1=0, nc2=0, nc3=0;
char c;
while((c=getchar( )) != EOF)
{
if(c == ' ')
nc1++;
if(c == ' ')
nc2++;
if(c == '
')
nc3++;
}
printf("空格数:%d
制表符数:%d
换行符数:%d
", nc1, nc2, nc3);
return 0;
}