1. 准备环境
目的: 嵌入式开发---开发具体的产品实物---硬件电路
核心点: 学习C语言、学习STM32、学习Linux开发+驱动开发
VM虚拟机: 虚拟一台电脑。
1.Windows
2.Linux
3.Mac os
Linux环境:
(1)redhat 红帽系统(开发工具: C C++ java….)
(2)ubuntu 乌班图操作系统
使用命令行………………
学习步骤
(1)学习基本命令使用
(2)学习C语言的开发
2. Linux下基本操作
登录账户: root
密码:根密码
打开虚拟机的方法:
终端命令操作:
(1)缩小字体: Ctrl + “ - ”
(2)放大字体:Ctrl+Shift +”+”
了解的基本知识
(1)Linux系统下: #表示超级用户(root) $ 表示普通用户
(2)Linux下目录: 最顶层的目录--- /
(3)Linux下看帮助的一些约定: [ ] 表示参数选填
< > 表示参数必须填
3. 介绍基本的命令使用
1.ls命令: 列出指定目录下的所有的文件
命令的使用方法: ls [参数]
(1)-l 表示看详细信息
(2)-a 表示看隐藏文件
(3)路径: 比如: ls /work
2.cd 命令: 切换目录
命令的使用方法: cd [切换的目录路径]
约定的路径表示方法:
(1)./ : 表示当前路径
(2)../ :表示上一层路径(父目录) 想要表示上上层: ../../
(3)~ : 表示用户目录 (默认cd不带参数,就是~)
(4)- : 表示回到上一次的目录
切换目录示例: cd /work/pwd
相对路径和绝对路径区别: 相对路径就是相对当前的目录路径进行寻址
绝对路径就是从根目录下进行寻址。
3.clear 命令: 清除屏幕的一页 (实际上是翻页)
4.pwd 命令: 获取当前目录的绝对路径
5.rm 命令: 文件和文件夹删除命令
用法: rm <文件或者文件夹的名称> [参数]
参数:
-f :表示强制删除
-v :输出删除的过程
-r :表示删除的是目录
示例: # rm 123 -rfv 强制删除并输出过程
通配符号: * 所有
#rm ./星 -rf 强制删除当前目录下的所有文件。
6.mkdir 命令: 创建目录
用法: mkdir <创建的目录名称> [参数]
参数:
-p :可以一次性创建多层目录
示例: # mkdir 123/456/abc/bhu -p 一次创建多层目录
7.vim 命令: 基于命令行的编辑器
用法: vim <文件名称> //如果文件不存在就创建, 存在就打开
vim 有两种模式: 命令模式 和文本模式
(1)进入到命令模式的方法: Ctrl + “:”
在命令模式常用的操作: w保存 q退出 wq 保存并退出 q!不保存强制退出
(2)退出命令模式: ESC
(3)进入文本编辑模式: i表示插入数据, 退出:ESC
8.gedit 文本编辑器(记事本)
用法: gedit 123.c
9.gcc 编译器
用法: gcc <将要编译的文件> [参数]
常用参数: -o 指定编译之后生成的文件名称
比如: gcc 123.c -o app
支持编译多个文件: gcc 123.c 456.c ….. -o app
10.man 命令: 查看帮助
用法: man [页码1~7] <函数、头文件、命令>
例如: #man ls
#man 3 printf
进入到帮助页面之后, q就直接退出
修改vim文件的配置: 加入行号显示。
# vim /etc/vimrc
在文件最后加上两行代码,保存退出:
set number
set tabstop=4
切换到超级用户: $su root 然后输入密码 按下回车确认
退出编辑器界面: 输入q!
linux下快捷方式
多使用: Tab按键 介绍: 在命令行下自动补全
多使用方向上下箭头 介绍: 查看历史命令
空格在Linux下很特殊,空格用来作为分隔符。
所以: 文件名称 目录的名称 就不能包含空格。
4. C语言基础
4.1 main函数
练习: 创建一个C语言文件,编译,再输出。
C语言基本构造: 前期主要学习 流程控制
(1)C语言代码是由函数组成。
(2)学习基本语法
(3)学习语法的组合运行
1 #include //头文件
2 int main() //主函数,C语言程序的入口。
3 {
4 printf("hello world!\n"); //格式化打印函数,向控制台的标准输出打印数据
5 return 0; //返回命令 0表示返回的数据
6 }
# : 表示预编译,替换
存储的基本单位: 1个字节 = 8位 ---->二进制 --->电平
3---->0x3--->0000 0011
4.2 数据类型
数据类型
1.int 整型 占4个字节
2.char 字符类型 占1个字节
3.float 单精度浮点,占4个字节
4.double 双精度浮点类型,占8个字节
C语言变量定义语法
<数据类型> <变量的名称>;
int a;
1个字节=8位 1111 1111 ---->255
C语言有变量和常量之分: 变量可以改变数据 常量不能改变
int a=56; 78
4.3 格式打印与输入
格式化打印
printf("c=%d\n",c);
用法: int data=888; printf(“%d”,data);
说明: 双引号之间的数据都会原样打印。
格式:
%d :整型 %c :字符 %f : 浮点数 %s :表示字符串
int data=888;
printf(“data=%d”,data); //输出的结果:data=888
想要输出多个数据:
printf(“data1=%d,data2=%d”,123,456);
格式化输入函数
示例: int data; scanf(“%d”,&data); 表示从键盘上输入一个整数存放到data变量中。
&:取地址,得到变量在计算机里的地址。
怎么结束? 空格最为结束分隔符、回车键结束输入
1.#include
2 int main()
3 {
4 int data;
5 printf("请输入整数:");
6 scanf("%d",&data);
7 printf("data=%d\n",data);
8 return 0;
9 }
输入字符:
1 #include
2 int main()
3 {
4 char c='B'; //单引号
5 printf("c=%d\n",c);
6 return 0;
7 }
作业
1.实现大小写转换。
(1)从键盘上输入一个大写字母,输出小写字母
(2)从键盘上输入一个小写字母,输出大写字母
实际的案例:验证码
2. (1) 验证char类型变量最大可以存放多大数据
(2) 验证int类型变量最大可以存放多大数据
char data=88;
在浏览器输入: 192.168.1.130:8080
作业:
1.搭建虚拟环境: 重新安装一次操作系统
http://bbs.wanbangee.com/bbs/forum.php
2.熟悉系统操作命令
3.学习C语言基本语法
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Linux
+关注
关注
87文章
11302浏览量
209430 -
C语言
+关注
关注
180文章
7604浏览量
136771 -
命令
+关注
关注
5文章
684浏览量
22019
发布评论请先 登录
相关推荐
Linux内核中C语言宏的使用技巧
Linux内核可谓是集C语言大成者,从中我们可以学到非常多的技巧,本文来学习一下宏技巧,文章有点长,但耐心看完后C语言level直接飙升。
发表于 07-21 14:56
•468次阅读
嵌入式Linux 及C语言高级开发
体、内存管理。通过本课程的学习,学员的C语言基础更加扎实、编程能力得到进一步提升知识点一:软件包管理及shell命令本次课对ubuntu系统的软件包管理进行了系统的讲解,并介绍了shell命令
发表于 04-03 13:38
深入探索Linux中的C语言
本章将深入探索 Linux 中的 C 语言。在本章中,我们将学到更多关于编译器、从源码到二进制程序的 4 个步骤、如何使用 Make 工具以及系统调用和 C 标准库函数的差别的知识。我
Linux内核中常用的C语言技巧有哪些
Linux内核采用的是GCC编译器,GCC编译器除了支持ANSI C,还支持GNU C。在Linux内核中,许多地方都使用了GNU C
浅析Linux内核中常用的C语言技巧
Linux内核采用的是GCC编译器,GCC编译器除了支持ANSI C,还支持GNU C。在Linux内核中,许多地方都使用了GNU C
发表于 06-25 10:46
•435次阅读
评论