首页 > 其他分享 >0基础学嵌入式day01

0基础学嵌入式day01

时间:2024-07-26 18:54:49浏览次数:18  
标签:定义 常量 int day01 基础 嵌入式 printf main 变量

一、C语言概述

        1、什么是程序

                程序是为了解决某些问题或者实现某些功能的一系列有序指令的集合。

        2、计算机语言简史

                第一代机器语言:由0和1组成的二进制机器码。

                第二代汇编语言:使用英文缩写的助记符表示基本操作,这些助记符构成汇编基础

                第三代高级语言:接近人类使用习惯的程序设计语言,容易为人们掌握。高级语言不可以直接被执行,需要编译器或解释器进行编译或解释后再进行执行。如C、Java、PHP、JS

        3、C语言之父(要记):丹尼斯·里奇

        4、C语言发行版本:

                K&R C(1978年)——>ANSI C(C89/C90,1989年)——>C99(1999年,目前最流行的版本)——>C11——>C17——>C23

二、第一个C程序

        1、程序代码分析

/*#include 表示要加载头文件   
*<stdio.h> 头文件名称为stdio,std表示标准化,io表示输入输出
*所以<stdio.h>表示的是输入输出的头文件
*/
#include <stdio.h>

//main函数是C语言的程序入口
//函数名main 前面的int表示main函数的返回值为int类型
//int表示整数类型
int main(){

//输出函数printf,输出Hello,Word!
printf("Hello,Word!");

//return表示函数执行完毕,并返回int类型值0
return 0;
}

        2、程序运行机制流程

                (1)编写C语言源代码文件,文件扩展名为.c

                (2)预处理阶段,主要进行一些文本处理,比如去掉多余的空格和注释,处理预处理指令,生成处理后的源代码文件,通常扩展名为.i

                (3)编译阶段,编译器会对源代码进行编译,生成汇编文件,通常扩展名为.s

                (4)汇编,汇编器会对汇编文件进行翻译,生成一个或多个机器码文件

                (5)链接,链接器将多个目标文件合并,生成可执行的二进制程序

                (6)运行,执行程序的到结果

        3、C程序开发注意事项

                (1)C程序源文件以“c”为扩展名

                (2)C程序的执行入口是main函数

                (3)C语言严格区分大小写

                (4)C程序由一条条语句构成,每个语句以“;”结束。

        4、什么是注释

                注释是对程序代码进行的解释说明,他不会被编译器执行。

        5、注释的作业

                (1)对代码进行解释说明,帮助其他开发者理解代码

                (2)注释掉暂时不想执行的代码,用于代码调试

        6、注释类型

                单行注释://

                多行注释:/*

                                */

三、变量

        1、变量的概念:

                变量是内存中的一块存储空间,存储在该空间的数据可以在同一数据类型范围内不断变化。

        2、变量的使用流程:

                声明>赋值>使用。变量必须先声明再赋值,然后才能使用。

        3、变量的声明和赋值

                变量的声明和赋值可以分开进行,比如:

int num;
num = 100;

                声明和赋值还可以放到一起进行:

int num = 100;

                这两者是等价的,除此之外还可以一次声明多个变量:

int i,j = 200;

                这行代码就是同时声明了i和j两个变量并将200赋值给j变量。

4、输出变量

//声明要用到的变量
int num = 200;
//输出函数为printf,()内为调用函数所需要传入的参数
//输出函数的第一个参数为字符串,字符串需要""引起来。
//字符串内要输出变量的话需要一个格式占位符,%d代表整型变量,字符串后的变量参数按照占位符的顺序
//依次写出,各参数间用,隔开
printf("要输出的整数变量为%d",num);

5、输入变量

        scanf主要用于从键盘读取数据并将其存储到指定的变量内。

        代码示例:

#include <stdio.h>

int main(){
    
    //使用输入函数前要定义变量
    int num1,num2,num3;
    //提醒用户要输入参数了
    printf("请输入三个整数,各个整数间用空格隔开!\n");
    //scanf函数与printf函数类似,有一个字符串参数和多个变量参数
    //scanf函数的字符串参数内也有占位符,并且用户输入的格式要和字符串内的格式保持一致
    //scanf函数的变量参数的变量名前需要有一个&取地址符
    scanf("%d %d %d",&num1,&num2,&num3);
    printf("您输入的三个整数分别是%d,%d,%d",num1,num2,num3);

    return 0;
}

        6、标识符的命名规则

                (1)标识符只能由字母(大小写都可)、数字(0-9)和下划线_组成

                (2)不能以数字开头

                (3)不能用关键字作为标识符

        7、标识符的命名规范

                (1)要见名知意

                (2)如果多个单词组成一个标识符,单词间可以用下划线隔开

                (3)多个单词组成标识符,除了用下划线外,可以用小驼峰命名法命名

        8、案例

#include <stdio.h>

//定义主函数
int main(){

//声明num1,num2,sum为整型变量
int num1,num2,sum;

//获取用户输入
printf("请输入两个整数并使用空格隔开:");
scanf("%d %d",&num1,&num2);

//计算两数之和并输出
sum = a+b;
printf("两数之和:%d",sum);

return 0;
}

四、常量

        1、什么是常量

                程序运行时,其内存空间内的值不可改变的量,为常量

        2、常量的分类

                (1)字面量常量,直接使用的数,不需要定义或声明,如1、a、3.14

                (2)标识符常量,使用标识符作为常量名,包括#define定义的常量和const定义的常量以及枚举常量

        3、常量的定义

                (1)使用#define定义常量

#include <stdio.h>

#define PI 3.14 //定义常量PI,常量值为3.14

int main(){

double area;
double r = 1.2;
area = PI * 1.2 * 1.2;
printf("面积:%.2lf",area);

return 0;
}

                (2)使用const关键字

#include <stdio.h>

const double PI =  3.14; //定义常量PI,常量值为3.14,const定义常量后需要加;

int main(){

double area;
double r = 1.2;
area = PI * 1.2 * 1.2;
printf("面积:%.2lf",area);

return 0;
}

        4、#define定义常量和const定义常量的区别

                (1)执行时机:#define是预处理命令,在预处理阶段执行;const是关键字,在编译阶段执行

                (2)类型检查:#define定义常量不用指定类型,不进行类型检查,只是简单的进行文本替换;const定义常量需要指定数据类型,进行类型检查

标签:定义,常量,int,day01,基础,嵌入式,printf,main,变量
From: https://blog.csdn.net/weixin_60405210/article/details/140642273

相关文章

  • EMS/PCS/BMS/充电桩/逆变器新能源设备处理器选型-米尔嵌入式
    随着全球对可持续发展的日益关注,新能源技术作为替代传统能源的重要选择,正迅速发展并深入各个领域。在这一技术革新的浪潮中,嵌入式技术作为关键的智能化解决方案,正在为新能源行业的发展注入新的动力和创新。本文旨在为新能源行业的开发者解决嵌入式处理器选型难题。1.米尔嵌入式处......
  • 【踩坑系列-Docker】基于Alibaba Cloud Linux3基础镜像安装Nginx
    Author:赵志乾Date:2024-07-26Declaration:AllRightReserved!!!1.问题描述    使用AlibabaCloudLinux3作为基础镜像,在其上安装Nginx,对应的Dockerfile内容如下:#指定基础镜像FROMalibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:lat......
  • 【基础算法】高精度算法
    高精度算法高精度加法模板:模板题+详解高精度减法模板:模板题+详解高精度乘法模板模板题+详解高精度除法模板模板题+详解计算机最初、也是最重要的应用就是数值运算。在编程进行数值运算时,有时会遇到运算的精度要求特别高,远远超过各种数据类型的精度范围;有时数......
  • 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    想要成为黑客,却苦于没有方向,不知道从何学起,下面这篇黑客入门教程可以帮你实现自己的黑客梦想,如果想学,可以继续看下去,文章有点长,希望你可以耐心看到最后 1、Web安全相关概念(2周)·熟悉基本概念(SQL注入、上传、XSS、、CSRF、一句话木马等)。通过关键字(SOL注入、上传、XSSC......
  • 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    想要成为黑客,却苦于没有方向,不知道从何学起,下面这篇黑客入门教程可以帮你实现自己的黑客梦想,如果想学,可以继续看下去,文章有点长,希望你可以耐心看到最后 1、Web安全相关概念(2周)·熟悉基本概念(SQL注入、上传、XSS、、CSRF、一句话木马等)。通过关键字(SOL注入、上传、XSSC......
  • 地理位置相关基础数据
    基础数据LONGITUDE_LATITUDE={"110000":{"name":"北京市","latitude":39.904989,"longitude":116.405285},"110101":{"name":"东城区","latitude":39.917544,"......
  • Python基础知识点(1)基本语句
    基本语句1.if语句if表达式:语句块其中,表达式是一个返回True或False的表达式。如果表达式为True,则执行if下面的语句块;如果为False,则跳过语句块执行下面的语句。2.if…else语句if表达式:语句块1else:语句块2其中,表达式是一个返回True或False的表达式。如果......
  • python基础函数
    1.为什么使用函数使用函数的目的是去减少代码的冗余性,简化代码的复杂度2.如何去定义一个函数以def开头去进行相关的定义在def的后面我们就去以见明知意的方式去定义一个函数的名称在函数名称后面的括号中去添加参数值,可以是多个参数,也可以是无餐的3.函数的调用无参多......
  • 软考-软件设计师(1)-计算机基础知识点:进制转换、数据编码、内存编址、串并联可靠性、
    场景软考-软件设计师-计算机基础模块高频考点整理。以下为高频考点、知识点汇总,不代表该模块所有知识点覆盖,请以官方教程提纲为准。注:博客:霸道流氓气质-CSDN博客实现知识点进制转换十进制转二进制除以2,反向取余数,直到商为0终止,转换成其他进制同理二进制转十进制其......
  • 大模型基础——循环神经网络(RNN)
    循环神经网络(RecurrentNeuralNetwork,RNN)是一种特殊类型的神经网络,它特别适合于处理和预测序列数据中的时间依赖性和时序信息。与传统的前馈神经网络(FeedforwardNeuralNetwork)不同,RNN在隐藏层之间的节点是连接的,从而能够保存和传递之前时间步的信息给当前时间步。循环神......