《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;
}
《C程序设计语言》- 字符输入和输出的更多相关文章
- 清风注解-Swift程序设计语言:Point6~10
目录索引 清风注解-Swift程序设计语言 Point 6. 输出常量和变量 代码事例: // 输出的内容会在最后换行 println("hello, world") // 输出的 ...
- 《C程序设计语言》【PDF】下载链接:
<C程序设计语言>[PDF]下载 https://u253469.pipipan.com/fs/253469-230382180 内容简介 在计算机发展的历史上,没有哪一种程序设计语言像C ...
- C语言学习书籍推荐《C程序设计语言(第2版•新版)》下载
克尼汉 (作者), 等 (作者, 译者), 徐宝文 (译者) 下载地址:点我 <C程序设计语言(第2版•新版)>是由C语言的设计者Brian W.Kernighan和Dennis M.Ri ...
- 清风注解-Swift程序设计语言:Point11~15
目录索引 清风注解-Swift程序设计语言 Point 11. 数值型字面量 代码事例: let decimalInteger = // 十进制的17 let binaryInteger = 0b10 ...
- awk程序设计语言之-awk基础
awk程序设计语言之-awk基础 http://man.linuxde.net/ 常用工具命令之awk命令 awk是一种编程语言,用于在Linux/Unix下对文本和数据处理.数据可以来自标准输入(s ...
- 《程序设计语言——实践之路(英文第三版)》【PDF】下载
<程序设计语言--实践之路(英文第三版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382234 内容简介 <程序设计语 ...
- 《程序设计语言——实践之路【PDF】下载
<程序设计语言--实践之路[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382240 内容简介 <程序设计语言--实践之路(第3版 ...
- [零] JavaIO入门简介 程序设计语言 为什么需要IO库
本文旨在引申出来Java IO的概念含义,作为学习JavaIO一个起步的了解知识点 部分内容引自<计算机操作系统第三版> 操作系统的文件管理 "在现代计算机系统中,要用到 ...
- 北京大学Cousera学习笔记--6-计算导论与C语言基础--计算机的基本原理-认识程序设计语言 如何学习
1.是一门高级程序语言 低级语言-机器语言(二进制) 汇编语言-load add save mult 高级语言:有利于人们编写理解 2.C语言的规范定义非常的宽泛 1.long型数据长度不短于int型 ...
随机推荐
- 【codevs1106】 篝火晚会
http://codevs.cn/problem/1106/ (题目链接) 题意 将1~n顺序排列的环改成另一个环,问n-不动点数. Solution 啊智障啦,不会做×_× 左转hzwer 代码 / ...
- ie6、7、8兼容部分css3
做法很简单下载一个ie-css3,然后有css3的样式里加入behavior: url(js/ie-css3.htc)就可以了(js/ie-css3.htc是文件地址) <!DOCTYPE ht ...
- Tower是个不错的项目管理开放平台
简单,易用,轻量级,挺多大项目都在用. 目前公司的项目也在使用,但是从高层到底下,随意惯了,最终没有用起来. 感觉适合年轻激情的创业公司团队来使用. 附上地址:https://tower.im/
- python基础-面向对象编程
一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 ...
- Java并发_volatile实现可见性但不保证原子性
读后感 介绍了volatile实现可见性的基本原理 介绍了volatile不能实现原子性的示例,volatile复合操作不能实现原子性,读取值后在自增前改值可能被其它线程读取并修改,自增后刷新值可能会 ...
- Keepalived的安装
Keepalived的安装 官网下载:点击直达 yum install -y libnl yum install -y libnl-devel 下载 cd /usr/local/src/ wget h ...
- 页置换算法FIFO、LRU、OPT
页置换算法FIFO.LRU.OPT 为什么需要页置换 在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断.当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调 ...
- asp.net页面生命周期
Asp.Net页面生命周期 本文转载自:http://www.cnblogs.com/xhwy/archive/2012/05/20/2510178.html 一.什么是Asp.Net页面生命周期 当 ...
- PHP CLI编程基础知识积累(进程、子进程、线程)
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...
- How to build a NFS Service
NFS网络文件系统的服务的配置 1 Preparation Three Linux virtual machines one: to be NFS Service the other two: NFS ...