小程序编程书
A. 有哪些你看了以后大呼过瘾的编程书
第一阶段:
C语言————《C语言设计》 作者:谭浩强
大多数人都推荐谭浩强的这本书,谭老师的C语言程序设计,我觉得更适合当教科书,主要是篇幅没有那么大,本书的内容不是很全,由老师带入门时最好的。
《C Primer Plus》第五版 作者:Stephen Prata
这本书比较厚,内容也比较基础,扩展也比较广,自学更容易上手,唯一的缺席在于他是外国人编写,而国内的翻译往往然人难以满意,如果你有较好的英语水平,最好阅读英文版的。
《C语言入门经典》第四版 作者:Ivor Horton
第二阶段:
这一阶段看个人的主攻方向,安卓一般就JAVA、PC游戏、软件C++,也有推荐C#,这些都是主流语言,其他语言要看个人爱好与发展。
面向对象的语言,一般懂一门,之后要转其他语言也很容易的,其实思想都差不多,主要的不同在于语法。C#容易上手,一个月入门,一年精通,而C++却有点难,一年入门,二十年也未必敢说自己精通。如果有时间,可以了解一下汇编语言。
第三阶段:
API/SDK------------- 《windows程序设计》(Jeff Prosise)
这书主要是开发Windows软件要深入研读的,毕竟是WindowsAPI。如果是主攻C++,那么这本书你可以大概略读一遍,不用过多的深入追究,QT才是C++主要深入思虑的关键。
第四阶段:
MFC----《VC++技术内幕》、《深入浅出MFC》及视频教程孙鑫 VC++6.0
如果是C++,QT是要重点学习的对象。
第五阶段:
COM/DCOM/ATL/COM+---------《COM技术内幕》
未知阶段:
《数据结构》,《算法导论》这些基本是编程的核心了,编程的很大情况都依赖于算法的实现,这个两门基本要深入研究,这是决定编程能力的核心标准。
如果不弄底层的话,《操作系统原理》可以简单地了解。
B. 用C语言编写一个简单的图书管理小程序
源代码如下:
#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
#include<stdio.h>
using namespace std;
const int maxb=10000; //最多的图书
class book//图书类
{
int tag; //删除标记1:已删0:未删
int number; //isbn书号
char name[20]; //书名
char author[10]; //主编
char number2[10];//版次
char position[20];//出版社
char time[20];//出版年
void addbook(int n,char *na,char *au,char *n2,char *da,char *ti,int pr) //增加图书
{
tag=0;
number=n;
price=pr;
strcpy(name,na);
strcpy(author,au);
strcpy(number2,n2);
strcpy(position,da);
strcpy(time,ti);
onshelf=1;
}
(2)小程序编程书扩展阅读
1、源程序中,很多符号都是成对匹配出现的,为避免遗漏必须配对使用的符号。
2、用花括号括起来的部分,但从程序结构清晰,便于阅读、理解、维护的角度出发,建议在书写程序时应遵循以下规则,以养成良好的编程习惯。
3、一个说明或一条语句占一行,与该结构开始处的左花括号对齐。
C. 初学者学习C语言,用什么书好,想用点比较经典的书。
学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何让编程初学者以最小的代价学习并精通C语言是本文的主题。请注意,即使是最小的代价”也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着各位编程初学者需要经历艰苦的过程。
一、要读就读好书,否则不如不读
所有初学者面临的第一个问题便是如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。
1. 《C程序设计语言》
Kernighan和 RitchiTheCProgramLanguag的《C程序设计语言》堪称经典中的经典,不过旧版的很多内容都已过时,和现在标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。
2. 《C语言参考手册》
即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》十分必要的C语言参考手册》就是CReferManualC语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的C程序设计语言》根据C89标准修订的而《C语言参考手册》描述的C99标准,二者可能会有些出入,建议按照C99标准学习。
3. 《C和指针》
这本《C和指针》写得也是相当地不错,英文名是PointeronC特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。相信,只要你理解了指针,C语言便不再神秘。
4.如果你已经看完一本C语言教材,并想要继续深入学习,那么我有两本书推荐给你
《C陷井与缺陷》
首先这本CTrapandPitfal的《C陷井与缺陷》,很薄的一本书,内容非常非常地有趣。不过注意的是,这本书是二十多年前写的,里面提到很多C语言的缺陷现在都已被改进,不过能够了解一些历史也不是什么坏事。
《C专家编程》
还有就是可以尝试挑战一下ExpertCProgram的《C专家编程》,书如其名,这本书颇具难度,不过一旦你仔细读完并能透彻理解,便可以放心大胆地在简历上写“精通C语言”
切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。
二、Unix/Linux还是Window这是个很大的问题
不同的编程环境会造就出不同思维的程序员。Window程序员大多依赖集成开发环境,比如VisualStudio而Unix程序员更加钟爱Makefil与控制台。显而易见,集成开发环境更容易上手,Window上学习C语言,只需要会按几个基本的VisutC++工具栏按钮就可以开始写Hello,World!而在Unix下,需要一些控制台操作的基本知识。有人也许认为Unix环境更简洁,但习惯的力量是很大的大家都很熟悉 Window基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。
对于一个只懂得Window基本操作、连 DOS什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的用C语言写一个小程序远比学习lscat等命令有趣,况且我要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefil写法等等等等。
所以我建议初学者应该以VisualC++6.0不是VisualC++.NET或者DevC++作为主要的学习环境,而且千万不要在IDE使用技巧上过多纠缠,因为今后你一定要转向Unix环境的VisualC++6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而DevC++使用gcc编译器,对C99标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用TurboC2.0作为实验环境,这是相当不可取的原因其一是TC2.0对C标准几乎没有支持,其二是TC2.0编译得到程序是16位的这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC2.0编译出32位程序,不过那过于复杂了
等你学完一本C语言的教材,一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的比如《C专家编程》转变的过程是痛苦的需要面对的各种纷繁复杂的命令,完全不同于Window平台的思考方式,但是这种痛苦是值得的Unix与C共生的Unix思考方式和习惯更加符合C语言的思考方式和习惯。Unix下,可以找到无数优秀的源代码供你尽情阅读,可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格(说到代码风格,会专门写一篇文章详细叙述)
归结起来就是一句话:编程初学者初学C语言,建议使用Window系统和集成开发环境,准备向“高手”方向努力时,请先转向Unix平台。
D. 大学生自学编程需要看哪些书
此推荐书籍和学习顺序是针对编程学习而言,不是针对计算机专业而言。学习这些书籍后,对于从事软件开发行业,则可以起步更快,而不是等到毕业后才知道。非计算机专业可能转行到软件开发的更是需要学习了。
大一上:
C Primer Plus
说明:大一刚进入大学,对于大学是陌生的,需要一定的时间熟悉。只需要自己学好C语言即可。
大一下:
VS使用:Visual Studio程序员箴言
C和指针
说明:学习编程需要熟悉开发工具,这是编程的基础。而C语言学习也需要加深。
大二上:
数据结构C语言版
C++ Primer Plus
说明:学习了基本的编程语言后,需要开始了解数据接算法基础了。同时,也需要学习面向对象的编程语言了。C++将作为主要的语言推荐,作为修炼大神必备语言基础。
大二下:
Windows程序设计
Linux系统使用
标准程序库STL
说明:语言学的差不多了,就需要了解操作系统的编程。Windows系统的使用则不必专门学习了,接触的多自然也熟悉。但是Linux系统的使用则需要额外的学习一下。然后对于编程需要进一步的学习程序库的使用,学习使用程序库提高开发效率,打好基础。
大三上:
计算机操作系统(非计算机专业自己学)
Boost入门
数据结构C++语言版
Windows核心编程
说明:学完了C++,因为数据结构是软件开发非常中重要的基础,所以再用面向对象思想来学习加深数据结构。在实际开发过程中,很多时候都是用面向对象的方式来做的。然后就是学习操作系统的基础理论和加深Windows编程,再学习一个程序库Boost,以后将会普及,需要提前学好。
大三下:
计算机网络(非计算机专业自己学)
MFC程序设计
Linux编程
说明:计算机网络也是必学的计算机理论,然后接触实际的开发库MFC。作为Windows开发MFC还是需要学习的,学会使用,然后学会MFC的设计思想等,其他框架其实想通的。Linux也需要开始编程了。
大四:
C++编程风格
C++编程惯用法_高级程序员常用用法和技巧
设计模式:可复用面向对象软件的基础
大道至简-软件工程实践者的思想
说明:大四开始面向毕业了,需要学习更多的开发规范,提高编程质量,提高解决问题的能力,需要学习一些高级层次的软件开发思想,毕竟前面已经有很多基础了。这个可以再根据个人的实际情况扩展。