C语言程序设计新思路主编巨同升副主编贾凌刘冬霞刘焕亭科学出版社科学出版社北京
内容简介本书依据最新版的C语言参考手册编写,兼顾C89与C99标准。本书内容包括引论、基本数据与运算、顺序结构、选择结构、循环结构、数组、指针、字符串处理、函数、函数进阶、编译预处理、结构体与共用体、位运算、文件等。本书采用“编程驱动知识”的方式布局知识,采用“真实情境法”讲解语法,采用“逐步构造法”讲解程序。本书在主要章节中,以二维码的形式提供了C语言程序设计的教学视频,尤其适合于初学者使用。本书依据VisualC++2010Express和DEV-C++5.1I集成开发环境进行讲述,符合当前软件发展趋势,便于读者上机调试程序。本书可作为高等院校各专业学生学习C语言程序设计的教材和参考书。图书在版编目(CIP)数据C语言程序设计新思路/巨同升主编.一北京:科学出版社,2020.1ISBN978-7-03-064295-0I,@CII.@巨.IⅢI.C语言-程序设计IV.@TP312.8中国版本图书馆CIP数据核字(2020)第007455号责任编辑:胡云志滕云丨责任校对:杨赛责任印制:霍兵/封面设计:华路天然工作室科学斜学出版社出版北京东黄城根北街16号邮政编码:100717http://www.:iencep,石家庄维文印刷有限公司印刷科学出版社发行各地新华书店经销*2020年1月第版开本:787×10921/16-2020年1月第一次印刷印张:161/4字数:410000定价:46.00元(如有印装质量问题,我社负责调换)
前言C语言是目前世界上使用较广的高级程序设计语言,广泛应用于系统程序设计、数值计算、自动控制等诸多领域。C语言的产生为有趣,C语言实际上是UNIX操作系统的一个副产品。1972年,美国贝尔实验室的DennisRitchie为了开发UNIX操作系统专门设计了一种新的语言——C语言。C语言具有强大的功能、很高的运行效率,兼具高级语言的直观性与低级语言的硬件访问能力,因而很快从贝尔实验室进人了广大程序员的编程世界。DennisRitchie设计C语言的初裹是用于开发UNIX操作系统,因此C语言称得上是一门专业型语言。这使得C语言在具有强大的功能、很高的运行效率的同时,也在一定程度上存在语法嗨涩难懂、不便于初学者掌握的不足之处。因此,C语言似乎不太适合作为程序设计初学者的入门语言。不过在现代人效率观念的驱使下,仍有许多学校将C语言选作程序设计初学者的门语言。其实,这样选择也未尝不可。只不过在教学中应当思考如何采取有效的应对策略,使初学者避开嗨涩难懂的语法,从C语言中最基本、最实用的编程方法入手,力争使学习者尽快学会程序设计的基本方法,进而达到应用编程解决实际问题的目的。从学习者的角度来说,要注意抓住C语言学习的重点所在一一编程方法,而不要沉溺于C语言的语法细节之中。因为学习C语言的目的是编写程序解决实际问题,而过于细致地研究C语言的语法对于提高编程能力并没有大的帮助。针对上述问题,本书在教学内容的编排上,采用了“编程驱动知识”的方式,即根据各章编程目标的需求,合理地安排每一个知识主题的切人点,从而将C语言中枯燥难懂的语法知识分解到全书各章中;采用“真实情境法”讲解语法,力求通过程序实例展示归纳出语法知识点;在讲解程序实例时,采用“逐步构造法”写出程序,即通过编程思路、算法设计、程序原型等环节一步一步地构造出完整的程序,从而加深读者对编程方法的理解和掌握。本书在主要章节中以二维码形式提供了C语言程序设计的教学视频,有助于读者自学参考使用。本书第2章由刘焕亭编写,第3章、第12章由贾凌编写,第4章、第6章由崔孝风编与,第7章由宋吉和编写,第14章由刘冬霞编写,其余各章由巨同升编写。全书由巨同升统筹并定稿。本书所附教学视频由巨同升、解红、周洁、刘冬霞讲授。李业刚、李增祥对本书的编写提出了宝贵的建议在本书编写过程中,作者得到了山东理工大学计算机科学与技术学院广大同仁的大力支持与帮助,在此表示感谢。由于作者水平所限,书中难免存在不足之处,敬请广大读者批评指正。作者2019年9月于山东理工大学
科学出版社
L如何学好C语言C语言作为一门专业型的语言,具有功能强天、运行效率高、实用性强等特点。但是若作为学习程序设计的入门语言,C语言却存在诸多不足之处,如C语言的语法过于灵活C语言的指针功能过于强大等。凡此种种,往往会给初学者造成诸多困惑,甚至严重打击初学者学习程序设计的自信心。C语言难学似乎是初学者的一个共识,那么C语言到底难在哪里,如何才能破解C语言难学的困局呢?其实,C语言学习的难点主要在于其语法,而造成C语言语法难学的主要因素包括以下几方面。(1)C语言提供了多种功能独特的运算符,如自增(自减)运算符、复合赋值运算符、条件运算符、逗号运算符、位运算符等。(2)C语言允许将赋值表达式、自增(自减)表达式嵌人其他表达式中,导致C语言语句的表达形式灵活多变。(3)C语言中指针的使用无处不在、功能异常强大。(4)C语言中大大扩展了逻辑运算量的类型。(5)C语言中花括号与分号的位置若稍作变化,则往往导致完全不同的含义。以上特色一方面造就了C语言优异的性能,另一方面也给初学者埋设了诸多的困惑与陷阱,令人爱恨交加,欲黑不能。下面从三个方面探寻正确的C语言学习之道。1.如何学习C语言的语法其实,只要采取了正确的学习策略,C语言语法难学的问题是可以解决的。首先,需要明确语法在程序设计中的地位。学习C语言的最终目的是学会编写程序解决现实问题,因此编程能力的培养是学习的核心。而语法是编程的基础,是为编程服务的、因此语法的学习应当紧紧围绕编程这个核心,脱离了编程的语法是毫无意义的。是不是说必须系统地、牢固地掌握了C语言的语法,才能学好编程呢?其实并非如此。对于程序设计,更重要的是确定编程的总体思路或者说是算法,而不是具体实现中的语法。既往的经验表明,只需要掌握少量最常规的语法,就可以编写出解决一般问题的程序。至于有些非常规语法,即使是专业的程序员都极少用到,更别说是初学者了。因此,在学习时不要过于看重语法知识的系统性与连贯性,而应当根据程序设计的需求,循序渐进地积累语法知识。例如,C语言中的运算符与表达式特别丰富,若将这些内容集中到一章中学习,则既枯燥乏味,又难以深人理解;若根据语法与程序设计的内在联系,将这些内容分布到适当的章节中讲述,则既容易理解,又便于学以致用。例如,自增(自减)运算符和逗号运算符在学习循环结构之前儿平不会用到,完全可以延后到循环程序部分再学习:初学者应当优先学习既容易理解,又频繁使用的常规语法;而尽量避免研究既嗨涩难懂,又极少使用的非常规语法。例如,形如j-i+++i+++i++,a+=a-=a+a这样的表达式