小颖的话:
也许有很多的小伙伴们和小颖一样,曾在玩着马里奥,贪吃蛇,或者打着植物打僵尸的时候想着这些游戏是怎么运作的❓❓亦或是梦想着某一天自己可以写出这样的游戏(也是小颖开始学习编程的初始原因)。直到某天听到这个无比高大上的词“编程”。实话说在高中的暑假之前,小颖甚至都不知道编程是什么(众所周知小颖获取信息这一块的网速是2G的),直到这个暑假我才第一次接触编程,并用了几个月的时间学习了一些C语言的皮毛,并希望和大家一起分享 ,给想要学习编程却无从下手的你一点点方向~~~话不多说,上干货!
为什么学习C语言?
其实学习编程,并非只有C语言这一种编程语言,目前比较流行的编程语言其实还有Java,Python,C++,JavaScript,Go,C#等等等,数不胜数,就和我们世界上很多国家的语言一样,多样而各有特色(想了解的可以参考一下这个博主的https://zhuanlan.zhihu.com/p/363495004)。下图2022年比较火的几种语言:
但是为什么不带着大家从最简单易上手(比较接近自然语言)的Python开始学起,而学习这个万金油C语言呢?原因有这几点:
1. C语言是一种最基础(但并非最简单)的编程语言,是Java,c++等高级编程语言的基础,可以更好地让你立即计算机是怎么和人进行交流合作的。并且C语言作为一种基础的编程语言,可以锻炼你的编程思维,为更深的学习和计算机理解打下坚实的基础。(你会发现学完C语言之后,学习Python这种比较简单的语言时候会很轻松,而学习Java,c++比较高级复杂的C语言应用时候也会有一个很好的垫板,可以帮助快速理解新的概念)
2. C语言的应用十分广泛,由于可以用简单的代码实现很多功能,C语言擅长于操作系统开发(底层硬件是C语言的强项哦),嵌入式开发,数据库,游戏开发......非常多的应用领域,今年来还有十分火爆的物联网,也是C语言擅长的方向。
3. 除上述之外,还有简洁易调试,可移植性强,可以直接操作地址等等十分方便的作用。
(看到这里,你可能会发现很多名词不知道啥意思,没关系,两个月前我也不知道。你只要明白,以学习C语言为开始,百利而无一害。跟着小颖一起学习C语言,百利而无一害啦。
我们的学习计划:
1.搭建C语言学习工具——Visual Studio的下载;(这一篇博客主要解决的问题)
2.初识C语言——
1).C语言知识总括(了解C语言知识有哪些)
2).分支与循环
3).函数
4).操作符
5).数组
6).小游戏 ——猜数字游戏
动态效果 ——滚动字幕
小游戏 ——简易版三子棋、简易版扫雷
7).指针
8).结构体
3.C语言进阶——
1).数据在内存中的储存
2).指针进阶
3).字符串以及相关的函数+内存函数介绍
4).自定义类型(结构体、枚举、联合体)
5).动态内存管理
6).小实践——实现简易通讯录+利用动态内存管理优化通讯录
7).文件操作
8).程序的编译
注:当然除了目录里列出来的,还会在更新基础知识的同时带你做一些简易的小游戏(比如猜拳游戏,珠玑妙算,日历等等),以及一些算法的浅了解(比如各种排序,栈,队列,链表等等(不深入研究,后面等C语言学完之后会慢慢深入学习))。这样可是让我们在枯燥的基础知识学习中及时体会到编程给我们带来的快乐!
学习C语言的时候我们肯定需要一个可以写代码,调试代码,运行代码的工具——编译器/集成开发环境(IDE)。(名词目前不懂没关系,现在可以照着讲解来就行了)
这些工具包括:
Visual Studio:(下面简称VS)建议用2013版本以上的,性能十分齐全,特别适合初学者
VScode:很轻巧,功能多,但使用比较麻烦,不建议初学者使用
dev++:太老了,不建议使用
如果你的应用商店里面有的话直接下载就好了,也可以省去很多麻烦。下载后直接从桌面上找到VS并且点开,按着紫色字后面的做就行了(往下翻)。
一大堆图片即将来袭~~~
下面是小颖电脑应用商店里的(看清楚图标和名字,因为它和VScode很像)
当然要是电脑里没有也不用着急,小颖带着你一步一步带你手把手操作,跟紧了哦
(这里以下载vs2022为例,下载其他版本方式相同)
这是官网链接Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器
点开长这样:
然后点击这个下载Visual Studio,选择社区Community 2022版
然后会发现有这么一个文件在下载。
当然也可能是跳出一个新建下载任务窗口,那就点击下载。对了记住你把它下载到了哪里。
如果是第一种,看到
万一你的右上角一无所有长这样,啥都没有,
(此步骤可省略)点击这个“安装位置”可以找到你把它下载到了哪里(未来可能会用到,别不知道它跑哪里去了)
然后是语言包的选择:(不过默认就是简体中文,不是的话改成中文就好了)
回到刚刚的下载页面,点击右下角的下载(小颖这里是修改,因为我电脑上已经下载过了),反正点击那那个位置的下载按钮就行了。
然后跳到这个页面:(记得给项目的名称取一个有意义的名字啊,建议别带中文,可以用时间比如2022_12_03)然后位置是可以自己选择的,可以把创建的项目放到指定的地方。勾选“将解决方案和项目放在同一目录中”,点击右下角的创建按钮。
看到右边那个解决方案管理器没?(找不到的话看下面第三张图),右击源文件,添加,新建项
然后就有了;
接下来按这三步走(右下角的“添加”按钮没截屏出来,别告诉我你连“添加“这个汉字都不认识啊~)
到这里恭喜你成功地搭建了学习C语言的一种强大工具——VS了。下面开始让我们进行C语言语法的学习啦!
先在你刚刚建好的工程里输入这么一段代码(不懂没关系,刚刚开始学都不懂,马上就解释)
#include
int main()
{
printf("hello world");
return 0;
}
然后按Ctrl+F5(有的电脑是Ctrl+Fn+F5),会发现这样的东西跳出来:
哇,你在屏幕上打印出了 hello world这么一段话呢,现在试着把“ ”(英文双引号)内部的代码改掉,比如说这样改:
#include
int main()
{
printf("小颖加油啊~~");
return 0;
}
然后再次让它运行(Ctrl+F5),会打印出什么呢?是这样的吧
哈哈,现在掌握了规律,尝试自己把自己的名字打出来,把自己的生日打出来...是不是很有趣呢。
现在来逐句地翻译上面第一个代码:
先解释这部分
int main() //这一部分叫函数名(C语言就是由很多的函数组成的),为什么main后面加上(),以及
{ //int是什么意思现在不用管 ,main在英文中是“主要的”意思,说明这个是C语言的主函数
//C语言中规定代码会有一个入口,而main函数就充当这个入口
return 0; //return在英文中的意思是“返回”,在这里你先理解为main函数的结束标志
} //然后为什么要返回0呢(我开始学的时候就有这个问题),0一般表示程序正常结束了,其实
//在这里目前初学不用深究,return 1也是可以的(返回几都行)。学函数的时候你就明白了
。。。可能你看太不清,我给你在外面也解释一遍
int main() 这一部分叫函数名(C语言就是由很多的函数组成的),为什么main后面加上括号,以及int是什么意思现在不用管,下一节就知道了
{ } 括起来的部分叫函数体,表明这个函数包含的部分。main在英文中是“主要的”意思,说明这个是C语言的主函数。在C语言中规定代码会有一个入口,而main函数就充当这个入口,一个工程中有且只能有一个main函数!因为没入口计算机不知道从哪里进入,入口多了它又不知道从哪一个进入。
return 0; (别忘了句尾分号)return在英文中的意思是“返回”,在这里你先理解为main 函数的结束标志。然后为什么要返回0呢(我开始学的时候就有这个问题),0一般表示程序正常结束了,其实在这里目前初学不用深究,return 1也是可以的(返回任意整数都行)。学函数的时候你就明白了
未来写代码的时候,不管三七二十一,哒哒哒首先敲上这么一段代码,敲起来可有感觉了,等你学久了发现这一段代码手不受控制地就打出来了,哈哈哈哈
int main()
{
return 0;
}
下面介绍另一部分
#include //#include表示包含,是声明(告诉计算机我要用这个文件)
//stdio.h 拆开就是standard input output headfile
//翻译过来就是标准输入输出头文件,这个文件里有很多函数
//这些函数就包括了下面使用的printf函数
printf("hello"); //这个函数就是print function(打印函数),按指定格式
//把你要求计算机打印的内容打印出去""(英文引号内表示你要它打印的东西)
#include
你要用别人的东西肯定事先要和别人打好招呼,而上述代码就完成了这个任务!!!
printf("hello world"); (别忘了句尾分号) //这个函数就是print function(打印函数),按指定格式把你要求计算机打印的内容打印出去""(英文引号内表示你要它打印的东西),但是它的用法可不简单,这里只是浅浅的介绍,后面会深入说明用法 ;(对了我这里吧这一段拿出来是为了讲解方便,这一小段代码要放在主函数内部啊~)
现在在整体看一遍代码:
#include
int main()
{
printf("hello world");
return 0;
}
好了,我相信聪明的你回头去看一开始的代码的时候,心里的重重疑惑已经解开很多了,虽然还是有一些不太理解的地方,但是不着急,小颖一开始学习的时候甚至连这些也不是很了解,等到再跟着小颖多敲几段代码,你慢慢地就可以明白这些代码的意思和有趣之处了。加油哦~
(作者本人能力也有限,如果读者看到有错误,可以随时私信哦,大家一起进步呢 )
C语言学习-第二篇链接:http://t.csdn.cn/n7LRE