2021-11-12

学习内容:

 

1、C语言概述

1.为什么选择嵌入式:因为嵌入式开发是在硬件上移植操作系统,由操作系统去控制资源给软件提供接口去控制硬件,可以提高软件的移植性

嵌入式开发中操作系统是核心,需要移植,并在上层和底层做开发,而操作系统的核心是内核,最重要的是内核,内核都是由C语言开发 ,所以嵌入式开发选择C语言

2、为什么用c语言开发--c语言的特点

a/能够直接访问硬件 (最大特点) (c:硬件复杂操作 VS 汇编:硬件初始化用汇编)

b/运行效率快 (运行时语言) 解释性语言VS运行时语言 (C VS java \ C (面向结构)VS C++(面向对象))

c/移植性

3、c语言的缺点:

面向结构(代码的复用性差、代码的维护性差、代码的扩张性差)

面向结构解决不了大而复杂的问题,解决具体、细微的问题

4、c语言实现面向对象编程????

如何用C语言实现面向对象编程:结构体如何实现类的封装、继承、多态

5、C语言的开发方向

操作系统(上层(库)、底层(BSP、驱动)、实现(内核))、硬件、中间件(sdk)

做内核、写操作系统

6、精通C、掌握C

C语言的知识体系

7、C语言发展

C语言基础知识点:

1、机器码(运行效率、访问硬件的能力)

C语言由指针类型

2、C语言之父:

丹尼斯里奇

3、C语言语法标准:

k&RC c89、c99 、c11

4、C语言语法版本:

GNU C +ASCL C

5、gcc:100%c89+部分c99

6、什么语言可能以后会替代c语言

Go和Rust

一数据类型:

基本数据类型:(内置:编译器自带的类型):int、short、long、long long、char、float、double

复合数据类型:(多个内置类型的组成的新类型):数组、struct、union、enum(后面讲)

void类型:void * (万能指针):多态

二、定义变量(注意事项:编码规范)

1\变量的可读性 : 形容性_名词 int n ;int sum_result ; int a ; int b ; int d;

2\循环变量: int i ; int k

三、基本数据类型需掌握的知识点:

1、各种数据类型的字节长度(变量占用内存的大小) int num =5;

注:计算机表示内存大小的单位:bit位、字节、半字、字、双字、kB、MB、G、T

8bit位= 1个字节、16bif= 2个字节=半字、32bit = 4个字节=字、双字、1024kB = 1MB、G、T

任何测量数据类型的大小? sizeof运算符不是函数 sizeof(变量名) sizeof(数据类型)

sizeof 计算数据类型和变量的内存大小

strlen统计字符串中字符的个数

指针的长度:int * ;char * 固定长度

指针类型:保存地址,操作系统中地址的长度是固定长度,是由操作系统位数的决定的,64位系统是8个字节,32位系统是4个字节

数组的长度

数组的长度 * 元素类型的长度 int array-int[100] 4*100 .

字符串的长度: int strlen(char *src) 不统计‘\o’

char *ptr = "hello world";

printf("strlen(ptr) = %ld\n",sizeof(ptr)); 测量的是ptr指针变量的大小

printf("strlen(ptr) = %ld\n",strlen(ptr)); 结果 是 11

输出结果: 8,11,11

笔试题

2、各种数据类型的取值范围?

(计算机是以补码形式保存数据,为了解决+0,-0问题)

注:大数计算

计算机为什么提出补码存储?

3、signed VS unsigne: 代码移植性问题

typedef 关键词:给数据类型重命名

作用:解决signed、unsigned带来的代码移植性的问题

提高代码的可读性

提高编码效率

4、变量和常量

全局变量和局部变量

1.变量的三大特点:字节长度、生命周期&作用域、存储区域

2、作用域:可见范围

局部变量:在函数体里定义的变量--所在函数(出了函数看不见)

全局变量:在函数体外定义的变量--整个全局(需要用extern外部声明)

3、生命周期:所在内存空间的分配-释放的过程

局部变量:所在函数体执行时,分配空间,执行结束,释放空间

全局变量:所在程序执行时,分配空间,执行结束,释放空间

4、存储区域

局部变量:存储在栈空间

全局变量:存储在数据段

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值