c语言最最基础的是什么?
新手学习C语言,有很多误区,以一个学过C语言的人,给新手一些建议。
抛砖引玉,请前辈指出问题,发表意见,新手请注意后面的回复。
第一:一些概念。
C语言是一门程序设计语言,有一些标准,比较重要的是ANSI C(好像是C89)和C99。
数据结构包括逻辑结构和物理结构。逻辑结构是数据元素集合和定义在集合上的关系。物理结构是逻辑结构在计算机中的实现。
LCC、VC、TC、GCC都是C语言编译器,一般包括集成开发环境,编译器和链接器及辅助工具
我们书写的是C源程序,源程序通过编译器编译为中间文件,中间文件经链接器链接生成可执行文件。不同操作系统可执行文件不同。中间文件也有几个标准,微软使用的和Linux下通用的有差异。
第二:学习什么。
个人认为程序设计学习的重点放在数据结构的学习上,但是这种学习要有一个平台,比如C语言。
学习C语言首先要掌握基本语法,常量、变量、类型、及顺序结构、分支结构和循环结构的意义及用法。进一步学习构造类型如指针、结构、函数的意义和用法。
C语言提供一些标准函数以减轻程序设计工作量,这些函数我们自己也可以实现。即使不依靠函数库,只有编译器,理论上就足够了。事实上,提供的标准函数效率都很高,使用很频繁,没有自己实现的必要,所以掌握常用函数是非常必要的,但是要注意函数的适用范围。
继续学习因人而异,应该可以独立选择了。
第三:如何学习。
强调多实践,C语言的学习要经常上机,多写程序才能逐步提高。
推荐书籍:C Programming Languge。有中译本,但最好看英文版。
通读,并将所有习题独立思考,给出解答,尤其是编程实践题,最好逐一上机完成。
学习C语言要些什么基础?
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
由于C语言简单易学,已经成为学习编程的入门语言之一。在大学一年级,已经安排C语言相关的学习课程。由此可见,C语言的学习并不需要前置课程,可以轻松入门。附件是一本适合初学者入门学习的C语言书籍。其中包括:基本数据类型,运算符与表达式,控制流,函数,指针,数据结构,输入输出等基本基本知识的介绍。能够熟练运用上述的C语言规则,就可以完成C语言入门学习的内容。
一般要掌握基本的微机原理的知识、英文阅读的能力。学习语言注意要多动手,多思考调试,还要能坚持不懈,最重要的还有兴趣。
只要同学们掌握一些方法,多读,多写,克服心理上畏难情绪,C语言是完全可以学好的并且灵活应用的。
至于看什么书,推荐几本:
1.C语言入门经典
《C语言入门经典》例子简单生活化,而且每个例子分析很细。章节安排合理,章末的例子还特别注重思路的引导,而且分析起来特别有成就感。
这本书是自学过程的一本好书。
2.C primer plus
这本书很适合希望系统学习C语言的读者,正如他的名字,是一本不错的入门和进阶的书。书中的每一个知识点都有很多生动简单的示例,并给出了相应的运行结果。总之,在看这本书的过程中,有一种一气呵成的感觉。
3.C和指针
这本书和《专家编程》《C缺陷和陷阱》可以并称C语言(进阶书)三杰。本书的部分内容更适合有C基础的人看。如ADT、递归、指针和数组的部分,书中所述的思想是国内教材所缺乏的。看完本书,能得到一个正确的C语言观。
4.C程序设计语言
难以置信的是,这样一本C语言的入门书籍,从hello world开始讲起,却在短小的篇幅里,手把手教你写了stdio.h stdlib.h
string.h当中大部分例程,实现了二分查找、快速排序、二叉树、哈希表这些重要的数据结构和算法。这本书传递着一种简单、优雅、平实和闲适。
5.C专家编程
《C专家编程》展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。
c语言编程怎样入门
一、工欲善其事,必先利其器
这里介绍几个学习C语言必备的装置和书籍:
A)开发环境
例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个平台虽然体积大,但是一旦安装好了,用起来很方便。
B)一本学习教程
现在C语言教材多如牛毛,推荐大家使用《C语言程序设计》第二版。此书很适合初学者,并且内容也很精到。
C)利用辅助学习软件
毕竟现在是Windows时代了,学习软件多如牛毛,这里向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,有好几千题的题库测试环境,包括一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。
二、葵花宝典
学习计算机语言最好的方法是什么?答曰:读程序。
没错,读程序是学习C语言入门最快,也是最好的方法。我们大家都应该有个体验——在最初学习windows系统操作或Microsoft words如果操作的过程中,刚开始总是正儿八经地买来教材,结果读来读去却云里雾里,而当我们将教材丢在一边,拿起鼠标反复地试,几个小时就搞定。包括学习J#,C#等其他语言,在今天的Windows时代,也不再提倡抱着书本逐行啃,而是学习它们的例程。
当然,对于没有学过任何计算机语言的初学者,多少要先阅读教程,认真体会所有概念,然后不放过这一章中提到的所有例程,仔细研读,直到每一行都理解了,再找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序。如果写不出来,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止。
三、登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些I/O函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:
你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,那么恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。
学习C语言的基础是什么?
1. 每个C程序有且只有一个主函数main(),且程序必须从main()函数开始执行,并在main()函数中结束。
2. 在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面必须为整数。
3. 用单引号括起来的一个字符常量只能存放一个字符;C语言中没有字符串变量,只能用字符数组来存储字符串。
4. 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。
5. 在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。
6. 用sizeof(int)计算int类型数据的字节数。
7. C语言运行时,首先系统检查语法的正误,再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。
8. 预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。
9. feof函数的作用是检查文件是否结束,当结束时返回的值为非零,否则为零。
10. 当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。
11. 在赋值表达式中,赋值运算符“=”右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。
12. 静态局部变量,只有当程序结束后,其值才释放。
13. 当调用函数时,实参是一个数组名,则向函数传送的是数组每一个元素的地址。
14. 算法的特点为有零个或多个输入,有一个或多个输出,当相同的输入时,其结果相同;算法正确的程序最终一定会结束。 15. 在C语言中,预处理命令行都以“#”开头;当需要时才用#includestdio.h;预处理的作用就是实现宏定义和条件编译。 16. 当数组元素的下标超出了定义的下标范围时,系统不给出“下标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。
17. 共用体变量不能作为函数的参数,也不能使函数带回共用体变量。
18. 指向函数的指针变量的定义形式为:数据类型 (*指针变量)(); ,因此其为指向函数的指针变量。
19. 用C语言编写的代码程序是源程序,只有通过编译、连接才能进行。
20. 在说明为static时,其生存期得到延长,而其作用域并没有改
var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);
变,在定义后系统会自动帮它赋值为0,static为关键字不能被用作它用。
21. 频繁地使用空语句会降低程序的可读性和运算速度。 22. 运算符%两边都应是整数,赋值语句左边应该是变量,而非表达式,强制转换语句强制类型应加括号。
23. 在逻辑运算符中,其两侧的运算符对象为任意合法的表达式即可。
24. 函数fread(Iarray,2,16,fp)的功能是,从fp所指的数据文件中读取16次2字节的数据存储到数组Iarray中。 25. 整个流式文件也可以随机存取数据,C语言文件中有好多函数可以达到写入数据时,未经输入数据,达到不覆盖的目的,在进行写操作时,系统会自动关闭文件。
26. 使用putchar、getchat、puts、gets、printf、scanf函数时,必须在程序的开头出现包含头文件#include”stdio.h”的命令行,而使用字符串处理函数时,必须在程序的开头出现包含头文件#include”string.h”命令行,而使用数学函数时,必须在程序的开头出现包含头文件#include”math.h”的命令行。
27. 一个斜杠与小于等于127任意数字按一个字符计算,一个斜杠与任意一个字符按一个字符计算。
28. 一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法。
29. 根据C语言规定,注释语句可以换行写,并且一个“/*”和
c语言基础知识必背有哪些?
c语言基础知识必背有1、c语言的命名;2、变量及赋值;3、基本数据类型;4、格式化输出语句;5、强制类型转换;6、常量;7、自动类型转换。
零基础如何学习C语言?
现在,市面上的 C语言书籍多的数不过来,但是很多不适合你这种初学者使用,作为一名老程序员,我给你推荐几本我看过认为还不错的书:
1) 《C语言小白变怪兽》:既适合对计算机一窍不通的小白,也适合有编程基础的读者,还可以用来进阶。同时,最重要的是,这本书的作者还在不断地更新这本书,我认为最大的特点是通俗易懂,深入浅出,只要认真看,就一定能看懂,我认为这是C语言入门的首选教材,吐血推荐,经典中的经典!!!
2) 《啊哈C语言》:适合对计算机一窍不通的纯小白,有编程基础的读者请忽略。这本书语言幽默,生动形象,通俗易懂,给人耳目一新的感觉,但是这本书非常浅显,并不深入,所以适合纯小白入门,找到门以后也就扔了。这本书着重于语言艺术,针对纯小白下足了功夫,小学生坐在马桶上都能学会编程。说实话,我非常欣赏作者的创意和用心,国内像这样写书的少之又少,入门的书就应该是这个样子。
上边这两本书是我推荐给你用于C语言入门的,我不建议你使用谭浩强的《C语言程序设计》这本书入门,虽然这本书的知名度很高,因为很多大学把它作为C语言的授课教材,然而,这本书被吐槽最多,不但代码不标准,而且有很多错误,据说可以找出几十个错误,这样很容易误导你这种小白。
等你有一定的C语言基础了,可以看下面的这几本书,进一步提升你的编程水平:
1) 《C Primer Plus》:畅销 30 余年的C语言入门经典书籍,至今无人能撼动它的地位,它是最符合C语言标准的书籍,作为一名C语言程序员,不收藏一本都觉得自己很水。
2) 《C程序设计语言,The C Programming Language》:C语言创始人丹尼斯·里奇(Dennis MacAlistair Ritchie)的著作,和《C Primer Plus》并驾齐驱,很难分出伯仲,这两本书都是一样的优秀,都是C语言程序员必须收藏的。
3) 《C专家编程》:适合已经具备C语言基础、想进阶的读者。这貌似是一本吐槽C语言的书,基本上介绍了大多数C语言的坑,有不少精髓,在C语言界久负盛名,进阶时一定要看。
4) 《C陷阱与缺陷》:和《C专家编程》类似,也是给C语言挑刺的,阐述了很多容易让人误解的语法细节,重在帮助C程序员绕过编程过程中的陷阱和障碍。
5) 《程序员的自我修养 -- 链接、装载与库》:这真是一本深入骨髓的书,让你彻底明白程序的编译、链接、装载和运行的全过程,你会从此上天,拉开和别人的差距,看任何问题都有了深度和高度。重点推荐!