木头人你好

脚踏实地

C/C++题目--字符与字符串

题目:以下代码输出结果是什么? char a[4]={'a','b','c','d'}; char b[4]={'e','f','g','\0'}; 【答案】 abcd€ efg 【分析】 由于字符串是以’\0’为结尾的,所以数组a不是一个字符串。数组b打印直到空字符为止有7个字符...

2019-07-07 11:25:40

阅读数 43

评论数 0

数据结构教程--李春葆版(总结)之排序-交换排序

本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。 交换排序 性质:两两比较待排序元素的关键字,发现两个元素的次序相反时即进行交换,直到没有反序的元素为止。 冒泡排序 //冒泡排序-稳定 typedef struct { int key; }RecType; vo...

2019-06-23 20:32:53

阅读数 33

评论数 0

数据结构教程--李春葆版(总结)之排序-插入排序

本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。 插入排序 性质:每次将一个待排序的元素,按其关键字大小插入到已经排好序的子表中的适当位置,直到全部元素插入完成为止。 直接插入排序 //直接插入排序-稳定 typedef struct { int key; }R...

2019-06-23 20:15:37

阅读数 19

评论数 0

数据结构教程--李春葆版(总结)之线性表-顺序存储结构练习题

本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。 【例2.2】假设有两个集合A和B,分别用两个线性表LA和LB表示,即线性表中的数据元素为集合中的元素。利用线性表的基本运算编写一个算法求一个新的集合C=AUB,即将两个集合的并集放在线性表LC中。 void unio...

2019-06-23 09:11:53

阅读数 34

评论数 0

数据结构教程--李春葆版(总结)之线性表-顺序存储结构概念

本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。 线性表的顺序存储结构 性质: 线性表所占用存储空间大小: n乘以sizeof(ElemType),其中n表示线性表的长度,ElemType是线性表中的数据元素。 表中某数据元素的存储地址: LOC(A)+i*s...

2019-06-22 15:58:18

阅读数 32

评论数 0

C/C++题目--深复制与浅复制

题目:请说说什么是深复制与浅复制?并实现代码来区别它们。 【答案】 如果一个类拥有资源,当这个类的对象发生对象发生复制过程的时候,这个过程就可以叫做深复制,如果对象存在资源但在复制过程中并未复制资源就是浅复制。 【解析】 浅复制如下: class Test { public: Tes...

2019-06-15 11:24:14

阅读数 156

评论数 0

C/C++题目--内存管理

填空题: (1)从变量的定义位置分,可分为全局变量与局部变量。其中,局部变量定义在函数或复合语句中,供函数或复合语句中使用。 (2)变量的存储类型分为auto,extern,register, static。当声明一个静态(static)变量,它既具有局部变量的性质,又具有全局变量的性质。 ...

2019-06-15 11:21:04

阅读数 96

评论数 0

C/C++题目--拷贝构造函数概念

拷贝控制操作 5种特殊的成员函数:拷贝构造函数、拷贝赋值运算符、移动构造函数、移动赋值运算符、析构函数。 这5种特殊的成员函数用来控制定义一个类对象拷贝、移动、赋值和销毁操作,统称为拷贝控制操作。 拷贝和移动构造函数:定义了当用同类型的另一个对象初始化本对象时的操作。 拷贝和移动赋值运算符...

2019-06-15 11:15:32

阅读数 41

评论数 0

C/C++题目--类型转换构造函数

题目:什么是类型转换构造函数 【答案】 一个类的构造函数只有一个参数,而且这个参数不是该类的类型而是其他类型,这个构造函数就被称为类型转换构造函数。转换构造函数可以用来处理不同域的同一个数据值。 示例代码: class Polar { private: double radius; ...

2019-06-15 11:09:28

阅读数 39

评论数 0

C/C++题目--编译过程

+题目:一个C++源文件从文本到可执行文件经历的过程? 【答案】 对于C++源文件,从文本到可执行文件一般需要四个过程: 预处理阶段:对源代码文件中文件包含关系(头文件)、预编译语句(宏定义)进行分析和替换,生成预编译文件。 编译阶段:将经过预处理后的预编译文件转换成特定汇编代码,生成汇编...

2019-06-15 11:06:30

阅读数 60

评论数 0

C/C++题目--typedef与#define

题目:宏定义和操作符的区别。 【答案】 宏定义是C语言开始提供的3种预处理功能的其中一种。这3种预处理分别是:宏定义、文件包含和条件编译。宏定义是一个一环操作,不做计算和表达式求解,不占用内存和编译时间。 题目:以下宏MIN,输出结果为多少。 #define MIN(a,b) (a)&a...

2019-06-15 11:03:43

阅读数 37

评论数 0

C/C++题目--结构体练习题

题目:给定结构 struct A { char t:4; char k:4; unsigned short i:8; unsigned long m; }; 问sizeof(A) = ? 【标准答案】 8 题目: struct name1{ char str; short x;...

2019-06-14 19:59:33

阅读数 134

评论数 0

C/C++题目--位运算

题目:有这样一个巧妙的表达式: a^=b^=a^=b; 它不需要临时变量就可以交换a和b的值。 【答案】 这不具有可移植性。它试图在序列点之间两次修改变量a,而这种行为是未定义的。例如,有人报告如下代码: int a=123,b=7654; a^=b^=a^=b; 在SCO优化C编译...

2019-06-14 19:54:24

阅读数 115

评论数 0

C/C++题目--基本数据类型

题目:一个float变量赋值为3.1时,为什么printf输出的值为3.0999999?(在VS环境下,输出为3.1000000) 【答案】 计算机是用二进制来表示浮点数和整数的。在十进制里,0.1是个简单、精确的小数,但是转换二进制表示却是循环小数0.0001100110011…。因此,3....

2019-06-14 19:51:36

阅读数 73

评论数 0

C/C++题目--强制转换类型

题目: int main() { int n=0xab65;//0xab65转换二进制为1010 1011 0110 0101 十进制为43877 char a=(char)n; cout<<n<<endl;//43877 n=a; co...

2019-06-14 19:46:56

阅读数 75

评论数 0

C/C++题目--内存对齐

题目:什么是内存对齐?为什么要对齐?什么时候需要对齐? 【答案】 什么是内存对齐? 字节对齐(内存对齐)主要是根据编译器设定或者在特定系统环境下数据按一定的规则存取在内存中的位置。 为什么要对齐? 由于不同系统对数据存取的位置有着不同的要求,对齐规则也就会有些不同。在X86系统下,一般默...

2019-06-13 18:47:11

阅读数 1491

评论数 1

C/C++题目--strlen函数

strlen问题 题目:以下代码输出结果是多少? char *s="hello"; printf("%d\n",strlen(s));//只计算字符串中字符个数,不包括'\0' printf("%d\n",sizeof(s));//...

2019-06-12 22:36:15

阅读数 31

评论数 0

C/C++题目--strcpy函数

题目:以下代码是否正确? char a[4],b[]={"COPY"}; strcpy(a,b); 【参考答案】 错误。因为把原字符串b赋值给字符串a时,b的长度包括了以\0为结束符,算是一个字符,共5个字符,而a长度只为4。所以b长度大于a的长度时,不能把b拷贝到a数...

2019-06-12 22:32:30

阅读数 34

评论数 0

C++题目--strcat函数

题目:请输出以下代码的结果? char d[20]="123"; char s[20]="abc"; strcat(d,s); int i=0; while(d[i++]!='\0') i++; printf("%d",i); 【参...

2019-06-12 22:25:00

阅读数 37

评论数 0

C++题目--sprintf函数

题目:以下代码执行的结果是多少? char buffer[200],s[]="hello",c='c'; int i=35,j; float fp=1.7320534f; j=sprintf(buffer,"%s",s); j+=sprintf(buff...

2019-06-12 22:22:18

阅读数 32

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭