程序设计学习总结

    开学到现在已然四周,对于程序设计的学习也已经一个月。在这一个月中也解除了很多新的知识,在这其中的知识中,从迷茫到一知半解又从一知半解到达可以些许运用,最终到可以熟练运用,一直在循序渐进。
    指针:持有一个对象的地址,并且通过指针可以间接的操作他所指向的对象。而当其指向的是数组是他指向的是第一个数组元素,而当其自身++的时候就是指向数组的下一个元素。并且它的类型与所指向的元素类型相同。而当要输出以及读取数组元素的时候就需要运用迭代器这一函数了并且运用<iterator>这一函数,并且运用begin和end两个函数。Bigin指向的是数组的第一个位置,而end是指向的数组末尾的下一个元素的位置。
    指针运用:
    Int a;
     int *p=a;
     当运用指针的时候必须及时定义指针不然指针会随机指向。
     迭代器运用:
     String a;
     String::iterator it;
     for(it =a.begin();it!=end();it++) cout<<*it
     ;引用:一般指左值引用,他与一个变量的地址相绑定。并且引用是直接访问对象,而指针是间接访问。
     Const:可以将一个对象限定为常量也可以限定指针和引用。
     例如:const int ival=1024;          
     Const int *pi=&ival;
     结构体:把一组不同类型的数据组合到一起构成符合类型,并且其中的每个数据都是结构体成员。
     定义以及调用如下:
     Suruct foo{Int a,b,c;}x;
     调用:x.a   x.b   x.c;
     也可以这样定义:foo a;并且x还是一个数组。
     String:表示可变长度的字符序列。包含头文件<string>。String支持字符串对象的各种初始化方式,支持字符串之间的复制、比较以及连接等操作,还支持对字符串长度的查询和是否为空的判断,并且也可以访问字符串中单个字符。可以直接输入cin>>a;a就是一个字符串并且可以把a看成一个字符串数组,利用数组的方式来操作a。
     Sting a,b,c;
     Cin>>a>>b;
     C=a+b;
     Int s=c.size();
     for(int i=0;i<s;i++) cout<<c[i];
     Vector动态数组:运用时需要头文件<vector>。动态数组就是一种特殊类型的数组,不再需要定义数组的大小,当你数组用到头时,系统会自动给你扩大十个空间,不必在担心数组越界这一问题。
     Vector<int>a;
     运用的时候像普通的数组一般。
     文件处理:输入输出重定向、标准库文件流、字符串流。这一部分内容依旧是一知半解无法通晓其中的意思,在这里便不一一赘述了。
     函数:函数主要用来实现各种算法,由这些算法完成特殊的任务。并且函数实在主函数之外的地方来运行,可以大大缩小程序的复杂性以及长度使函数更加的简洁,并且调试函数的时候可以更加的方便。而如果要使用函数首先就需要定义函数,并且函数只能返回一个值并且在主函数中参数是实参而在函数中是形参,形参一般无法改变实参的值,而当需要改变的时候,就需要运用引用&符。有一种特殊的函数,递归函数,直接或间接调用自己的函数,有时运用递归函数的时候可以大大缩减函数的长度以及复杂度。并且运用递归函数必须定义一个停止条件不然会陷入无限递归调用。通常便是将递归放入if语句当中。
     在这一个月中虽然学到了很多,但是从全部的知识的学习情况来看,还是有很多知识未曾做到熟练运用,依旧是一知半解。例如文件读写部分内容的运用,如何将文件输入输出、字符串流对于这部分知识依旧是很是不明白,知道有这个东西但是却不知道他是如何实现。对于函数部分内容,经过老师的讲解以及课下的练习,已经可以做到答题掌握,但是对于传值、递归函数以及按引用传值依旧还是一知半解无法熟练运用。对于这一部分知识,还需要在多看课本看看课本上是如何实现它的,并且及时在课下尝试运通他。
     开学已经一个月,学习还是需要继续努力,只有这样才能在程序设计中走得更远。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值