物联网技术部第一次培训
第一次培训结束了,相信不同的人会有不同的感受,有同学就反映完全跟不上。首先就是我们部门的培训节奏确实是比较快的,之后我们会进行适当的调整,尽量让大家都能听懂。但同时我们的课和老师上课是不一样的,需要进行一点预习才能够跟的上,课上讲过的我们会带着讲一些,但是主要还是希望你们能够自己多敲敲代码,这样才能清楚出bug的原因,才能真正得到提升。如果只是听听课,不动手去敲代码,那样是不会有太大提高的。
C语言入门是比较困难的,但是只要坚持下来,相信你一定会有所收获。大学里会有很多新的事物等你去尝试,不可能没有困难,但如果遇到困难就放弃了,那大学真的就会一无所获。接下来就总结一下我们培训的内容。
使用软件:codeblocks、VC6.0、devc++
1.1.首先是从高中学习过的流程图开始,这是大部分人对编程思想的第一次接触,所以从你们熟悉的东西开始。
1.2.创建工程
这里要说声抱歉,我默认大家都是会创建工程的,所以没有细讲,这里给大家写一下。
网盘里有详细的cb工程创建,可以直接双击打开看一下。
接下来是VC的工程创建:
File-》New,在这里面选择倒数第三个,单击后,填写工程名,选择工程存储路径(创建一个专门的文件夹),然后确定
选择出现的选项----新建一个空工程
完成后,重新点击File-》New,在这里选择第四项内容,填写文件名,完成工程的新建
1.3.第一个C语言程序(输出Helloworld)
第一行:C语言头文件(#includestdio.h)
第二行:主函数,是整个C语言程序的入口
如果用intmain(),结尾一定要加return0;
如果照书上用voidmain(),就不要加return0;
但是建议用intmain(),因为有些编译器是不支持voidmain()。
中间的就是程序的主要部分了。
在完成程序之后需要执行----这三个按键(上面的菜单栏里),分别代表编译、运行、编译且运行,程序得到想要的输出结果必须经过编译运行!
在这里切记----程序运行结束后,一定要关闭运行窗口,否则再次调试时,这三个按键全部会变成灰色,还有程序经过修改后,一定要重新编译一次再运行,否则运行结果还是上一次调试之后的结果!
1.4.C语言的基本语法特点
包括:标识符、关键字、数据类型(常用的int、float、double、char型)、一些基本数据类型表示数据的范围。这些PPT都有就不细讲了。
1.5.常量
在C语言中我们会看到一些数据已经有固定的值,这些数据就是常量,包括数字常量、字符常量(大家翻看C语言书的附录A关于ACSII码值对应的字符就有)。其中还有一种叫做“宏定义”,可以自己自定义一些常量,下面的程序就是把PI定义成3.
1.6.变量
在C语言中变量是常用的一个工具我们需要变量帮助我们进行一系列的操作,加减乘除、控制台输入与用户的一个交互、循环变量的控制等等。变量是先定义,后使用。变量的命名有一定的规范,大家可以看书和PPT,还有一点就是命名尽量有意义,
就像这里的求和sum,还有注释掉的计数器count
1.7.输入
格式串(举例子给大家看)这些是一些比较常用的数据类型的格式串,所谓格式串,其实就是在scanf和printf时一个代替数据的工具,printf“”中的东西都会被原样输出来,只有%d的部分会被变量代替,具体的细节大家可以看书和PPT
1.8.输入
输入这里不算太难,但有一些细节一定要注意,这里在控制窗口输入时,一定要严格按照“”里的内容输入,就是所谓的格式化输入!否则很有可能不会得到你想要的结果。还有就是要注意,不然就会出现下面的情况。
1.9.C++特有的语法格式
由于物联网专业今年学的是C++所以这里说一下,不过由于大部分还是学的C语言,我们主要还是以C语言的方式呈现给大家看。不过C++和C语言的基础语法是极其相似的,所以物联网的同学不用担心看不懂,我们主要教的是编程思想。
C++中的输入cin是不需要(取地址符的),避免了很多同学犯错;
输出就是cout了功能等价于C语言里面的printf。
头文件和命名空间大家暂且记着每次都要写就好了,其他的基础语法就和C语言差不多了,大家如果习惯用C++的也可以用C++给我们交作业。
1.10.运算符
简单的有+、-、*、/、%、=(赋值)这些是二元(双目)运算符;
还有++i、j--这些是自增、自减的一元运算符(单目);
还有,=,,=,==,!=关系运算符
还有(expr1?expr2:expr3)----三元运算符;
还有(逻辑与)、
(逻辑或)、!(逻辑非)等等
这些会用在各种各种算法里,for、while的循环里、if条件的判断里,
这里面有一些运算符优先级的问题,详情参考课本附录B
PS:这里强调==(等于)和=(赋值)一定要区分好
1.11.程序结构
(1)条件判断
if…;
if…else;
if…elseif…;这三种判断结构
需要比较熟练的掌握,因为以后会常用,还有就是条件的嵌套,也希望大家能多敲敲代码体会一下
(2)多分支选择结构
就是那个将计算器用switch改写的程序大家可以仔细体会一下,书上也有详细的例题
(3)循环结构
for(初始化计数变量;条件表达式;计数变量自增或自减)
while(条件表达式)
do…while(条件表达式);//至少执行一次
这里之前说过,计算机计算能力在循环这里才真正体现出来,所以大家一定重点学一下循环,之前给的案例还是需要多多练习。
提醒一下:进行叠加时,求和容器需要赋初值0,叠乘时,求积容器需要赋初值1。
当然循环嵌套也是要理解的,是先里面的先执行完再回到上面继续进行循环
大致讲的内容也就是这些了,大家还是要多花点时间去实践,光是听课并不能有很大提高,编程思想的形成是要靠敲代码慢慢积累的,不是一会就能理解的,所以一开始不懂也很正常,接下来布置一点小任务。
1.1.OJ平台的使用
这里面有详细的说明,大家可以先做物联网科协OJ平台测试,这是为了让大家先熟悉OJ的使用,为之后的现场编程比赛做准备。
1.2.小作业
之后会有一些小作业帮助大家进行预习和复习,请大家尽量在下一次培训前完成。
网盘链接: