CODING成长日记
这是进入这个专业的第五十八天,在这七天里,主要学习的是函数,同时通过PTA上的练题,熟悉数组方面的的运用。
自学经历
我根据网友的推荐,通过观看MOOC上翁恺老师的网课,初步学习了C language。
从第1周的程序设计与C语言
1 计算机和编程语言
2 C语言
3 第一个程序
第2周:计算
1 变量
2 数据类型
3 表达
第3周:判断与循环
1 判断
2 循环
第4周:进一步的判断与循环
1 逻辑类型和运算
2 级联和嵌套的判断
3 多路分支
4 循环的例子
5 判断和循环常见的错误
第4周编程练习
第5周:循环控制
1 循环控制
2 多重循环
3 循环应用
第6周:数组与函数
1 数组
2 函数的定义与使用
3 函数的参数和变量
4 二维数组
第7周:数组运算
1 数组运算
2 搜索
3 排序初步
第8周:指针与字符串
1 指针
2 字符类型
3 字符串
4 字符串计算
到第八周的指针与字符串。
学校课堂
由于教材是英文版,对于能力有限的我来说是个挑战,老师建议我们即使难啃也要坚持,这几周,每当老师讲完,我都会坚持在过一遍教材,过程虽然磕磕绊绊,可终究有些许收获。(同时在以后的每周这部分我将会运用英文来写以此来锻炼我的英文能力)
**This weak:
Part 2
Flow of Control*
Chapter 6:
Modularity Using function;part1
content:
1.function and parameter declaration
2.returning a value
3.standard library functions
Chapter 7
Modularity Using function;part2
content:
1.variable scope
2.variable storage class
In this two parts,I’ve learned how to use functions to solve the problems and how to use it to simplize the programs.also after reading the text book,I’ve a glimpse of how the functions to return the value.And based on that, we can know how the fuctions to receive the data from where it is called,and how to return a useful value to it without changing the value of the original variable .From this aspect,we are leading to the idea of variable scope.In the class,our professor put out an example to expound actual meaning of it。after that our professor explain how this works。it is bcz
of the variable storage class。
自学和学校课程的对比
{(以下都是个人的感受,或许有些见解有误,如有冒犯请多多见谅)
翁恺老师的网课更适合一些想速成C language的自学者,我认为其中有很多东西都未曾提及,但是对于初学者来说可以很快的上手。
学校的课程,首先我们所用的这本英文版教材(虽然难啃)讲的十分简单和基础,很多东西都讲的透彻。而我们的老师都是选择性地讲解,很多东西都没有讲(或许这就是很多同学刚刚接触感觉非常难解的原因吧),她同样的像翁恺老师一样通过实际问题case study来授课。但她好像并不是全盘送出,她更像是在一个个点地画,最后慢慢连起来。
个人认为学校的课程必须在上课前进行一定的预习,方能很好的吸收一节课的内容所以我认为在课前先通过学习网课再上学校的课程是非常好的方法。}(这些是我目前为止的一些浅显的看法,随着学习的加深或许后面对于这部分的内容有所改变。
在这周,我发现翁恺老师在这部分的内容和我的任课考试有所区别,其中翁恺老师对于不同函数(或者块)各自的定义变量不在其他函数(或者说块)的解释是其作用范围和寿命的原因,但没有提到variable storage class,以及它们这些变量的存储地方到达时怎样的原理。
目前遇到的问题:
这周遇到的问题是有关数组的,根据数组的特性,数组一旦被定义,其大小就不可以改变,在这周我遇到的一个问题是如下:
我一味的在考虑通过输入的n直接对函数进行大小定义,而忽略了其大小不可改变,虽然在这题中我想到了直接定义一个范围很大,比如说100,这样就完全可以解决了(在n<100的情况下),这时候问题又出现了,如果对于一些问题数组要接收很多的数,怎么办?即使对于一些很少的数,如果我定义了一个很大的数组,这样又会使得浪费空间,得不偿失,这样的问题是如何处理的。
(在这对阅读我上一篇的日记后并留言鼓励我的朋友们表示感谢,谢谢你们的鼓励,也感谢你们愿意花时间在我的粗鄙日记上,这是对我的莫大的鼓励。
(如果我的无聊日记能有幸被哪位大佬阅读,希望大佬可以留下您宝贵的建议,同时也希望找到可以一起学习一起分享经验的伙伴,愿与诸君共勉)