《C语言程序设计基础教程》教材是普通高等教育“十一五”国家级规划教材(高职高专教育)。《C语言程序设计基础教程》以培养学生结构化程序设计的基本能力为主线,采用由浅入深、循序渐进的教学策略进行讲解,主要内容包括C语言程序设计概述、顺序结构程序设计、分支结构程序设计、循环结构程序设计、数组与字符串、函数、编译预处理、指针、结构体与共用体、文件以及位运算等内容,非常适合初学者使用。教材编排时充分考虑了教师组织教学的需要,各章均提供了教学目标、本章小结及丰富的例题、习题,还可以为用户提供各章的源程序代码、教学建议、习题参考答案等教学资料。

《C语言程序设计基础教程》可作为应用性、技能型人才培养的各类教育相关专业的教学用书,也可供各类培训、计算机从业人员和爱好者参考。[1]
谭浩强的C语言是很好的,我觉得第二版比较好,相较第一版内容有较多修订,相较第三版和第四版,仍然有少量的C++的介绍,如果需要可以看一眼,不需要也就算了。
其实第二,三,四版的C语言内容就已经没有太大差别了,如果第二版不好买,又准备系统学习C++的话,可以买容易买到的版本。 谭浩强的C++就讲的不是特别好了,并不建议自学。
主要涉及四个方面的学习与训练。
1).学习并理解C语言的语法和语义。
语法:规定了C语言中各种符号集中各种符号的结合方式,规定了各种表达式、语句、函数乃至程序结构等的构造规则。
语义:构成C语言的各种符号的含义。
只有正确理解了C语言的语法和语义,才有可能正确地进行程序设计,才有可能读懂别人编写的程序。
对语法语义的掌握程度根据初学者的专业和目标有不同要求:
非计算机专业:知其然即可,即学会如何使用即可;
计算机专业:知其然亦知其所以然,不仅要会使用,而且要学会C语言的形式化描述,学会分析语法成分的合理性、类型的抽象性等。为有朝一日设计新的程序语言奠定坚实的基础。
2).学习并掌握一些基本数据结构和常用算法的设计
另外,文本是C语言的基本研究对象,对文本操作的各种算法都要熟练掌握。以及其余各种算法原理学习代码实现。
3).熟悉集成开发环境
在C语言中,编译系统提供了一些标准的库函数,如I/O的标准库函数、字符串处理的标准库函数、数学计算的标准库函数等。学习者只需知道这些标准库函数的功能、调用方式、返回何种结果,并且能够在自己的程序中调用这些标准库函数即可,而完全没有必要自己去编写这些函数。但是,计算机专业的优秀学生还应具备编写这些库函数的能力。