面向对像的C语言
- 原始文档建档时间:2013年11月14日,12:33:49
- MD建档时间:2/13/2016 2:29:25 AM
- CSDN发布:http://blog.csdn.net/WinsenJiansbomber/article/details/50658423
在CSDN问答上,有人提问说:[学习计算机组成原理这门课程需要什么基础][http://ask.csdn.net/questions/240681#answer_225393]?目前只学过了c/c++数据结构操作系统之类的。现在感觉看计算机组成原理很费劲,特别是电路图。是不是学习之前要什么基础?
我竟然说了这样一句话:
得有点电路基础吧,高中那点东西纯属闹剧,忽悠家长们的荷包用的。
数据结构和逻辑电路基本上已经是两个领域了,所谓跨行隔山,你觉得费劲那是自然的事。而且计算计原理涉及的方面太广了,特别是CPU内部,既有数学原理,又有电子原理。加油吧,遇到接受不了的时候说明还有欠缺的基础没掌握,应该先转向基础的学习,否则硬搞伤身心。学习要有引导性的渐进过程。另外,所谓“学好某门课程就好”这个观点也是不太对的,因为涉及领域太广,不可能将课程都学好,能做到将有关的核心的,对自身学习有突破性影响的内容掌握好,就非常了不起了!
C语言基本数据结构
定义一个变量就是开拓一块在内存,作为用来存放变量所具有的数据的盒子。然后把内存地址交给等号左边的变量,就像把门关上,拿好你的钥匙,这个用来比喻内存地址最恰当不过了。最简单的情形莫过于定义一个数值,一个字符,然后把它交给其它程序处理语句:
#include <stdlio.h>
void main(){
int num = 99;
char a = 0x39; // 字符9
printf("Number num = %d, and character a = %c\n", num, a);
}
还有结构体,用它就可以将不同的数据组织到一起作为一个整体,因此它更像是一个对象,例如:
#include <stdlio.h>
/********* type define ********/
typedef struct point Point;
struct point {
int x;
int y;
} p0 = {
9,9}; /*a definition for shortcut.*/
void main(void)
{
Point p1 = {
1,2};
struct point p2 = {
3,4};
printf("p0(%d, %d).\n",p0.x,p0.y);
printf("p1(%d, %d).\n",p1.x,p1.y);
printf("p2(%d, %d).\n",p2.x,p2.y);
}
比这个要难一点的就是数组了,它会开辟连续的内存空间,例如下面这个多2*2的字符数组:
#include <stdlio.h>
void main(){
char matrix[2][2] = {
{
'A','B'},
{
'C','\0'}
};
printf("matrix contains: %s\n", matrix); // ABC
printf("matrix[0] contains(D): %s\n"