C语言12-共用(同)体/联合体
1.基础作用:处理一种数据可能有多种类型的情况 定义: 12345678910union 共同体名 { 类型1 成员1; 类型2 成员2; ...}; // 创建一个联合体类型。union 共同体名 共同体变量名; //创建共同体变量共同体变量名.成员1 = xxx; //使用时就是共同体变量名.成员共同体变量名.成员2 = xxx; //赋值只能分开赋值,不同类型的赋给对应的 起别名:和结构体类似 12345typedef union 共同体名 { 类型1 变量1; 类型2 变量2; ...}别名; 2.特点 可以叫做共同体、联合体、共用体 所有变量使用同一个内存空间 所占的内存大小 =...
计算机与信息安全导论第五章-计算部件
1. 独立的计算机部件1.1 硬件系统 运算器(算术逻辑单元 ALU): 进行算术运算和逻辑运算。数据取自内存,结果送回内存。在控制器的控制下进行数据读写操作。 控制器:是计算机的神经中枢 从内存取出指令 向有关部件发出控制命令 控制执行指令规定的功能 存储器:存放程序和数据 分为内存和外存 内存的特点:信息交流的中心,速度快,大部分内存不能长期保存信息,断电后信息丢失 外存的特点:只与内存交换数据,速度慢,能长期保存信息,断电后信息不会丢失 输入设备:把用户所能接受的信息转换为二进制形式并存放到内存 例如:键盘、鼠标、扫描仪、麦克风、磁盘驱动器、调制解调器 输出设备: 把内存中的二进制信息转换为用户所能接受的形式 例如:显示器、打印机、绘图仪、磁盘驱动器、调制解调器 1.2 软件系统1.2.1 系统软件...
计算机与信息安全导论第四章-门和电路
1. 计算机和电路门:对电信号基本运算的设备 电路:由门组合而成 描述门和电路的三种表示法:布尔代数,逻辑框图,真值表 2.门2.1 非门非门接收一位(0或1)并返回相反的值 2.2 与门与门接收两位输入,如果全为1,输出1;否则输出0 2.3 或门接收两位输入。如果全为0,输出为0;否则输出位为1 2.4 异或门异或门接收两位输入 如果两位相同,则输出为0,;否则输出为1 2.5 与非门与非门接收两位输入 如果全为1,输出为0;否则,输出为1 2.6 或非门或非门接收两位输入 如果全为0,输出为1;否则,输出为0 2.7 有三个输入的门 2.8 总结非门(NOT Gate):对输入值取反。与门(AND Gate):当且仅当两个输入值均为1时,输出1;否则输出0。或门(OR Gate):当任意输入为1时,输出1;否则输出0。异或门(XOR Gate):当两个输入值不同时输出1;相同时输出0。与非门(NAND Gate):与门的反向,两个输入值都为1时输出0,否则输出1。或非门(NOR...
C语言11-结构体
1. 基本知识1.1 概念结构体属于用户自定义的数据类型,允许用户存储不同的数据类型 由一批数据组合而成的结构型数据 1.2 定义和使用定义方法: 123456struct 结构体名 { 成员1; 成员2; ... }; 通过结构体创建变量的方式有三种: struct 结构体名 变量名 struct 结构体名 变量名 = { 成员1值 , 成员2值…} 定义结构体时顺便创建变量 示例: 1234567891011121314//结构体定义struct student{ //成员列表 string name; //姓名 int age; //年龄 int score; //分数}stu3; //结构体变量创建方式3//结构体变量创建方式1struct student stu1;//结构体变量创建方式2struct student stu2 = { "李四",19,60...
C语言10-字符串
1. 字符串的定义方式和底层细节1.1 定义方式 利用字符数组+双引号:char 数组名[长度] = "xxx"; 将字符串地址储存在指针变量(指针+双引号):char* 指针变量名 = "xxx"; 1.2 底层细节 在实际储存的时候,C会将字符串保存成字符数组进行保存,并且末尾要加上’\0’ 数组的长度要么不写,写的话要把结束标记的空间预留出来 第一种定义方式利用字符数组定义,其内容可以发生改变 第二种定义方式定义字符串,会把底层的字符数组放在只读常量区(不可以修改,可以复用)(复用指:如果创建的新的在只读常量区已经存在,那么会直接引用那一个) 2.字符串数组2.1 利用二维数组基本格式: 123456char strArr[3][y] = { "AAAAAAA", "BBBBBBB", "CCCCCCC"} 2.2 利用指针数组将五个字符串的指针放入一个数组: 123456char* strArr2[3] = { ...
C语言09-数组与指针
1.数组1.1 基础概念数组是用来存储一组相同类型的数据的集合。数组中的每一个元素都使用相同的类型,并且在内存中是连续存放的。 1.2 一维数组1.2.1 一维数组定义的三种方式: 数据类型 数组名[ 数组长度 ]; 数据类型 数组名[ 数组长度 ] = { 值1,值2 ...}; 数据类型 数组名[ ] = { 值1,值2 ...}; 1.2.2 指定初始化器(C99)C99标准引入了一种新语法,允许程序员通过指定下标来初始化数组的某些特定位置。 数据类型 arr[n] = {[x] = xx, [y] = xx}; 注意:在[i] = xx指定初始化器后如果定得有值,则该值为数组中的第i+1项,没有定义的位置为0 1.2.3 给数组元素赋值数组元素可以通过下标直接赋值。赋值方式为:arr[0] = 5;。下标从0开始,因此arr[0]表示数组的第一个元素。 1.3 多维数组1.3.1 二维数组定义方式二维数组定义的四种方式: 数据类型 数组名[ 行数 ][ 列数...
C++01-基础
1. C++基础1.1 注释作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码 两种格式 单行注释:// 描述信息 通常放在一行代码的上方,或者一条语句的末尾,==对该行代码说明== 多行注释: /* 描述信息 */ 通常放在一段代码的上方,==对该段代码做整体说明== 1.2 变量作用:给一段指定的内存空间起名,方便操作这段内存 语法:数据类型 变量名 = 初始值; 1.3 常量作用:用于记录程序中不可更改的数据 C++定义常量两种方式 #define 宏常量: #define 常量名 常量值 ==通常在文件上方定义==,表示一个常量 const修饰的变量 const 数据类型 常量名 = 常量值 ==通常在变量定义前加关键字const==,修饰该变量为常量,不可修改 1.4...
C语言08-函数
1. 函数的基本结构和作用1.1 定义、声明、调用函数定义包括函数的返回类型、函数名、参数列表和函数体。函数体是执行的代码块。 1.1.1 声明函数的声明(也称为函数原型)告诉编译器函数的名称、返回类型和参数类型,而不包含函数的具体实现。函数可以在定义前进行声明,以便在定义之前使用函数。 1return_type function_name(parameter_list); 1.1.2 定义函数定义包括函数的返回类型、函数名、参数列表和函数体。函数体是执行的代码块。 123return_type function_name(parameter_list) { // 函数体} 1.1.3 调用函数定义好后,可以通过函数名和参数列表来调用它。在调用时,参数的顺序和类型必须匹配。例如: 1int result = add(5, 3); 2. 函数参数2.1 形参和实参函数的参数允许在调用时传递数据,函数根据传递的数据执行不同的逻辑。 形式参数:函数定义中使用的占位符,如 ch 和...
C语言07-字符输入/输出和输入验证
1.输入输出1.1 字符输入输出 (I/O) 概念 getchar() 和 putchar() 函数用于处理单个字符的输入和输出。虽然这种方式可能效率较低,但对于处理普通文本仍然非常适用。 程序通过循环读取输入的字符并输出,直到遇到指定的结束符(如 # 或 EOF)。 1.2 文件流与标准 I/O文件是存储在设备(如硬盘或光盘)上的数据单位,程序可以通过文件流来读写文件。 流 (Stream) 是一种从输入输出设备进行数据传输的机制。数据通过流从程序传输到终端或文件等。 键盘输入和文件输入可以通过类似的方式进行处理。在 C 语言中,程序通过流接口处理输入输出。 标准输入流 (stdin)、标准输出流 (stdout) 和标准错误流 (stderr) 是典型的 I/O 流应用。 1.3 文件结尾的处理在 CP/M、IBM-DOS、MS-DOS 等早期操作系统中,使用特定的字符(如 Ctrl+Z)作为文本文件的结束符。 现代系统中文本文件可能不再使用此方法,而是根据文件的大小或者 EOF 结束符来判断文件结束。 1.4...
C语言06-C控制语句:分支和跳转
1. if语句1.1 简单if语句123if (条件) { // 当条件为真时执行的代码} 1.2 if-else 结构 分支语句的作用:if语句用于选择是否执行某个操作,而else用于在不满足if条件时执行另一种操作。这种二选一的分支结构在编程中很常见。 匹配规则: 在多个if和else语句连用的情况下,else语句总是与最近的if配对。除非你使用了大括号{}明确将if语句块分组。 123456if (条件) { }else{ } 1.3 多重选择 else if 多条件分支结构: else if用于处理多个条件的情况,它在if和else之间插入更多的条件判断。通过else if可以根据不同的条件执行不同的代码块。 123456789101112if () { ;} else if () { ;} else if () { ;} else { ;} 1.4...