苏嵌实训-嵌入式 linux C 第 3 天
项目名称 | 【苏嵌实训-嵌入式 linux C 第 3 天】 |
---|---|
今日进度以及任务 | 嵌入式C实战详解1-开发流程、编码规范 |
本日任务完成情况 | 按时完成了老师课后布置的编程题 |
本日开发中出现的问题汇总 | 无 |
本日未解决问题 | 1、老师课上说64位操作系统指针长度应该是8个字节,32位操作系统指针长度为4个字节,但是我电脑是64位,编译出来的指针长度显示4个字节,这个问题有待查询。 2、对于上课的i++,++i,*(ptr++), *(++ptr)掌握还不够熟练。 |
本日开发收获 | 学习了C语言概述、数据类型、输入输出、运算符以及基本控制语句,详细见笔记部分 |
其他 | 无 |
笔记:
一、概述
1、C语言之父?
丹尼斯·里奇, 1978 k&Rc --unix是由C开发的
2、C语言的特点(优势)?
直接访问硬件、运行效率、移植性
<C语言为什么能够直接访问硬件?>
因为C语言有指针类型
<嵌入式开发为什么选择C语言?>
所有操作系统的内核都采用了C语言;
<Python最终替代所有的编程语言?>
不会,Python是解释性语言,不可能替代C语言
3、C语言标准?
K&RC 、C89、C99、C11
4、如何学习C语言?
写代码并不是大量的看书、项目
二、数据类型
1、所有的数据类型的定义、初始化;
printf(“a = %p\n”,a);//a+1增加一个数组元素长度
printf("&a = %p\n",&a);//&a+1增加一个数组长度
右左法则:
1)确定a是一个变量,就要确定该变量保存什么类型的数据,保存什么类型的数据,它就是什么类型的变量;
2)确定a是一个指针变量,就要确定该指针变量保存什么类型的地址,保存什么类型的地址,它就是什么类型的指针变量;
3)确定a是一个数组,就要确定数组里的元素是什么类型的,元素是什么类型,它就是什么数组;
4)确定a是一个函数,就要确定函数的形参和返回值;
int a; //一个整型数
int *a; //整型指针变量
int **a; //整型指针的指针变量
int a[10]; //整型数组
int *a[10]; //整型指针数组
int (*a)[10]; //数组指针变量,指向的是整型数组
int (*a)(int); //函数指针变量,指向的是形参为int,返回值为int
int (*a[10])(int); //函数指针数组,
2、各种数据类型的字节长度(所占内存空间的大小)及取值范围;
基本类型字节长度:
int 4
char 1
short 2
long 4
float 4
double 8
指针变量的字节长度
指针变量的字节长度是固定的!!
<因为指针保存的是地址,地址在操作系统中是固定长度,长度是由操作系统位数决定的,32位系统,指针是4个字节;64位系统,指针是8个字节>
Sizeof VS strlen:
1)sizeof是运算符,不是函数;作用:计算数据类型或者变量的所占内存空间的大小。
2)strlen是字符串库函数;作用:统计当前字符串的字符个数,不包含\0。
3)sizeof在计算字符串的大小时包含\0
3、signed\unsigned
三、输入输出
printf:
<格式化控制符>//行缓冲,满一行才输出
scanf:
用scanf输入字符的时候需要先用getchar()将缓冲区里面的回车取走
getchar
putchar
gets
四、运算符、基本控制语句
1、i++; ++i;
逻辑运算符 && || !
2、位运算
3、while for //已知循环次数用for,不知循环次数用while
4、if switch case
5、break continue
6、goto:异常处理
//函数传参从右边开始传参
- 苏嵌实训-嵌入式 linux C 第3 天
- C语言基础知识-苏嵌实训 嵌入式 linux C 第 3 天
- 苏嵌实训-嵌入式 linux C 第 3 天
- 苏嵌实训-嵌入式linux C 第 7 天
- 苏嵌工程实训-嵌入式Linux开发(基础命令)
- 苏嵌实训-嵌入式linux C 第 5 天
- 苏嵌嵌入式Linux实训 第五天
- 苏嵌实训-嵌入式linuxC第1天
- 苏嵌嵌入式Linux实训 第四天
- 【苏嵌实训-嵌入式 linux C 第 6天】
- 苏嵌嵌入式Linux实训 第三天
- 【苏嵌实训-嵌入式 linux C 第 5 天】
- 苏嵌嵌入式Linux实训 第二天
- 【苏嵌实训-嵌入式 linux C 第 4 天】
- 2020-07-02苏嵌嵌入式Linux实训 第一天
- 苏嵌实训-嵌入式 linux C 第6 天
- 苏嵌实训-嵌入式 linux C 第5 天
- 苏嵌实训-嵌入式 linux C 第4 天
- 苏嵌实训-嵌入式 linux C 第 6 天
- 苏嵌实训-嵌入式 linux C 第 5 天