内存地址、存储单元、指针等计算机基础概念

前言

从大一一直困惑到研三的这几个概念今天静下心来总算是搞明白了,太开心太开心!!!!
这里总结一下,分享给大家。
1.内存地址
计算机在执行程序时是由CPU从内存中读取指令,数据等,那么是怎么读取的呢?换句话说,是怎么找到的呢?就像快递员是怎么找到你的呢?答案当然是“地址”(address)了,你有居住地址,数据也有自己的地址,这个地址就是“内存地址”,如下一段程序:

#include<stdio.h>
int main()
{
	int a = 10;
	int b = 46465465;
	printf("%p\n", &a);
	system("pause");
	return 0;
}

运行结果为:
在这里插入图片描述
如图,这个十六进制数就是变量a的地址,转变成十进制为:
在这里插入图片描述
那么这个地址是怎么分配的呢,接下来就要涉及到存储单元的概念了。
2.存储单元
存储单元一般应具有存储数据和读写数据的功能,以8位二进制作为一个存储单元,也就是一个字节。每个单元有一个地址,是一个整数编码,可以表示为二进制整数。程序中的变量和主存储器的存储单元相对应。变量的名字对应着存储单元的地址,变量内容对应着单元所存储的数据。存储地址一般用十六进制数表示,意思就是每个存储单元都有自己唯一独立的数字作为表示,而每一个存储器地址中又存放着一组二进制(或十六进制)表示的数,通常称为该地址的内容,例如00001111、11010010等。
有了这个概念,这里就可以解释一下计算机的位数与所支持最大内存之间的关系,比如说32位的系统,32位系统的“32”位是指cpu的地址总线是32根,其最多能有2^32次方个地址,每个地址都有其独立唯一的编号,如下图:
在这里插入图片描述
4G = 2^32 乘以 8(bit),每8(bit)是一个字节,也是一个存储单元,都有其唯一独立的地址,那么32位系统一共能表示232次方个地址,每个地址是8bit,232乘以8等于2^35次方(bit),正好是4G的内存,那么64位系统最多支持多大内存呢?答案是
2的32次方G
,不过这么大是基本不可能的,当今计算机的寻址能力根本达不到,不过128G还是可以达到的。
这里有个链接,里面举了地址、数据以及其二进制表示对应于门牌号的例子,很贴切,可以体会一下。
3.指针
说完了计算机里的地址和在其中的数据,自然而然的引出指针的概念。
现在几乎任何需要速度的需求或者面向硬件的编程都会用C++编写,这么难为什么还要用?当然不是纯粹为了挑战未登峰,而是因为C++/C快啊,它们能直接对计算机里的地址进行操作,你说快不快?那么如何对地址进行操作呢,C语言的创造者给出的答案是指针,这个让我又爱又恨的东西。
C语言中函数的参数传递分为按值传递和按引用传递,按值传递是拷贝一个数据进入函数进行处理,那么按引用传递就是把数据的地址直接传递给函数。
下面用例子说明:

#include<stdio.h>
void newval(int *);
int main()
{

	int a = 10;
	printf("before a value:%d\n", a);
	printf("before a address%u\n", &a);
	newval(&a);
	printf("after a value:%d\n", a);
	printf("after a address:%u\n", &a);
	system("pause");
	return 0;
}
void newval(int *xnum)
{
	*xnum = *xnum + 1;
}

结果为:
在这里插入图片描述
有结果可以看出,变量a的地址没变,但是其地址指向的变量却变了。
再一个例子:

#include<stdio.h>

int main()
{

	int a = 'e';
	printf("before a value:%d\n", a);
	printf("before a address%u\n", &a);
	
	printf("before a value:%d\n", a+1);
	printf("after a address:%u\n", &a+1);
	printf("after a address:%d\n", *&a);
	system("pause");
	return 0;
}

&a+1的意思就是取a的地址,然后在其地址的编号后加一个“a”数据类型大小的空间,结果为:
在这里插入图片描述
注意到地址数值增加了4,也就是一个int数据结构的大小,即四个字节,同理,如果是char数据结构,那么就是增加一个字节。
理解了指针之后,就可以理解在把地址传入函数以后,就可以通过修改地址也就是指针指向的值来对调用函数的值进行操作,这个就叫做引用传递。

  • 22
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
计算机基础(同名3785) LT 1.判断题 (1)计算机所有的信息都是以二进制形式存放的。 ( ) (2)在计算机,数据单位bit的含义是字节。( ) (3)256KB字节等于256000字节。( ) (4)溢出与进位具有相同概念。( ) (4)有符号数运算时,结果C标=1则表明运算发生溢出错。( ) (6)CPU 芯片集成了运算器和控制器。 ( ) (7)若一个数据块的起始地址为20A0H:0F6H,则该数据块起始的实际地址是21B60H 。( ) (8)80486的数据总线都是16位。( ) (9)SP的内容可以不指向堆栈的栈顶。( ) (10)字长是描述CPU数据总线宽度的指标。( ) (11)计算机的堆栈是一种特殊的数据存储区,数据存取采用先进先出的原则。( ) (12)当运算结果各位全部为零时,标志寄存器的ZF为0。( ) (13)逻辑地址不是物理地址,但它是唯一的。( ) (14)在80486的32位标志寄存器,其每一位都有一定的含义。( ) (15)微机的字长愈长,计算精度愈高,指令处理功能愈强。( ) (16)计算机的主频愈高,计算机的速度愈快。( ) (17)实地址模式下80486可以直接访问的内存单元为1MB,一个逻辑段为1MB。( ) (18)当取指令时,CPU会自动以代码段寄存器CS内容作为段基址,左移4位后,再加 上指令指针IP内容作为偏移量,形成20位物理地址。( ) (19)当进行堆栈操作时,微处理器会自动选择堆栈段寄存器SS内容做为段基址,左 移4位后,再加上16位的BP值作为偏移量以便形成物理地址。( ) (20)微处理器RESET引脚处于高电平后,停止当前正在进行的各种操作,使其内部 处于初始化状态。( ) (21)通用寄存器的变址寄存器也可以分为高8位.低8位的寄存器单独使用。 ( ) (22)80486的逻辑段不允许有段的重叠和交叉。( ) (23)运算结果的低8位含有1的个数为奇数,则P标志等于0。( ) (24)总线就是计算机各部件之间传送信息的 术制成的半导体芯片,其主要包括 器、 器和 组。 (19)指令指针用 表示,其存放的CPU所要访问的内存单元的 。 (20)奔腾微处理器是一个 位的微处理器,具有 位数据总线, 位地址总线,可寻址空间为 。 (21)CS是指 寄存器,用来存放当前程序所在段的 。 (22)DS是指 寄存器,用来存放当前程序所用数据段的 。 (23)ES是指 寄存器,用来存放辅助数据所在段的 。 (24)SS是指 寄存器,用来存放当前程序所用 段的段基址。 (25)实模式下,一个逻辑段的最大寻址空间是 KB,地址范围为0000H~ H。 (26)80486通用寄存器是 位寄存器,也可以作为 位和 位的寄存器使用。 (27)AX称作 器,BX是 寄存器,其BH、BL可用作 位的通用数据寄存器。 (28)CX称作 器。DX在I/O用作 寄存器。 (29)SP是 寄存器,用来指出当前堆栈段栈顶的 地址。 (30)标志寄存器,CF表示 标志,PF表示 标志。 (31)标志寄存器,AF表示 标志,ZF表示 标志。 (32)标志寄存器,SF表示 标志,用来标志运算结果的 位。 (33)标志寄存器,OF表示 标志,OF=1时表示 。 (34)标志寄存器,IF是 标志,该标志可由断控制指令设置或清除。 (35)高速缓冲存储器的英文缩写是 。 (36)8086CPU具有20条地址线,可直接寻址 B容量的内存空间,在访问I/O端口时,使用地址线16条,最多可寻址 个I/O端口。 (37)32位微处理器有两个独立的物理空间,一个是存储空间,另一个是 空间。 (38)在实地址模式下,设SS=0408H,SP=0130H,则栈顶单元的物理地址是 H。 3.单项选择题 (1)在计算机内部,一切信息的存取、处理和传送都是以( )形式进行的。 A.EBCDIC码 B.ASCII码 C.十六进制编码 D.二进制编码 (2)与十进制数56等值的二进制数是( )B。 A.111000 B.111001 C.101111 D.110110 (3)十进制数36.875转换成二进制数是( )B。 A.110100.01 B.100100.111 C.100110.11 D.100101.101 (4)X的8位补码是10110100,则X的16位补码是( )B。 A.0000000010110100 B.1000000010110100 C.1111111110110100 C.0111111110110100 (5)与十进制数58.75等值的十六进制数是( )H。 A. A3.C B. 3A.C C. 3A.23 D. C.3A (6)有一个8位二进制数补码是1111
计算机二级公共基础&计算机基础知识点汇总 计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第1页。计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第1页。公共基础 计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第1页。 计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第1页。 第一章 数据结构与算法 §1.1 算法 算法的定义:是指解题方案的准确而完整的描述。(算法不等于程序,程序的设计不可能优于算法的设计) 算法的基本特征:可行性、确定性、有穷性、足够的情报。 算法的基本要素: 对数据对象的运算和操作: 算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构: a.算法各操作之间的执行顺序; b.描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等; c.一个算法一般可以用顺序、选择(分支)、循环(重复)三种基本结构组合而成。 算法的时间和空间复杂度: 时间复杂度:是指执行算法所需要的计算工作量,可以用算法所执行的基本运算次数度量。 空间复杂度:是指执行算法所需要的内存空间。包括算法程序、输入的初始数据以及算法执行过程需要的额外空间。 算法的时间复杂度和算法的空间复杂度相互独立。 §1.2 数据结构的基本概念 数据:需要处理的数据元素的集合,一般来说,这些数据元素,具有某个共同的特征。 a.数据元素是数据的基本单位,即数据集合的个体。 b.有时一个数据元素可有若干数据项组成。数据项是数据的最小单位。 结构:是集合各个数据元素之间存在的某种关系(或联系)。 数据结构:是指相互有关联的数据元素的集合。 数据结构的分类: 逻辑结构:线性结构(线性表、栈、队列);非线性结构(树、图)。 存储结构:顺序存储;链式存储。 运算:插入、删除、查找、排序。 逻辑结构:反应数据元素间的逻辑关系(即前后件关系)的数据结构。 线性结构(线性表):(举例:春 夏 秋 冬) 计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第2页。计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第2页。a.有且只有一个根节点,它无前件; 计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第2页。 计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第2页。 b.每一个节点最多有一个前件,也最多有一个后件。 非线性结构: a.不满足以上两个条件的数据结构就称为非线性结构; b.非线性结构主要是指树形结构和网状结构。 存储结构:又称为数据的物理结构,是数据的逻辑结构在计算机存储空间的存放方式 顺序存储结构:主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里。 链式存储结构:每一个结点至少包含一个指针域,用指针的指向来体现数据元素之间在逻辑上的联系。 §1.3 线性表及其顺序存储结构 线性表: 线性表是n(n 0)个数据元素构成的有限序列,表除第一个元素外的每一个元素,有且只有一个前件,除最后一个元素外,有且只有一个后件。 举例:英文字母表、地理学的四向、表格 线性表的顺序存储结构: 通常,线性表可以采用顺序存储和链式存储,但一般使用顺序存储结构。线性表的顺序存储又叫做顺序表(顺序分配)。 特点: a.线性表所有元素所占的存储空间是连续的; b.线性表数据元素在存储空间是按逻辑顺序依次存放的; c.可以随机访问数据元素; d.做插入、删除时需移动大量元素,因此线性表不便于插入和删除元素。 §1.4 栈和队列 栈:栈是限定在一端(栈顶)进行插入和删除的线性表。(一种特殊的线性表) 特点: 栈是只能在栈顶进行插入和删除; 栈的修改原则是"先进后出"或"后进先出"; 栈底指针boottom,栈顶指针top,入栈,栈满,出栈; 栈底指针不变,栈元素随栈顶指针的变化而动态变化; 栈具有记忆功能; 栈支持子程序调用。 队列:队列是指允许在一端进行插入,而在另一端进行删除的线性表。 计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第3页。计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第3页。特点: 计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第3页。 计算机二级公共基础&计算机基础知识点汇总全文共29页,当前为第3页。 队列只允许在队尾进行插入,而在队头进行删除; 队列的修改原则是"先进先出"或"后进后出"; 队头指针front,队尾指针rear,入队,出队; 队列元素随队头指针和队尾指针的变化而动态变化。 循环队列:是讲队列存储空间的最后一个位置绕道第一个位置,形成逻辑上的环状空间 Rear(队尾)>front(队头):s=rear-front rear<front:s=容量+rear-
“新概念C语言”突破了以往任何一种语言教材的旧的模式,将教学内容分为入门篇和提高篇两个篇章。在入门篇只引进程序设计必要的语法现象,达到快速入门。激发兴趣的目的。在入门篇和提高篇之间插一个强化上机实验周,巩固学习内容。在提高篇完成完整的语法、算法、程序设计思想等教学目的的学习任务。由于学生对语言已具有了初步的了解并掌握了最基本的语法和程序设计思想,能设计较简单的程序,所以在提高篇的学习,不论对灵活语法的学习和掌握,还是对程序设计思想的掌握都更加容易,从而可以较容易达到教学目标。 第一部分 入门篇 1 第1章 C语言的产生及其工作流程 3 1.1 C语言的产生 3 1.2 程序和程序设计 3 1.2.1 C程序 3 1.2.2 程序设计 4 习题 4 第2章 C程序设计的初步知识 5 2.1 简单C程序的构成和格式 5 2.2 常量、变量和标识符 6 2.2.1 标识符 6 2.2.2 常量 7 2.2.3 用定义一个符号名的方法来代表一个常量 7 2.2.4 变量 8 2.3 整型数据 8 2.3.1 整型常量 8 2.3.2 整型变量 8 2.4 实型数据 9 2.4.1 实型常量 9 2.4.2 实型变量 9 2.5 字符型数据 10 2.5.1 字符常量 10 2.5.2 字符串常量 11 2.5.3 字符变量 11 2.6 算术表达式 11 2.6.1 基本的算术运算符 11 2.6.2 运算符的优先级、结合性和算术表达式 12 2.6.3 强制类型转换表达式 13 2.7 赋值表达式 13 2.7.1 赋值运算符和赋值表达式 13 2.7.2 赋值运算的类型转换 14 习题 15 第3章 顺序结构程序 16 3.1 复合语句和空语句 16 3.1.1 复合语句 16 3.1.2 空语句 16 3.2 程序举例 16 习题 17 第4章 选择结构 19 4.1 关系运算和逻辑运算 19 4.1.1 C语言的逻辑值 19 4.1.2 关系运算符和关系表达式 19 4.1.3 逻辑运算符和逻辑表达式 20 4.2 if语句和用if语句构成的选择结构 21 习题 22 第5章 循环结构 25 5.1 for语句和用for语句构成的循环结构 25 5.1.1 for语句构成的循环结构 25 5.1.2 for循环的执行过程 25 5.1.3 有关for语句的说明 25 5.2 循环结构的嵌套 27 习题 28 第6章 函数 30 6.1 函数的定义和返回值 30 6.1.1 函数定义的语法 30 6.1.2 函数的返回值 30 6.2 函数的调用 32 6.2.1 函数的调用方式 32 6.2.2 函数调用时的语法要求 32 6.3 函数的说明 33 6.3.1 函数说明的形式 33 6.3.2 函数说明的位置 34 6.4 调用函数和被调用函数之间的数据传递 34 6.5 库函数 36 6.6 数据输入输出及常用库函数 37 6.6.1 printf函数(格式输出函数) 37 6.6.2 scanf函数(格式输入函数) 39 6.6.3 调用putchar和getchar函数输出和输入字符 40 6.7 程序举例 41 习题 43 第7章 数组 45 7.1 一维数组的定义和一维数组元素的引用 45 7.1.1 一维数组的定义 45 7.1.2 一维数组元素的引用 46 7.1.3 一维数组的初始化 46 7.1.4 一维数组的定义和数组元素引用举例 47 7.2 函数之间对一维数组和数组元素的引用 47 7.2.1 数组元素做实参 47 7.2.2 数组名做实参 49 7.3 一维数组应用举例 50 7.4 字符数组 53 7.4.1 字符数组的定义 53 7.4.2 字符数组的初始化 54 7.4.3 字符数组的引用 54 7.4.4 字符串与字符串结束标志 55 7.4.5 字符数组的输入输出 56 7.4.6 字符串处理函数 58 7.4.7 字符数组应用举例 60 习题 61 第8章 文件 63 8.1 C语言文件的概念 63 8.2 打开文件 64 8.3 关闭文件 65 8.4 调用getc(fgetc)和putc(fputc)等常用函数进行输入和输出 65 8.5 判断文件结束函数feof 68 习题 69 第二部分 提高篇 71 第9章 算法 73 9.1 算法 73 9.2 结构化程序设计和模块化结构 74 9.2.1 结
软件技术基础: 1、线性结构(线性表、堆栈、队列、数组、串等)和非线性结构(树、图) 2、线性表的查询算法:顺序、二分法、分块 3、内排序:插入法、选择排序、冒泡法、并归法 4、线性链表(前趋、数据域、后继)。单、循环链表 软件工程: 1、软件的生存周期:计划、开发、运行 2、需求说明、总体设计(概要设计)、详细设计、代码编写、集成和测试 要求:每个阶段的文档。 3、SA(结构化分析)、SD(结构化设计)、SP(结构化程序设计)、OOP 4、软件测试(黑盒、白盒法) 操作系统: 1、操作系统分类 2、功能:处理器管理、存储器管理、设备管理、文件管理、作业管理 3、DMA方式 4、进程的组成:PCB、程序、数据集合 5、进程状态转换图 6、死锁的预防和解决 7、虚拟设备 8、内存管理:分区、分页、分段、段页式 9、文件管理:文件按名存取 数据结构篇 第一部分:基本知识 一、 基本概念 1、 什么是数据结构 2、 数据结构的三个基本层次: 数据的逻辑结构、数据的存储结构(物理结构)、数据相关算法集合 3、 数据、结构、数据元素、算法(时间复杂度和空间复杂度) 二、 逻辑结构 1、 线性结构:有始有终,前后连接(称为前趋和后继) 2、 非线性结构:一个元素有多个前趋或后继 三、 数据的存储方法(物理结构):分为四类 1、 顺序存储方法(主要用于线性表或者数组) 2、 链接存储方法:采用指针方式 数据 下个地址 3、 索引存储方式(需要建立单独的索引文件, 索引一般形式:关键字、地址) 4、 散列存储方式(根据元素的关键字通过事先编制好的散列函数直接给出该单元存储地址) 四、 基本操作: 遍历、插入、删除、更新、查找、排序等 第二部分:线性结构 五、 基本特点:数据元素有限并有序 六、 常见的线性结构(线性表、堆栈、队列、数组、字符串等) 七、 顺序表(理解特点P265) 八、 线性链表(单向链表、双向链表、循环链表) 九、 堆栈(先进后出):口袋装大米 十、 队列(先进先出):排对买大米 第三部分:非线性结构 十一、 树(根、叶、分支结点。其它:深度、度、父子兄弟) : 特点见 P267 è 森林 十二、 二叉树(每个结点只有最多两个分支的树) 十三、 遍历:先序(先根:根左右)、序(根:左根右)、后序(后根:左右根) 十四、 图(结点、边) 十五、 关系数据库:线性表 层次数据库:树 网状数据库:图 第四部分:线性表的查找和排序 十六、 查找 十七、 顺序查找 十八、 二分法查找(先对关键字排序,然后再对排序好的数据查找。) 十九、 分块查找(先分块:块间有序<二分法>、块内无序<顺序查找>) 二十、 排序(又称分类,分为内排序和外排序) 二十一、 插入法:将新数据比较插入到已经排序好的部分。 二十二、 选择法:每次产生一最小数据《不稳定的排序方法》 二十三、 冒泡法:每次产生一最大数据 二十四、 规并法:相临近数据序列两两合并
今年9月份参加计算机二级考试的同学请转载 作者:天使~之戀 已被分享1次 评论(0) 复制链接 分享 转载 删除 下面的138道题目,在二级考试率极高。 一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念,不属于面向对象方法的是 (D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法,用数据流程图(DFD)作为描述工具的软件开发阶段是(B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统,数据的物理结构必须与逻辑结构一致 (10) 下列模式,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程所需要的基本运算次数 D. 算法程序的指令条数 (12) 算法的空间复杂度是指(D) A. 算法程序的长度 B. 算法程序的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程所需要的存储空间 (13) 设一棵完全二叉树共有699个结点,则在该二叉树的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A. 349 B. 350 C. 255 D. 351 (14) 结构化程序设计主要强调的是(B) A.程序的规模 B.程序的易读性 C.程序的执行效率 D.程序的可移植性 (15) 在软件生命周期,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段 A. 概要设计 B. 详细设计 C. 可行性分析 D. 需求分析 (16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A) 注:P67 A. 控制流 B. 加工 C. 数据存储 D. 源和潭 (17) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B) 注:P66 A. 阶段性报告 B. 需求评审 C. 总结 D. 都不正确 (18) 下述关于数据库系统的叙述正确的是(A) A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余 C. 数据库系统数据的一致性是指数据类型的一致 D. 数据库系统比文件系统能管理更多的数据 (19) 关系表的每一横行称为一个(A) A. 元组 B. 字段 C. 属性 D. 码 (20) 数据库设计包括两个方面的设计内容,它们是(A) A. 概念设计和逻辑设计 B. 模式设计和内模式设计 C. 内模式设计和物理设计 D. 结构特性设计和行为特性设计 (21) 下列叙述正确的是(A) A. 线性表是线性结构 B. 栈与队列是非线性结构 C. 线性链表是非线性结构 D. 二叉树是线性结构 (22) 下列关于栈的叙述正确的是(D) A. 在栈只能插入数据 B. 在栈只能删除数据 C. 栈是先进先出的线性表 D. 栈是先进后出的线性表 (23) 下列关于队列的叙述正确的是(C) A. 在队列只能插入数据 B. 在队列只能删除数据 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表 (24) 对建立良好的程序设计风格,下面描述正确的是(A) 注:P48 A. 程序应简单、清晰、可读性好 B. 符号名的命名要符合语法 C. 充

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值