写在开头:人在南京,刚下飞机。
本科双非,专业IOT,即将毕业,前途迷茫,遂往南京,参加培训。已选EMBED三周有余,收获甚多,心得体会在此分享,错误之处烦请指点。
以下正文(1025-1106):
"我们所使用的工具深刻地影响着我们的思维方式和思维习惯,进而也将深刻地影响看我们的思维能力。学习程序设计本身是一件既充满挑战、更充满乐趣的事情。"
在开始之前,需要做的准备工作有:
1、安装Vmware以及Ubuntu,并且完成基本配置以及update;
2、选择编译器,如Dev-C++、visiual studio 2022等编译器;
3、准备一些方便记录的工具,如语雀、有道云笔记等;
4、一颗准备好秃头的心。
目录
一、温习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语言初步---标识符、关键字、命名规范
无符号数不能是负数,优先级:无符号>有符号
int 转换成 unsigned int不需要强制转换
相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,
数据类型
数据输出方式
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日晚于南京