《C程序设计语言》- 字符输入和输出

书籍介绍:

  • 本书是机械工业出版社的第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\n", nc);
     return 0;
}

转换为C语言程序2:

#include<stdio.h>

int main( )
{
     int nc=0;
     for(nc=0; getchar( ) != EOF; nc++)
             ;
     printf("%d\n", nc);
     return 0;
}

3.行计数

统计行数等价于统计换行符的个数。

转换为C语言程序:

#include<stdio.h>

int main( )
{
     int nc=0;
     char c;
     while((c=getchar( )) != EOF)
     {
          if(c == '\n')
              nc++;
     }
     printf("%d\n", nc);
     return 0;
}

4.编写一个统计空格、制表符与换行符个数的程序

统计空格数等价于统计“ ”的个数;统计制表符数等价于统计“\t”的个数;统计换行符数等价于统计换行符“\n”的个数。

转换为C语言程序:

#include<stdio.h>

int main( )
{
     int nc1=0, nc2=0, nc3=0;
     char c;
     while((c=getchar( )) != EOF)
     {
          if(c == ' ')
              nc1++;
          if(c == '\t')
              nc2++;
          if(c == '\n')
              nc3++;
     }
     printf("空格数:%d\n制表符数:%d\n换行符数:%d\n", nc1, nc2, nc3);
     return 0;
}
posted @ 2016-10-18 16:11  吉吉范特西  阅读(287)  评论(0编辑  收藏  举报