06_24 二级C语言(前10题)

这篇博客涵盖了C语言的基础知识,包括算法的空间复杂度和基本特征,排序算法,数据结构如循环队列和二叉树的特性,类与对象的基本特点,软件生命周期,数据库的构成和关系,以及不同类型的图。此外,还讨论了结构化程序设计原则和C语言的常量、运算符等知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.算法

算法的空间复杂度:指执行这个算法所需要的内存空间,分为时间复杂度和空间复杂度。包括三个部分:a,输入数据所占的存储空间 (数据的存储结构)b,程序本身所占的存储空间 c,算法执行过程中所需要的额外空间
为了降低算法的空间复杂度,主要应减少输入数据所占的存储空间以及额为空间,采用压缩存储技术

算法控制结构在具体实现中影响程序执行时间

算法的基本特征 :可行性、确定性、有穷性、拥有足够的情报,算法的设计必须考虑到算法的复杂度


2.排序算法

这里写图片描述


3.数据结构

1.
2.循环队列的対头指针与队尾指针都是不固定的,随着入队与出队操作要求的进行变化。所以対头指针有时可能大于队尾指针,有时也可能小于队尾指针。
3. 循环队列中元素的个数是由队头指针和队尾指针共同决定


4.二叉树

树是简答的非线性结构,同理可得,二叉树也是非线性结构)
:在树结构中,一个节点所拥有的后件个数称为该节点的度
规律:度为0的节点(及叶子节点)总是比度为2的节点多一个。
例题:某二叉树共有400个节点,其中100个度为1的节点,则该二叉树中的叶子节点数为
解:设叶子节点数为x,则度为2的节点数为x-1
400=x+100+x-1,解得x=150.5
由于节点个数必须为整数,所以这样的二叉树并不存在


5.类——对象的基本特点

这里写图片描述


6.软件生命周期

软件生命周期 :通常把软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期
可行性研究:软件生命周期的第二阶段主要任务,在需求分析之前
需求分析阶段,是指对开发软件提出的需求进行分析并给出详细的定义,编写软件规格说明书及初步的用户手册,最后提交评审。
需求分析工作分为(4):需求获取、需求分析、编写需求规格说明书和需求评审


7.数据库(DB)、数据库管理系统(DBMS)、数据库系统(DBS)

数据库(DB) :是指长期储存在计算机内的、有组织的、可共享的数据集合
数据库管理系统(DBMS) :是数据库的机构,它是一个系统软件,负责数据库中的数据组织、数据操纵、数据维护、数据控制及保护和数据服务等。
数据库系统(DBS) :有以下几个部分组成:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台,这些构成了一个以数据库管理系统为核心的完整的运行实体。
数据库系统三级模式,在其内部分为即概念模式、内模式和外模式。
a,概念模式,是数据库系统中全局数据逻辑结构的描述,是全体用户的公共数据视图
b,外模式,也成为子模式或者用户模式,是用户的数据视图,也就是只有用户所能看见和使用的局部数据的逻辑结构和特征的描述,是某一应用有关的数据的逻辑表示。
c,内模式又称为物理模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表达方式
总结:数据库系统包括数据库和数据库管理系统

8.实体集建立连接关系(有问题,似乎有点明白)

一对一、一对多、多对多
例题:a,大学中每个年级有多个班,每个班有多个学生(答案:一对多)
每个班有多名学生,但每个学生只能在一个班级
b,医院里有不同的科室,每名医生分属不同的科室,(一对多)
每个科室有多名医生,但每个医生只能在一个科室
c,一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(一对多)
因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。


9.各种图

1.N-S图(Nassi Shneiderman图)
一种在流程图中完全去掉流程线,全部算法写在一个矩形阵内,在框内还可以包含其他框的流程图形式。即由一些基本的框组成一个大的框
a,程序方块
这里写图片描述
b,分支方块
真/假分支方块,对应if指令
这里写图片描述
重分支方块,当使用类似C语言的switch指令
这里写图片描述
c,测试循环方块
这里写图片描述
2.PAD图(Problem Analysis Diagram)
一种主要用于描述软件详细设计的图形表示工具
这里写图片描述
3.程序流程图
用统一规定的标准符号描述程序运行具体步骤的图形表示
这里写图片描述
4.E-R图(Entity Relationship Diagram)
用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;用”菱形框“表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型
这里写图片描述
5.在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表


10.零碎的知识点

1.结构化程序设计的原则:自顶向下、逐步求精、模块化、限制使用goto语句
(程序模块化的目的是为了降低程序的复杂度,使程序设计、调试和维护等操作简单化,降低程序的复杂度可以提高程序的编制效率和调试效率,每个模块可以复用,提高了程序代码的复用率)
2.任何一个C程序都是从主函数main()开始,到主函数main()结束
3.C语言常量表示:程序在运行时,其值不会发生改变,包括字面常量、字符常量
字符常量是用单引号扩起来的的单个字符
字符串常量使用双引号扩起来的多个字符
4.sizeof()是取类型多占字节数的运算符
5.C语言的标识符是由字母、下划线、数字组成,首字符只能是字母或下划线(auto是C语言关键字)
6.十进制的数码取值为0-9,没有前缀
八进制的数码取值为0-7,必须以0开头,作为前缀
十六进制的数码取值为0-9,A-F或a-f,前缀为0X或0x
长整数,使用后缀L或l来表示,无符号使用后缀U或u来表示
7.if语句,只要是合法的表达式即可
8.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的,链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间

内容概要:本文介绍了奕斯伟科技集团基于RISC-V架构开发的EAM2011芯片及其应用研究。EAM2011是一款高性能实时控制芯片,支持160MHz主频和AI算法,符合汽车电子AEC-Q100 Grade 2和ASIL-B安全标准。文章详细描述了芯片的关键特性、配套软件开发套件(SDK)和集成开发环境(IDE),以及基于该芯片的ESWINEBP3901开发板的硬件资源和接口配置。文中提供了详细的代码示例,涵盖时钟配置、GPIO控制、ADC采样、CAN通信、PWM输出及RTOS任务创建等功能实现。此外,还介绍了硬件申领流程、技术资料获取渠道及开发建议,帮助开发者高效启动基于EAM2011芯片的开发工作。 适合人群:具备嵌入式系统开发经验的研发人员,特别是对RISC-V架构感兴趣的工程师和技术爱好者。 使用场景及目标:①了解EAM2011芯片的特性和应用场景,如智能汽车、智能家居和工业控制;②掌握基于EAM2011芯片的开发板和芯片的硬件资源和接口配置;③学习如何实现基本的外设驱动,如GPIO、ADC、CAN、PWM等;④通过RTOS任务创建示例,理解多任务处理和实时系统的实现。 其他说明:开发者可以根据实际需求扩展这些基础功能。建议优先掌握《EAM2011参考手册》中的关键外设寄存器配置方法,这对底层驱动开发至关重要。同时,注意硬件申领的时效性和替代方案,确保开发工作的顺利进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值