C语言学习心得感悟2021.12.14

欢迎来到一飞的心得记录博客!下方是指路牌!

总体概览时期

最近学习中印象比较深的一些东西

1.若要使用scanf函数,为解决VS不充分支持的问题,需要首先在文件最开头输入 #define _CRT_SECURE_NO_WARNINGS 1

2.定义函数取最大值:

3.看到的能实现多行输入的代码:while(scanf(“%d”,&num) !=EOF)

4.前置操作符和后置操作符

5.&&逻辑与操作符,相当于数学里的逻辑与运算,一假则假,都真才真;

||逻辑或操作符,相当于数学里的逻辑或运算,一真则真,都假才假。

6.static 修饰静态变量,出了变量的范围后,再次进入时,上次的变量不会被销毁。

写在最后

扫描二维码关注公众号,回复: 15132631 查看本文章

总体概览时期

如标题所言,我现在仍处于总体概览时期。主要原因有两个:

首先,我认为,学习一件新的事物,一定要先对其的全貌有一个大致了解,不然直接莽上去的话,可能到最后连自己学的东西的框架是什么都不知道。

正如看书要先看目录一样,学习C语言也要先了解这门语言的构成是什么。我上一篇博客中写道,提起C语言,我的脑子中会蹦出许许多多的概念,对其用法也有一定的了解,但是不够具体。今天的C语言学习仍然是总览,还有许多概念我不知道,最起码得先有个了解,所以不急着深挖。

另外,毕竟最近也快期末了,得好好考试,要不转专业就难啦~(主要是计算机和大英要好好复习~高数学得还算蛮扎实,考完另外几门后集中做一个礼拜的题应该就没问题了~)

最近学习中印象比较深的一些东西

今天我尝试着边学边稍微记录一下自己觉得可以记的东西,但是并不是类似于系统地记录知识的笔记之类的,欸,说到这,我有些感想,先谈一谈:

我这个人打上学起就懒,老师喊我记笔记从来不记,看起来是手懒,但归根结底来说,是我没有充足动力去干这件事;为什么呢?因为我觉得这个事性价比不高,在我学的时候,如果就已经把知识学得透透的,然后再利用一些习题来巩固所学的内容,这样的话我认为效率是更高的。(于我个人而言)

好的,基于此,我来稍微讲一讲记下的一些东西。

1.若要使用scanf函数,为解决VS不充分支持的问题,需要首先在文件最开头输入 #define _CRT_SECURE_NO_WARNINGS 1

这一点我看到一个视频中给出的解决方案是找到VS本身默认的初始创建的文件,将其拷贝到桌面上,然后在里面输入上述代码“#define _CRT_SECURE_NO_WARNINGS 1”,再将原文件替换即可。

但是我暂不求方便,决定每次用到时都手打一次这段代码,主要是顺便练习我的敲击速度嘻嘻~

2.定义函数取最大值:

int get_max(int x,int y)

{

       if (x>y)

              return x;

       else

              return y; 

}

很简单的几行代码,我记得第一次看到时有些疑惑:为什么不直接写出来,而是先定义一个函数然后再去引用它?另外get_max这串字符可以更换吗?

我稍加思考,发现答案很简单:

先定义,是为了以后多次可能反复应用打基础,像我这种仅仅为了实现一个功能而去定义,当然是不划算的,只有引用次数多时,它的作用自然体现。

而针对第二个问题,我马上去动手试了一下,我将“get_max”改成了“max”发现完全没有问题!也就是说函数名的定义完全可以自己决定!但是我觉得基于一些规范和良好习惯,函数名的定义最好还是能直观反映出它所代表的意义,方便自己回顾修改,也方便以后别人看懂,这大概就是一个码农的修养吧~

3.看到的能实现多行输入的代码:while(scanf(“%d”,&num) !=EOF)

其中这里多行输入的是整数。说实话,看到这串代码,最让我疑惑的还是这个EOF,我去网上搜索相关资料,发现它的解释涉及一些我还没了解过的东西,于是乎我暂时先将其放一放

4.前置操作符和后置操作符

这个我觉得真的很有意思,比如:

a = 10

b = a ++;

这行代码表示先将a的值赋给b,再将a的值加1,两个加号一叠便产生如此妙的作用,很是简洁!

而若写成这样:

b = ++ a;

则变成了先将a的值加1,再将a的值赋给b!前后即表示顺序,我表示这是很nice的操作符!

5.&&逻辑与操作符,相当于数学里的逻辑与运算,一假则假,都真才真;

||逻辑或操作符,相当于数学里的逻辑或运算,一真则真,都假才假。

这个很容易理解,如小标题里所说,我第一时间马上联想到高中数学学过的逻辑运算,这两处的含义是完全相同的~

其实没啥好讲的,我主要是联想到高中数学,毕竟是学了三年的东西,刚毕业半年,印象还很深,于是便拿出来说一说

6.static 修饰静态变量,出了变量的范围后,再次进入时,上次的变量不会被销毁。

这个真的很有意思,我看到视频里的解释是说计算机区分变量类型的方法,居然不是标记,而是将其放置于不同的储存区中。另外,这个关键字用起来贼有意思:

void test()

{

        static int a = 5;

        a++;

        printf("%d ", a);

}

int main()

{

         int i = 0;

         while (i<10)

 {

         test();

         i++;

 }

        return 0;

}

在这串代码中,由于a被定义为静态变量,故第一次进入循环后a被赋值给6并被打印,而下一次进入循环时,a的初始值就变为了6,于是再被赋值为7......最后由于i从0-9,于是打印结果呈现为:

6 7 8 9 10 11 12 13 14 15

而如果将static去掉,则每次进入循环时,上一次定义的a都会丢失,故打印的结果将呈现为:

6 6 6 6 6 6 6 6 6 6

真的很有意思呢!

就这么多吧。(14号晚上下课买了些吃的,回寝就只顾吃了,结果没写完,15号没有早八,这后半篇是我15号早上起床补完的,呜呜呜~)

写在最后

我希望我的C语言心得感想,不是单纯的只有知识总结,这样于我而言,过于乏味,我肯定也不会坚持写下去。反倒是根据心里的想法,自然地写一写,写出一些学习过程中真实的东西,一些有思想、有见解性的东西,更能给我写博客的动力。

我是一飞,一名想要拥有深度思维、能独立思考的当代大学生。关注并三连我,陪我一起走向编程的巅峰。

点击下方文字回顾我的C语言学习之路!

第一篇博客——梦开始的地方

周末C语言基础学习小结

猜你喜欢

转载自blog.csdn.net/m0_62943985/article/details/121941209