C语言学习笔记

C语言学习笔记第一章前言

欢迎阅读我的学习笔记。

您好! 我是一个嵌入式爱好者,以下为我的学习笔记。如有错误,请您指正。

第一章 前言

#1.什么是程序
1.1计算机程序(软件)
1.1.1传统电脑
(1)电脑上的某一个应用(application),如QQ,微信等。
上位机开发:利用某些语言和库开发上位机,如:C++ 的MFC库QT库,Java的Swing库等。
(2)操作系统的内核:用C或C++编写的windows。
(3)后端服务器代码:Java,PHP,Go等。
1.1.2嵌入式领域
(1)用于给C51或STM32烧入的程序。
(2)arm(带linux内核的)的程序如:智能终端,人脸识别的门禁,丰巢快递柜等。
1.2程序的组成
程序由算法和数据结构组成
1.2.1数据结构:
(1)对数据的描述。形象的说:数学中以某种组织方式排列的某种类型的数字;
(2)程序中使用不同类型的数据:整形,浮点型,字符型,复合型(结构体,数组)
(3)组织方式:链表,树,图。
1.2.2算法:对操作的描述,要求计算机执行的步骤,对数据产生作用。
算法有逻辑型和数学数据型。
(1)逻辑型:按照一定的发展顺序编写的算法。
(2)数学数据型:按照某一种数学模型,对输入的数据集合进行处理并输出一个数据集合。如:音视频处理中的维纳滤波算法。
1.3进程或任务
跑起来的程序叫做进程,是一个动态的过程。在这里插入图片描述

2.程序怎末来的
2.1编程:使用某种环境,按照编程语言的规范和要求编写的代码。
2.2编译:对编写的代码进行处理,使其转化成机器可以识别的语言。主要有以下四个步骤:预处理,编译,汇编,链接在这里插入图片描述

2.3执行
3.什么是计算机语言
在这里插入图片描述
1.3.1机器语言:光电输入机读取穿孔纸带上的信息
在这里插入图片描述

1.3.2符号语言:汇编
1.3.3高级语言:更加符合人类读写习惯的语言,
结构化语言:面向过程的C语言;面向对象语言:C++, Java, PHP, C#。
1.4如何学习
1.4.1学习课程:不可急功近利,追求速度,拉进度条。
1.4.2课程中出现的代码:先理解,再编写出来,遇到错误要调试直至通过,自己没有思路的的请教别人,多总结,多积累。
1.4.3学习的过程是一个漫长的过程,要坚持下去,要真正理解。
**

第二章 初识

**
1.开发环境(IDE)的了解:常用的工具有:vscode,vc++等。
2.开发环境的搭建:嵌入式技术栈离不开Linux,在Windows下模拟开发环境,为以后准备。
2.1代码编辑工具:Notepad++,下载地址:https://notepad-plus.en.softonic.com/
(只是代码编写工具,没有集成编译器,需配置mingw使用),
2.2代码编译工具
2.2.1安装gcc工具
下载地址:http://www.mingw-w64.org/doku.php,注意下载离线安装版本,博客参https://blog.csdn.net/Leo_LiangXuYuan/article/details/86763735
2.2.2配置环境变量:
目的是命令终端中的任意文件夹能识别gcc指令
(1)双击打开我的电脑,点击属性,高级系统设置,环境变量,将gcc文件中bin文件夹添加到环境变量path中。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)新建代码文件夹
a.双击此电脑,查看,勾选文件扩展名,新建文本文档,将后缀修改成 .c,拖入Notepad++
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新建文件在软件出现关键字的高亮说明新建成功。

2.2.3使用
(1). 打开命令终端cmd
(2). cd指令跳到代码文件夹;dir查询文件目录

在这里插入图片描述

(3).编译运行
指令1:gcc test.c 指定编译对象的名字
指令2:a.exe 运行新生成的程序
在这里插入图片描述
3.C语言程序的基本框架
C语言程序最基本的组成部分,

#include<stdio.h>  //编译预处理命令

int main()  //程序的入口主函数main
{
              //程序(函数,功能)开始的标志
	printf("hello world!\n");  //程序退出前返回给调用者(操作系统)的值
	return 0;
}           //程序(函数,功能)结束的标志

printf和<stdio.h>绑定的,点明printf函数的来源。
在这里插入图片描述
指令3:echo %errorlevel%打印函数的错误等级,一般约定俗称函数运行正确,返回值为0,也可自行定义函数的返回值。
在这里插入图片描述
4.数据的表现形式
4.1变量
程序在运行的过程中,他的值会不断变化的,
4.1.1变量的四个要素:a:变量名;b:变量值;c:存储单元;d:类型

int a=3;

在这里插入图片描述
电脑会根据不同的数据类型分配不同的大小的空间。
4.1.2变量的名(标识符):先声明后使用
a:由字母数字下划线组成,且只能以下划线或者字母开头,不能以数字开头
int a /int data/int Mydata/int _mydata/int mydata
int 1data错误
b:区分大小写
在这里插入图片描述
c.常用驼峰命名法

d.变量常见的类型:
在这里插入图片描述
d.1目前常用的类型
(1)整型:int data=1;占四个字节,共计32位。
(2)字符型:char a=‘c’;占一个字节,8位。
(3)浮点类型:单精度 float data2=3.2;双精度:double data2=2.33占四个字节,共计32位。
注:字符型和整数型有一定的联系。ASC码。字符是特殊的整数型。
在这里插入图片描述
注意:定义的变量不可越界,不可超过最大容量。
例:C51单片机用两个字节来表示一个变量,共计16bit ,最大值为:2的16次方65536
在这里插入图片描述
不可在单片机中定义 int a=1000000;
4.2常量:在程序运行过程中,其值不能改变符号常量

5.输入输出
5.1输出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值