学习C语言,要从入门到精通

1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)? 

入门阶段:还是老谭那本。 
、、理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更。 

第二阶段:《c程序设计语言》(The C Programming Language)和《C语言解惑》(The C puzzle book) 
、、理由:《the c programming language》号称c语言圣经。其实它也只是一本介绍基础语法的书,不做入门教程是因为对于初学者来说,它难度稍大,之所以推荐,是因为它能让你---系统而严密的---把C语言知识构架整理一遍。《c语言解惑》,系统的整理了c语法中容易让你产生迷惑或容易犯错的地方(如a+++++b等),这时候你才算真正开始学习c语言了.(以上两本现在出重印了,应该在书店可以买到) 

第三阶段:《C陷阱与缺陷》(C Traps and Pitfalls)和《高质量c/c++编程指南》 
、、理由:《c陷阱与缺陷》是让对c的理解有质变得一本书,如如何理解(*(void(*)())0)()等问题,我的感觉是看完这本书让我真正从小菜鸟变成了老菜鸟。《高质量...》,终于有一本国产的了,呵呵,我认为这本书是把你从土匪变成正规军的最好指南,该书涉及编程风格、效率、重载、健壮性等一些列之前很难注意的问题。(以上两本《c陷阱...》已绝版,不过网上可以下载到中英文版,《高质量...》本身就是网络书,很容易找到) 其它推荐书:《c专家编程》《c和指针》 说实话这两本书我并没有看过(或看完),但有口皆碑,都是经典之作,不过都已经绝版,仔细找找网上有下载的。 

2、有哪些好的C语言练习(越难的越好)? 
、、对语言本身的练习其实就是你对它的理解,用得多了,注意得多了,自然就ok了。其它思维上的练习主要是算法和数据结构方面的,严老的《数据结构题集(C语言版)》如果你能做完就相当了不起了。 

3、要学精C语言,还要具备哪些条件? 
、、其实c语言也只是一个工具而已,就像锄头一样,你每天挖地锄田自然就精通它了。只要不是白痴,应该都没有问题。 

4、C语言学完后接下去要学哪些语言好? 
、、这个我就没有资格回答了,因为除了少量汇编和c++,我大部分只用到了c,不过也许是一脉相承的c++吧。c是面向过程的语言,学习c++面向对象的思想。 

5、各位网友如果在学习计算机语言方面还有一些独到的见解,欢迎提出! 不是我提出的,不过真的很经典——“天下程序一大抄”,呵呵。

---百度知道

---
Kernighan & Ritchie 的《The C Programming Language》;Linden 的《Expert C Programming》; Andrew&
Koening《C Traps and Pitfalls》; Steve Maguire 的《Write Clean Code》;Steve McConnell 的
《Code Complete. Second Edition》;林锐的《高质量C++/C 编程指南》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序设计爬楼梯问题_楼梯案例:解决楼梯问题的C ++程序

程序设计爬楼梯问题A child is running up a staircase with N steps, and can hop 1 step, 2 steps or 3 steps at a time. Implement a method to count how many possible ways the child can run up to the stairs? You need to return number of possible ways W. 一个孩…

JDK15正式发布,新增功能预览!

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)JDK 15 在 2020 年 9 月 15 号正式发布了,这次发布的主要功能有:JEP 339:EdDSA 数字签名…

[LeetCode] Longest Consecutive Sequence 求解

为什么80%的码农都做不了架构师?>>> 题目 Given an unsorted array of integers, find the length of the longest consecutive elements sequence. For example, Given [100, 4, 200, 1, 3, 2], The longest consecutive elements sequence is [1, 2, …

怎么在Word中插入歌曲

1、菜单栏 -> 插入 -> 对象 -> windows media player -> 右键 -> 属性 -> 自定义 -> 选择歌曲完整路径 -> 选择模式 -> invisible(使视频框隐藏)退出设计模式最后别忘了保存2、菜单栏 -> 工具 -> 宏 -> 宏 -> 宏…

双向循环链表

双向循环链表是一种较为特殊的链表,也是一种常见的数据结构,其头尾相连,各节点之间可互相访问,在单链表中,只能依次向后访问,无法访问上一个节点,而双链表可以依次向下访问也可向上访问。 链表…

OkHttp透明压缩,收获性能10倍,外加故障一枚

要使用OkHttp,一定要知道它的透明压缩,否则死都不知道怎么死的;或者活也不知道为什么活的不舒坦。反正不是好事。什么叫透明压缩呢?OkHttp在发送请求的时候,会自动加入gzip请求头Accept-Encoding:gzip。所以&#xff0…

块元素、行内块和内联元素_如何删除内联块元素之间的空间?

块元素、行内块和内联元素Introduction: 介绍: This question has become rather popular. How does one remove whitespaces between the inline-block elements? The interesting thing is there are numerous solutions to this but not all of them are easy …

Spring--quartz中cronExpression 的配置方法

Spring--quartz中cronExpression Java代码 字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN-DEC , - * /…

C语言图形库——EasyX基本贴图

在C语言的学习过程中,接触最多的就是黑乎乎的DOS窗口,这也是在消磨学习者的兴趣,学到最后可能还不知道C语言到底能做什么,难道就是输入输出数据吗?当然不是,C的用处很广泛,这里不做讨论。我们能…

HTML5-特效

HTML5-特效-跟随鼠标的粒子<!DOCTYPE html> <html lang"en"><head><meta charsetutf-8><title>Liquid Particles - spielzeugz.de canvas experiment </title><meta name"description" content"HTML5/canvas …

一气之下,手撸了一个抖音去水印的工具!

百因必有果说一下我为什么要做个抖音视频去水印工具&#xff0c;其实是因为我的沙雕女友&#xff0c;她居然刚我~有天晚上她在抖音看见一个非常具有 教育意义 的视频&#xff0c;“男人疼媳妇就该承包全部家务活”&#xff0c;然后它就想把视频下载下来&#xff0c;分享到她的姐…

css 隐藏元素 显示元素_使用CSS打印时如何隐藏元素?

css 隐藏元素 显示元素Introduction: 介绍&#xff1a; We have come across many challenges while developing a website or web page and every challenge comes with new learnings. It is a trait of a good developer who develops or creates websites or web pages by…

C语言图形库——EasyX常用函数

上节讲到贴出一张图片的过程&#xff0c;本节接着介绍一些基本的图形库函数。 头文件 #include <graphics.h>1、图形窗口背景颜色设置函数&#xff1a; 例 setbkcolor(YELLOW)&#xff1b;//将图形窗口背景颜色设置为黄色。也可用 setbkcolor(RGB(180,24,137));利用三…

Adobe_Audition消除人声

傻瓜式: 方法一&#xff1a;效果 - 立体声声像 - 声道重混缩 - 选择Vocal Cut 新建左声道(左100;右-100) 新建右声道(左-100;右100;反相) 方法二&#xff1a;效果 - 立体声声像 - 析取中置通道 - Karaoke(效果预置) - 男声. (测试后&#xff0c;在傻瓜式中这种方法效果最好) 方…

Java新特性:数据类型可以扔掉了?

作者 | 王磊来源 | Java中文社群&#xff08;ID&#xff1a;javacn666&#xff09;转载请联系授权&#xff08;微信ID&#xff1a;GG_Stone&#xff09;在很久很久以前&#xff0c;我们写代码时要慎重的考虑变量的数据类型&#xff0c;比如下面这些&#xff1a;枚举&#xff1a…

Spyder:Python中机器学习的强大武器

So, first of all, you would need to install Anaconda distribution which can be downloaded from the link https://www.anaconda.com/download/ (for Windows users only). 因此&#xff0c;首先&#xff0c;您需要安装Anaconda发行版 &#xff0c;可以从链接https://www.…

C语言+数据结构总结

一、C语言部分 1、数据类型&#xff1a; Int 整形 4字节Short 短整形 2字节Long 长整形 4字节Float 单精度浮点型 4字节Double 双精度浮点型 8字节Char 字符型 1字节2、变量 …

对内存重叠的深入认识

内存重叠&#xff1a;拷贝的目的地址在源地址范围内。所谓内存重叠就是拷贝的目的地址和源地址有重叠。在函数strcpy和函数memcpy都没有对内存重叠做处理的&#xff0c;使用这两个函数的时候只有程序员自己保证源地址和目标地址不重叠&#xff0c;或者使用memmove函数进行内存拷…

Android特效 五种Toast具体解释

Toast是Android中用来显示显示信息的一种机制&#xff0c;和Dialog不一样的是&#xff0c;Toast是没有焦点的&#xff0c;并且Toast显示的时间有限&#xff0c;过一定的时间就会自己主动消失。 1.默认效果: 代码:Toast.makeText(getApplicationContext(), "默认Toast样式&…

为什么阿里巴巴禁止使用BigDecimal的equals方法做等值比较?

△一个对Coding有着独特追求的人△作者 l Hollis来源 l Hollis&#xff08;ID&#xff1a;hollischuang&#xff09;BigDecimal&#xff0c;相信对于很多人来说都不陌生&#xff0c;很多人都知道他的用法&#xff0c;这是一种java.math包中提供的一种可以用来进行精确运算的类型…