书籍介绍:

  • 本书是机械工业出版社的第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;
}

《C程序设计语言》- 字符输入和输出的更多相关文章

  1. 清风注解-Swift程序设计语言:Point6~10

    目录索引 清风注解-Swift程序设计语言 Point 6. 输出常量和变量 代码事例: // 输出的内容会在最后换行 println("hello, world") // 输出的 ...

  2. 《C程序设计语言》【PDF】下载链接:

    <C程序设计语言>[PDF]下载 https://u253469.pipipan.com/fs/253469-230382180 内容简介 在计算机发展的历史上,没有哪一种程序设计语言像C ...

  3. C语言学习书籍推荐《C程序设计语言(第2版•新版)》下载

    克尼汉 (作者), 等 (作者, 译者), 徐宝文 (译者) 下载地址:点我 <C程序设计语言(第2版•新版)>是由C语言的设计者Brian W.Kernighan和Dennis M.Ri ...

  4. 清风注解-Swift程序设计语言:Point11~15

    目录索引 清风注解-Swift程序设计语言 Point 11. 数值型字面量 代码事例: let decimalInteger = // 十进制的17 let binaryInteger = 0b10 ...

  5. awk程序设计语言之-awk基础

    awk程序设计语言之-awk基础 http://man.linuxde.net/ 常用工具命令之awk命令 awk是一种编程语言,用于在Linux/Unix下对文本和数据处理.数据可以来自标准输入(s ...

  6. 《程序设计语言——实践之路(英文第三版)》【PDF】下载

    <程序设计语言--实践之路(英文第三版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382234 内容简介 <程序设计语 ...

  7. 《程序设计语言——实践之路【PDF】下载

    <程序设计语言--实践之路[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382240 内容简介 <程序设计语言--实践之路(第3版 ...

  8. [零] JavaIO入门简介 程序设计语言 为什么需要IO库

     本文旨在引申出来Java IO的概念含义,作为学习JavaIO一个起步的了解知识点 部分内容引自<计算机操作系统第三版>  操作系统的文件管理   "在现代计算机系统中,要用到 ...

  9. 北京大学Cousera学习笔记--6-计算导论与C语言基础--计算机的基本原理-认识程序设计语言 如何学习

    1.是一门高级程序语言 低级语言-机器语言(二进制) 汇编语言-load add save mult 高级语言:有利于人们编写理解 2.C语言的规范定义非常的宽泛 1.long型数据长度不短于int型 ...

随机推荐

  1. codevs 3110 二叉堆练习3

    3110 二叉堆练习3 http://codevs.cn/problem/3110/ 题目描述 Description 给定N(N≤500,000)和N个整数(较有序),将其排序后输出. 输入描述 I ...

  2. ElasticSearch第四步-查询详解

    ElasticSearch系列学习 ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSea ...

  3. phpstorm 无法格式化代码

    phpstorm 默认的格式化代码的快捷键是 Ctrl + Alt + L,但是按了没有反应. 原因是当时开着网易云音乐,占用了这个快捷键,关了就好了.另外其他的程序比如QQ也有可能占用这个快捷键.

  4. java Ajax的应用

    一.Ajax的使用步骤 步一:创建AJAX异步对象,例如:createAJAX() 步二:准备发送异步请求,例如:ajax.open(method,url) 步三:如果是POST请求的话,一定要设置A ...

  5. AngularJS入门教程

    1. 简介:AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是 ...

  6. RESTful API 设计指南

    转自:http://www.ruanyifeng.com/blog/2014/05/restful_api.html 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机. ...

  7. call和apply的区别

    call和apply都属于function prototype的一个方法. 定义:调用一个方法的对象,以另一个对象替换当前对象. 相同点:两个方法产生的作用是一样的. 不同点:方法传递的参数不同. c ...

  8. Javascript字节转换

    //文件大小转换 function bytesToSize(bytes) { if (bytes === 0) return '0 B'; var k = 1024; sizes = ['B', 'K ...

  9. 【JavaScript】ArtTemplate个人的使用体验。

    据说ArtTemplate是腾讯的,感觉这东西真不错,使用方便,用起来很简单,哈哈.腾讯也不完全只是坑爹啊. ArtTemplate 使用是,正常引入js,这个自然不用说.这东西啥时候使用呢?我觉得这 ...

  10. 【原】小玩node+express爬虫-1

    最近开始重新学习node.js,之前学的都忘了.所以准备重新学一下,那么,先从一个简单的爬虫开始吧. 什么是爬虫 百度百科的解释: 爬虫即网络爬虫,是一种自动获取网页内容的程序.是搜索引擎的重要组成部 ...