学习C语言的基础是什么?

我已经上了一遍C,但是到二维数组时就听不懂了。 .
还有对指针也是模糊的感觉,为什么会存在指针,为什么会存在二维数组?
它们是怎么来的?
这些老师没有讲?
不知道学习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语言中,预处理命令行都以“#”开头;当需要时才用#include<stdio.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语言规定,注释语句可以换行写,并且一个“/*”和
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-08-31
C语言是一门基础语言,通过对它的学习,你可以熟悉基本的程序设计逻辑(最最的基本数据结构和最最基本的算法)
之后你可以进一步地学习高级语言程序设计C++,C#,JAVA等(软件和网络方向)
当然,你也可以向硬件方向发展,你可以好好的学习一下汇编语言,数字逻辑,计算机体系结构,微机原理,接口技术,单片机,linux和unix操作系统等,然后让C与汇编融合,直接去与硬件(芯片,寄存器等)打交道,编一些驱动程序,操作系统什么的
呵呵,加油吧!

的确如楼下所言.数学是计算机科学的灵魂啊,完全可以这么说的.
计算机专业必修的三门数学课程分别为高等数学,线性代数和离散数学.
有一个很有趣的现象不知道大家有没有注意到.现在很多一类大学的计算机科学(应用)系和软件工程学院的主任都是硬派学者(搞数学研究的).
第2个回答  2020-04-12
经典的
HELLO
WORLD
例题
作个入门之后
看看
与算法相关的书籍,
当你能够自己写出五十行以上的程序时(自己不对照参考书),你可以看看比较权威的书了或是更加专业的书比如
WINDOWS
API
函数,或是图象编程\等等我自认为
这个步骤是最完美的我就是这样作的
只不过看到了第二步
第3个回答  2007-08-31
需要计算机基础,对内存要有所了解,就知道指针了
另外二维数组就是矩形的概念,三维是立方体,四维可以理解为时空概念,5维估计爱因斯坦也不知道了,但是计算机还是能表示。。
第4个回答  2007-08-31
数学基础也不可忽视
上过高等数学的话对数组的概念就容易理解了
相似回答