C语言学习心得

编程其实是简单的,真的很简单,你要相信这句话,不要被欺骗了。对于没有接触过计算机语言的人来说,大概多会说计算机语言就是"一大堆英文",“一大堆鬼文”,在我看来,计算机语言是一种字符,一种自定义的有一定结构的字符。例如,你想要在电脑上打印1+1+1的结果。那么你要做的就是 打印 1+1+1然而c语言的爸爸不会中文,所以就规定了一个英文print 来代替打印。print 1+1+1就这样,完全只是代替一下而已嘛,而且print就是打印的意思,完全没有什么难理解的。然后,它爸爸觉得这样不好看,而且不利于规范,所以决定给这种结构添加一对(),并将这种结构命名为方法,外面的print叫做方法名,()里面的叫做参数,还有为了方便编译,给每一行代码增加;标记,作为结束标记。print(1+1+1);所以,学习计算机语言的第一步,你需要能够接受人家爸爸定义的这种结构,因为让你抓狂的还在后面。到了这里,所谓方法也就是这么一回事,例如print()这个方法就是打印的意思,里面集合了将某样东西打印到电脑屏幕的方法,所以你不需要了解它方法里面有什么,只需要将你需要的东西传给它就可以了。然后你想想,这不是挺好的嘛,不然你恐怕很难操控屏幕打印字符吧,所以这也是高级程序语言的魅力所在了,直接用就是,反正该写好的都写了。但问题来了,方法也不是万能的,如果打印方法只能打印字符串,那我们就不能传数字给人家了。又例如,我怎么知道你有没有打印成功了呢?(传给它的叫做参数,也就是一种数值,有不同类型,毕竟是电脑,有整型、短整型,长整型、字符串等等)(它用来告诉我们有没有成功的叫做返回值)大部分计算机语言都规定了一下方法结构。返回值 方法名(参数);
void print(string);//void意思是说我不给你返回东西,你放心交给我去做就是了
int print(string);//这是例子
string print(string);//这是例子
…所以这才是方法的完整结构。(//叫做注释符,代表其后面的一行是不进行编译的)而我们每次使用方法,首先需要知道这个方法是干嘛用的,我们需要传什么参数进去,我们能得到什么返回值。这样我们才能准确的使用方法,而不是胡乱的用。好,明白了方法,我们做点复杂的是,打印1->打印1+2->打印1+3->打印1+4print(1);
print(1+2);
print(1+3);
print(1+4);
…OK,没毛病,但如果我要你将1改成2能,如果这里有100条呢,然后你也一条条改?print(2);
print(2+2);
print(2+3);
print(2+4);
…估计能累死人,所以,程序语言设计了变量这个东西,能用变量来存储一个值来代替那个值。int i = 2;
print(i);
print(i+2);
print(i+3);
print(i+4);
…这样一来,估计以后再改2为3的话也只需要改一个就行了。但如果需要你打印100个这样的东西,还是累的呛。所以就有了一个可以代替循环的结构。叫做for循环。int i = 2;
for(int n=1;n<=100;n++)
{
print(i+n);
}
这样就能一下子打印100个这样的计算了。这不是挺方便的?或者有的人没看懂上面什么意思。这里我说一下我学习的套路,永远不要先去看你不懂的东西,而是要先看你懂的东西。上面我们很明显能看到2,1,100这几个数子,然后对比它的作用,使print(i+n);的参数变成2+1,2+2,2+3…2+100,所以我们不是很明显能把i–>2,n–>1到100对应起来吗?所以我断定,for(int n=1;n<=100;n++)这个代码的意思就是执行100边里面的语句,并且n从1变到100。这是我们对这个代码的初始印象,这就可以了,有时候我们去学习新的技术的时候,因为时间的原因,我们也没办法弄清楚里面每一句代码的意思,也是先弄清楚整段代码的功能,然后直接套用的。然后是灵活的套用,如果你想要10-999这样的循环呢?直接套用啊,上面是1-100,所以我们把1改成10,把100改成999。for(int n=10;n<=999;n++)
{
print(n);
}所以说,学程序还是要能够去快速接受别人指定的规则,而不需要一下子就去弄清楚里面每一处的作用。所以很多人会因为搞不明白中间为什么有三个参数,为什么中间还能有;号,然后想多了就会混乱烦恼进而放弃。我的方法是你不要试图去一下子搞明白某段代码是什么意思,你只需要知道复制粘贴只有改哪里就行,所以这里你只需要知道10和999代表的是开始位置和结束位置就行。好,等你用上了,有了成就感了,我们再来分析它里面的每一个字符都代表了什么。先看结构,for(){},典型的一个方法体,()中间是他的参数(;;)中间却有两个;号,和平时的方法不一样。就是不一样,包括if,while,switch,for这些基本方法都有它爸爸定义的一套结构。for()有三段参数,我称作头部分,中间部分,尾巴部分。再仔细看。头部分是int n=10;这不是一个简单的定义变量吗?接下来n<=999;这不就是一个逻辑判断吗?n++;这不就是一个累加的算术运算吗?然后我们再对比书本里说的for语句运行的流程。int n = 10;
print(n);
n=n+1;
if(n<=999)
{
print(n);
n=n+1;
if(n<=999)
{
继续…
}
else
{
跳出
}
}
else
{
跳出
}
我们会发现,头部分只执行一次,然后是{}部分,然后是尾巴部分,最后是中间部分,如果中间判断是真,则继续,如果是假,则跳出。所以我们甚至可以将for()写成:int n=10;
for(;n<=999;)
{
print(n);
n=n+1;
}
//或者
int n=10;
for(;😉
{
print(n);
n=n+1;
if(n>999)
{
break;//跳出
}
}然后我们再看会发现 int n=10;和n++;都属于一个正常语句,和print()方法,甚至是任何语句都一样的。所以我们甚至可以:int n=10;
for(print(“开始了”);n<999;print(“结束了”),n++)//,号表示继续执行的意思,就和我们中文,的意思一样
{
print(n);
}
虽然这是一种牛逼的写法,但明显会导致代码难以看懂,毕竟不是谁都有这么牛逼。所以明白没有,所谓for(int n=10;n<=999;n++)里面的东西只是做了一个集合,而让我们更简单的进行编程。现在我们弄明白了里面每一个语句的意思,然后我们发现,我们还是只需要知道改变10和999两个数字就能达到我们循环的目的了。
暂时就到这里了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值