书籍介绍:

  • 本书是机械工业出版社的第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. [LeetCode] Department Top Three Salaries 系里前三高薪水

    The Employee table holds all employees. Every employee has an Id, and there is also a column for the ...

  2. Gulp 入门

    1. 安装 Node 环境 参考 http://www.cnblogs.com/zichi/p/4627728.html,注意一起安装 npm 工具,并把路径保存到环境变量中(安装过程中会有提醒) 安 ...

  3. minHash最小哈希原理

    minHash最小哈希原理 收藏 初雪之音 发表于 9个月前 阅读 208 收藏 9 点赞 1 评论 0 摘要: 在数据挖掘中,一个最基本的问题就是比较两个集合的相似度.通常通过遍历这两个集合中的所有 ...

  4. archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)

    准备工具和设置制作启动盘连接网络硬盘分区规划分区LVM方案创建文件系统分区挂载激活lvm2钩子基础安装和配置配置镜像源基础系统安装fstab进入系统initramfs引导程序网络搭建使用环境用户管理用 ...

  5. SDWebImage的简单使用

    首先,SDWebImage的git地址是:https://github.com/rs/SDWebImage.我们可以直接到这里进行下载,然后添加到自己的项目中去. 一.使用场景(前提是已经导入了SDW ...

  6. JavaScript面向对象的程序设计

    ECMAScript支持面对对象(oo)编程,但不使用类或接口.对象可以在代码执行过程中创建和增强,因此具有动态性而非严格定义的实体.在没有类的情况下,可以此采用下列模式创建对象. 工厂模式,使用简单 ...

  7. iOS开发--JS调用原生OC篇

    JS调用原生OC篇 方式一(反正我不用) 第一种方式是用JS发起一个假的URL请求,然后利用UIWebView的代理方法拦截这次请求,然后再做相应的处理. 我写了一个简单的HTML网页和一个btn点击 ...

  8. Mysql主从架构的复制

    复制类型 (1)基于语句的复制:  在主服务器上执行的SQL语句,在从服务器上执行同样的语句.MySQL默认采用基于语句的复制,效率比较高.  一旦发现没法精确复制时,会自动选着基于行的复制. (2) ...

  9. Debian/Ubuntu安装SSH-Server(SFTP)

    在Debian/Ubuntu命令行执行: sudo apt-get update sudo apt-get install ssh sudo apt-get install openssh-serve ...

  10. SSH框架的简单上传功能的实现

    1.创建项目. 2.导入开发包. 3.配置web.xml. 配置内容就是配置struct2的内容如下: <?xml version="1.0" encoding=" ...