嵌入式软件培训:嵌入式培训分享(一)暨在CSDN的第一篇博客 2024-05-02 19:31:24 0 0 写在开头:人在南京,刚下飞机。 本科双非,专业IOT,即将毕业,前途迷茫,遂往南京,参加培训。已选EMBED三周有余,收获甚多,心得体会在此分享,错误之处烦请指点。 以下正文(1025-1106): "我们所使用的工具深刻地影响着我们的思维方式和思维习惯,进而也将深刻地影响看我们的思维能力。学习程序设计本身是一件既充满挑战、更充满乐趣的事情。" 在开始之前,需要做的准备工作有: 1、安装Vmware以及Ubuntu,并且完成基本配置以及update; 2、选择编译器,如Dev-C++、visiual studio 2022等编译器; 3、准备一些方便记录的工具,如语雀、有道云笔记等; 4、一颗准备好秃头的心。 目录 一、温习Embed与Linux 二、C语言初步---标识符、关键字、命名规范 三、C语言初步---控制语句 四、C语言初步---数组 五、C语言初步---位运算 六、C语言的模块化程序设计 一、温习Embed与Linux 1、简单介绍嵌入式和Linux 嵌入式:硬件与软件相结合; Linux结构:一棵倒置的树(一切皆文件) 2、Ubuntu中的一些快捷键 打开终端:ctrl + alt + t 关闭终端:exit或alt+F4 终端放大:Ctrl+shift+“+” 终端缩小:Ctrl+“-” 切换到根用户:su root #root用户$普通文件sudo临时权获取管理员权限,放在需要执行的命令之前 3、一些常用命令 pwd :显示当前工作目录的绝对路径 man:可以查看命令或函数(OS提供的函数和C库函数)的用法 切换用户:su cd命令 . 当前工作目录 .. 上一级的工作目录 - 上一次的工作目录 ~ 当前系统登录的用户家目录 ls 命令 -a 显示所有的文件,包括隐藏 -l 详细输出文件夹中的内容 -h 人类可读方式输出 cat 命令:查看文件内容 创建目录:mkdir 删除文件:rm(删除目录 rm -r) 创建新的空白文:touch 复制文件或目录 cp 重命名: mv 源文件 目标文件 源文件移动到目标目录: mv 源文件 目标目录 chmod:改变指定文件或目录的操作权限 clear:清屏 4、运行程序步骤 vi/vim 文件名.c 编译:gcc 文件名.c -o 文件名 打印输出:./文件名 5、编写代码相关 按esc,换成命令模式 命令模式换成插入模式 i 同时按shift和:更换底部命令 wq 保存退出 q! 不保存退出 二、C语言初步---标识符、关键字、命名规范 数据类型 数据输出方式 1.%d有符号10进制整数。 2.%i有符号10进制整数。 3.%o有符号8进制整数。 4.%u无符号10进制整数。 5.%x无符号的16进制数字,并以小写abcdef表示。 6.%X无符号的16进制数字,并以大写ABCDEF表示。 7.%F/%f浮点数。 8.%E/%e用科学表示格式的浮点数。 9.%g使用%f和%e表示中的总的位数表示最短的来表示浮点数G同g格式,但表示为指数。 10.%c单个字符。 11.%s字符串。 12.%%显示百分号本身。如果有正确输入scanf函数的返回值是正确获得输入变量的个数,如果没有正确输入,就退出循环。 三、C语言初步---控制语句 1、C语言程序结构 (1)顺序结构 (2)选择结构 (3)循环结构 2、分支结构 (4)单分支结构 (5)双分支结构 (6)多分支结构 (7)switch结构 3、循环结构 (8)while循环: while(表达式){ 循环体; } (9)do while循环 do{ 循环语句; }while(判断表达式); while和do-while区别在于:while先判断,再运行循环语句,do-while先运行循环语句,再判断 (10)常见的死循环: while(1){ } (11)for循环 for(表达式1;表达式2;表达式3){ 语句; } 表达式1:设置初始条件,只执行一次,可以0或者多个表达式赋初始值 表达式2:循环条件表达式 表达式3:作为循环的调整 4、嵌套结构 5、其他控制语句 continue:结束当前当次循环,继续下一次循环 break:跳出循环 return: 结束方法 四、C语言初步---数组 五、C语言初步---位运算 1、运算符号 & -- 位与 | -- 位或 ~--取反 ^ 异或 << 左移 >> 右移 任何数与1都是其本身 2、位操作符 & 与运算 两个位都是1时,结果才为1,否则结果为0 | 或运算 两个位都是0时,结果才为0,否则结果为1 ^ 异或运算 两个位相同则为0,不同则为1 ~取反运算,1则变为0,0则变为1 << 左移:左移一位相当于*2,左移运算,向左进行移位操作,高位丢弃,低位补0 >> 右移:右移一位相当于/ 3、进制转换 5、文件权限 六、C语言的模块化程序设计 1、函数的定义 2、函数的嵌套调用 3、函数的递归调用 以上是C基础知识,后面会继续分享更多内容以及例题和代码。 2022年11月7日晚于南京 收藏(0)