《C程序设计语言》学习笔记——练习1-20

这个习题刚开始的时候还比较困惑,后来找到了计算制表符停止位的办法,又觉得还不算难吧。


#include <stdio.h>
#define TAB 8	/* 制表符相当于空格个数 */

/* 练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空白符(使空白充满到下
   一制表符停止位)。假定制表符停止位的位置是固定的,比如在每个n列的位置上。n应为
   变量或符号参数吗?
*/

main()
{
	int c, i, n; /* c用于接收输入字符,
				 i用于计数当前输入的字符实际占用了相当于多少字符的位置,
				 n是后面会用到的另一个计数 */
	i = 0;

	while ((c = getchar()) != EOF)
	{
		if (c != '\t') /* 不是制表符,照原样输出,计数器加1 */
		{
			printf("%c", c);
			++i;
		}
		else /* 制表符 */
		{
			if(i % TAB == 0)	/* 恰好位于制表符停止位 */
			{
				printf("        ");
				i += TAB;
			}
			else /* 不是恰好在制表符停止位 */
			{
				for(n = 0; n < (TAB - i % TAB); ++n) /* 计算出差n个字符到达下一个制表符位置,用相应的n个空格代替 */
					printf(" ");
				i += (TAB - i % TAB);
			}
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书是由C语言的设计者Brian W. Kernighan和Dennis M. Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。  本书的讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。 在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。  本书原著 即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的 一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以 此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。 原著第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各 个特性以及程序设计的基本方法。对于计算机从业人员来说,本书是一本必读的程序设计语 言方面的参考书。
C程序设计语言》(第2版新版)讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。《C程序设计语言》(第2版新版)原著即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。 内容提要 -------------------------------------------------------------------------------- 《C程序设计语言》(第2版新版)是由C语言的设计者Brian W.Kernighan和Dennis M.Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念,类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。 目录    出版者的话    专家指导委员会    中文版序    译者序    校译者简介    序    第1版序    引言    第1章 导言    1.1 入门    1.2 变量与算术表态式    1.3 for语句    1.4 符号常量    1.5 字符输入/输出    1.6 数组    1.7 函数    1.8 参数——传值调用    1.9 字符数组    1.10 外部变量与作用域    第2章 类型、运算符与表达式    2.1 变量名    2.2 数据类型及长度    2.3 常量    2.4 声明    2.5 算术运算符    2.6 关系运算符与逻辑运算符    2.7 类型转换    2.8 自增运算符与自减运算符    2.9 按位运算符    2.10 赋值运算符与表达式    2.11 条件表达式    2.12 运算符优先级与求值次序    第3章 控制流    3.1 语句与程序块    3.2 if-else语句    3.3 else-if语句    3.4 switch语句    3.5 whil循环与for特环    3.6 do-while循环    3.7 break语句与continue语句    3.8 goto语句与标号    第4章 涵数与程序结构    第5章 指针与数组    第6章 结构    第7章 输入与输出    第8章 UNIX系统接口    附录A 参考手册    附录B 标准库    附录C 变更小结    索引 作者介绍 -------------------------------------------------------------------------------- Brian W.Kernighan贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,如《The C Proguamming Language》、《The Elementsof Programming Style》等。 推荐资源 C# 编程实例与技巧 C 程序开发经典实例之一.doc windows程序设计第五版(中文版) 贪吃蛇 游戏 C++ C# 程序开发范例宝典(第二版) 源代码 20~21 C、C++面试题大全 Java程序员就业面试大全 程序员面霸手册(笔试面试的葵花宝典) visual c++6.0应用编程150例源代码 经典的经典C#经典面试题 作者其他资源编程大讲坛:C语言核心开发技术从入门到精通(光盘代码) C语言库函数功能查询器(绿色版) 共有评论81条 hua5040发表的评论 学习,收藏。。。 时间:2010-10-22 18:09:48 来自:58.60.231.* chenshanmeizhu发表的评论 bucuo hen nanzhao 时间:2010-10-18 11:04:36 来自:116.228.2.* llf_17发表的评论 很好的书,经典 时间:2010-10-17 19:21:45 来自:221.12.174.* jujyter发表的评论 绝对的c中经典 时间:2010-10-17 16:36:25 来自:115.25.169.* z_free发表的评论 学习 学习 看看 时间:2010-10-17 10:11:32 来自:221.212.116.*共81个 下一页 发表评论现在有81人对本文发表评论 热门Tag JAVA C++ linux C# 教程 C语言 android 源码 PDF 编程 sql c Windows matlab ORACLE 源代码 api 中文 数据库 arm JavaScript 破解 数据结构 vc visual jQuery 计算机 答案 单片机 php JSP mfc .NET 中文版 VB 本周热点资源 C、C++面试题大全 嵌入式Linux系统开发技术详解--基于ARM(完整版) 程序员面霸手册(笔试面试的葵花宝典) visual c++6.0应用编程150例源代码 Dom文档对象模型-2010版 linux的内核及其内核源码分析1 嵌入式系统的C程序设计 Java程序员就业面试大全 经典的经典C#经典面试题 C、C++ 网络通讯笔试题大全 linux的内核及其内核源码分析2 嵌入式系统的内核引导启动过程浅析 linux的内核及其内核源码分析U-Boot PoorSakura vol.4 中文补丁(雯雅婷4 汉化补丁) 嵌入式系统构件基于arm sqlserver2005技术内幕:t-sql程序设计part1(中文完整版分4份下) C# 编程实例与技巧 本周上传用户排名 122个star20100906 43个aa3323036 28个sai5201314vicky 28个ltx0724 26个fengboss2010 23个zhoulei3862422 20个lghndyz 19个melody9758 19个qks123 19个DoomLord 17个afd_326 16个yuxuanmoge 16个bianchdaiw 16个muddy12345 15个zk6010 15个yosen 15个lleheaven 公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号世纪乐知(北京)网络技术有限公司 提供技术支持江苏乐知网络技术有限公司 提供商务支持 Email:[email protected] © 1999-2010, CSDN.NET, All Rights Reserved

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值