嵌入式开发-1

Linux:

1.简介

Unix价格昂贵,不能运行于PCDOS显得简陋,且源代码被软件厂商严格保密;此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,

2.Linux的主要特点:

完全免费 、安全性、多用户、多任务、独立性和可移植性

3.Linux基础命令:

su 用户名 :切换用户 例:su root 切换到根用户

pwd :显示当前工作目录的绝对路径,有/

man:查看命令或函数,q退出

sudo: 临时获取管理员权限

sudo adduser 新用户名:创建用户

sudo password :改密码

cd : cd 路径 (进入该路径)

. 当前工作目录

.. 上一级的工作目录

- 上一次的工作目录

~ 当前系统登录的用户家目录

ls 命令 ls -* 文件名//查看当前工作目录里的内容

cat 文件名:查看文件内容

mkdir 目录名   创建一个空目录

touch 文件名 创建一个文件

rm 文件名或目录名 删除文件或目录

cp a b 复制文件或目录(a复制给b)

mv 源文件 目标文件 剪切

chmod 改变指定文件或目录的操作权限(ugo的rwx-421)

4.vim编程

vi/vim 文件名.c

编译:gcc 文件名.c -o 文件名

打印输出:./文件名

按esc,换成命令模式

命令模式换成插入模式 i

在命令模式下,同时按shift和: 换成底部命令

wq 保存退出

q! 不保存退出

按esc,命令模式下,光标放在想复制的那一行,按yy复制一行,按nyy复制从光标开始往下数n行,调到想要位置,按p粘贴。

c基础:

1.C语言代码的编译全过程

.c 预处理 编译 汇编 链接

预处理:处理.c文件中#开头的语句

编译:将C语言语句翻译成同功能的汇编指令

汇编:将汇编指令翻译成CPU的二进制指令

链接: 按特定规则将所有目标文件打包成与操作系统相匹配的可执行文件

2.标识符

不能是关键字 ,由大小写字母和0~9数字符号以及下划线构成、只能以字母或者下划线开头 、区分大小写

3.数据基础类型(sizeof()求所占字节数)

char:1 int:4 short:2 float:4 double:8

4.格式控制符

1.%d有符号10进制整数。

2.%i有符号10进制整数。

3.%o有符号8进制整数

4.%u无符号10进制整数。

5.%x无符号的16进制数字,并以小写abcdef表示。

6.%X无符号的16进制数字,并以大写ABCDEF表示。

7.%F/%f浮点数。%2.3f(2表示位宽,.3表示保留3位小数)

8.%E/%e用科学表示格式的浮点数。

9.%g使用%f和%e表示中的总的位数表示最短的来表示浮点数G同g格式,但表示为指数。

10.%c单个字符。

11.%s字符串。

12.%%显示百分号本身。

5.强制转换

(int)变量名

6.位运算

& -- 位与

| -- 位或

~--取反

^ 异或

<< 左移

>> 右移

交换:a=a^b;b=a^b;a=a^b;

7.c语言三大结构

顺序:

选择:

if-else或if-else if-else

Switch{case 1:.....}

循环:

while

do{}while();

for(——;——;——)

循环控制语句:

continue:跳出本次循环(就是后面内容不执行),开始下一次循环

break:直接跳出循环。执行后面的内容

return:直接结束退出,不再继续执行

goto:跳转到设定的标签处继续往下执行

8.三目运算符(尤其需要注意运算符的优先级)

形式为:

<表达式 1>?<表达式 2>:<表达式 3>

9.局部变量和全局变量

局部变量只在定义的函数内部使用,全局变量

局部变量和全局变量名字一样,会使用局部变量值

10.宏定义

#define 宏名 内容

使用的时候只代入不运算

11.数组

数组类型 数组名[数组大小]: 数组大小填入的要是常量表达式

数组正反序输出(for循环)正序for循环从0开始,反序从数组大小减1开始

冒泡排序:相邻2项作比较,升序就是如果前一项大于后一项,2者就做交换的实现大的后移,每轮(趟)把最大的移到最后

实现方法:2个for循环嵌套,第一个for循环仅仅表示需要的数,第二个for循序不仅要表示数组下标,还要表示做比较的次数

此外可以设置个标志,每趟结束是否做交换,一旦整趟没发生交换就表示已经排好了,其他趟就没有执行必要了,就可以用break进行跳出。

总结:

       这周的学习对我来说是一个巩固,Linux基础命令的学习之前就学过,但只能说会用个大概,通过此次学习,加深了映象。c基础目前来说学的内容并不是很难,通过一周的学习和练习,巩固了基础并增加了代码量,在使用三元运算符的时候发现我对运算符优先级的掌握还不能十分灵活,需要恶补。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值