《手把手教你学C语言》学习笔记(1)---C语言的特点
学习C语言的原因,主要是需要使用C语言编程,我用故我学,应该是最主要的原因了。
- C语言的定位:C语言严格意义上只能算是中级语言,是面向过程编程语言的集大成者,虽然这种语言有很多的问题,但总体而言是瑕不掩瑜。因此才能在后来的Java和C#的夹击中依旧独领风骚很多年,加上自己的定位非常准确,控制硬件作为其最大的作用,在嵌入式领域几乎无可取代。
- C语言的运行速度很快,代码量小,上手容易,功能上与使用者有关,总体很强大。C语言的两大支柱是库和指针,是C语言的核心知识点,遗憾的是国内很多高校这两个内容都不讲,只给学生介绍基本的程序控制语句,变量的定义,数组的应用等基本的语法知识。导致学生学完C语言之后依旧还是什么都不懂。这应该既是教育的悲哀,更是学生的悲哀吧。
- C语言的缺点是开发危险高,周期长,移植性比较弱。但是我们的很多教材是这样说的,“C语言比较灵活,上手比较容易,可移植性好”等,教材的说法开始没有问题的,但是,没有考虑到技术的发展,现在已经是C语言30多岁了,并且有了Java等更简单的语言,C语言入门已经不算简单了,可移植性在Java面前就更不值得一提了,Java语言是一次编程,到处运行的。因此,有时教材的话只能作为参考。
- C语言的开发适合与硬件直接打交道的地方,比如操作系统,硬件驱动程序,游戏编程,嵌入式等。如果你只是需要编应用程序,建议不要学习C语言编程,也许面向对象编程更加适合你。
这次的重点就是告诉你C的两个知识点库和指针而已。
本书推荐的开发环境是vc++,由于本人安装的linux系统,使用的开发环境是manjaro linux + vim + gcc + gdb + make来完成所有的代码的编辑、编译、链接和调试等工作。
《手把手教你学C语言》学习笔记(1)---C语言的特点的更多相关文章
- Go语言学习笔记(一) [Go语言的HelloWorld]
日期:2014年7月18日 1.简介 Go 编程语言是一个使得程序员更加有效率的开源项目.Go 是有表达力.简 洁.清晰和有效率的.它的并行机制使其很容易编写多核和网络应用,而新奇的类型系 ...
- C语言学习笔记一---C语言概述
一.编程语言与解释语言 1.程序的执行 a.解释:借助一个能试图理解程序的程序,使计算机按要求执行你自己写的程序 b.编译:将所写程序翻译为机器语言写的程序,使计算机按要求执行你自己写的程序 2.两者 ...
- C语言学习笔记01——C语言概述
作者:Eventi 出处:http://www.cnblogs.com/Eventi 欢迎转载,也请保留这段声明.谢谢! 1 C语言的起源 1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritc ...
- 【C语言学习笔记】C语言函数执行成功时,返回1和返回0,究竟哪个好?
基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...
- go语言学习笔记-初识Go语言
Go语言是怎样诞生的? Go语言的创始人有三位,分别是图灵奖获得者.C语法联合发明人.Unix之父肯·汤普森(Ken Thompson).Plan 9操作系统领导者.UTF-8编码的最初设计者罗伯·派 ...
- R语言学习笔记1——R语言中的基本对象
R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...
- C语言学习笔记:15_c语言中的进制操作.c
/* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...
- C语言学习笔记---2.C语言数据类型
1.C语言基本数据类型 1.1 int类型 int类型是有符号整型,即int类型的值必须是整数,可以是正整数.负整数或零.其取值范围依计算机系统而异.一般而言,储存一个int要占用一个机器字长. 声明 ...
- C语言学习笔记---1.C语言概述
1.典型C程序结构 2.C程序细节 2.1#include指令和头文件 #include这行代码是一条C预处理器指令(preprocessor directive).通常,C编译器在编译前会对源代码做 ...
- C语言学习笔记 (008) - C语言字符串操作总结大全(超详细)(转)
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...
随机推荐
- 【JS】JS实现时间戳转换成普通时间
var time = 1514457627; alert(getDate(time)); function getDate(tm){ var tt=new Date(parseInt(tm) * 10 ...
- mysql密码正确却提示错误, 不输入密码反而能登录
今天部署阿里云服务器, 发现之前可以连接的mysql服务器突然连接不上了, 密码我确认是正确的,但登录时就是显示密码错误, 很崩溃, 差点气得我就想重装mysql了. 好在经过几番苦寻找到了以下能解决 ...
- eclipse快捷键(shift+ctrl+l能出来所有的快捷键)
[ALT+/]此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下[ALT+/]快捷键带来的好处吧. 2 [Ctrl+O]显示 ...
- IntentService和Service执行子线程对比
1.为何要用子程序 服务是在主线程中执行的,直接在服务中执行耗时操作明显不可取,于是安卓官方增加了IntentService类来方便使用 在Service中执行子程序代码如下 @Override pu ...
- eclipse中设置JVM内存
一. 修改jdk 使用内存: 找到eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit 按钮,在编辑界面中的 ...
- HDU 3032 Nim or not Nim?(Multi_SG,打表找规律)
Nim or not Nim? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- Java开发经验
两个类要传递参数: 1.构造方法 2.方法的参数 3.静态的变量
- 动态加载css,js
function dynamicLoadCss(url) { var head = document.getElementsByTagName('head')[0]; var link = docum ...
- Flask With
- loj2537 「PKUWC 2018」Minimax
pkusc 快到了--做点题涨涨 rp. 初见时 yy 了一个类似于归并的东西,\(O(n^2)\),50 分. 50 分 yy 做法 对于一个点,枚举他能到达的权值(假设这个权值在左子树,在右子树是 ...