- 博客(23)
- 收藏
- 关注
原创 构造并输出Huffman树
此哈夫曼树构建采用顺序方式存储。表长根据二叉树的性质三可得:2*n-1,也就是说有n个叶子结点的哈夫曼树的结点总数是2n-1。初始化权值(循环n次输入)。根据算法填写哈夫曼表中的各个结点的值1、寻找权值中最小的两个数2、其和作为新的权值加入表中,填写相应结点的左右孩子信息和父结点信息3、重复前面两个步骤,直到2n-1个位置的结点生成完毕,注意已经用过的权值不可再用。
2023-05-17 21:59:40 772 1
原创 整理笔记-day06
1、有以下函数定义: 1 voidfun(intn,doublex){…} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是(C)A.fun(int y,double m);B.k=fun(10,12.5);C.fun(x,n);void fun(n,x);解析:A函数调用时不需要指明实参类型B函数定义为void,所以k=错误C正确。类型转换,最终形参类型都为doubleD函数调用不需要指明函数类型...
2022-04-15 16:20:49 638
原创 整理笔记-day05
1、有以下程序 1 2 3 4 5 6 7 8 #include<iostream> #include<cstdio> using namespace std; int main(){ int m=0123, n = 123; printf("%o %o\n", m, n); return 0; } 程序运行后的输...
2022-04-09 21:40:14 570
原创 假期笔记···
short b=0x6600整形提升:左补符号位至达到32个比特位b的二进制序列:101101100000000011111111111111111011011000000000printf("%u",a)%u是以无符号整型打印,不考虑符号位问题表达式1:int i=2;int a=(i++)+(++i)+(++i);printf("%d",a);在vs编译器下结果为12,在gcc环境下为10问题表达式2:int i=1;printf("%d %d",++i,i++);vs编译器
2022-04-08 21:41:45 75
原创 笔记-day02
整理笔记 day21、用printf函数输出一个字符串时,格式字符%s,输出项可以是此字符串或存放字符串的数组或数组名,这个说法是对的吗?2、若有以下说明和定义,在必要的赋值之后,对fun函数的正确调用语句是()A.a=a(w);B.(*a)(&c);C.b=*b(w);D.fun(b);3、以下程序输出是——struct HAR{int x,y;struct HAR*p;}h[2];int main(){h[0].x=1;h[0].y=2;h[1].x=3;h[
2022-03-25 16:56:59 1396
原创 整理笔记 day1
温馨提示:答案及解析在后面1、在32位小端的机器上,如下代码输出是什么:char array[12]={0x01,0x02,0x...
2022-03-18 11:32:01 1262
原创 字符串函数使用和剖析续
strtokchar*strtok(char* str,const char*sep)sep参数是个字符串,定义了用作分隔符的字符集和 第一个参数指定一个字符串函数使用:
2022-03-15 13:38:13 1077
原创 字符串函数使用和剖析
目录热身小题函数介绍strcpystrcatstrcmpstrncpystrncatstrncmpstrstr热身小题名称:杨氏矩阵内容:有一个数字矩阵,矩阵的每行从左到右递增,请编写程序在这样的矩阵中查找某个数字要求:时间复杂度小于O(N)#include <stdio.h>int FindNum(int arr[3][3], int k, int row, int col){ int x = 0; int y =...
2022-03-11 20:31:35 86
原创 指针笔试题
//假设p的值是0x100000.已知结构体Test类型的变量大小是20个字节struct Test{int Num;char *pcName;short sDate;char cha[2];short sBa[4];}* p;p=(struct Test*);int main(){printf("%p\n",p+0x1);printf("%p\n",(unsigned long)p+0x1);printf("%p\n",(unsigned in...
2022-03-09 09:49:53 77
原创 指针的相关介绍
数组指针数组指针的定义:数组指针是指针整型指针:int*pint;能够指向整形数据的指针,存放整型的地址;那数组指针应该是:能够指向数组的指针,可以存放数组的地址。arr——首元素地址&arr[0]——首元素地址&arr——数组的地址int* p[10]={0}; 数组 int(*p)[10]=&arr; 存放数组的地址,p就是数组指针下面代码哪一个是数组指针?int *p1[10]; int(*p2)[10];解释:in...
2022-02-24 20:57:47 392
原创 柔性数组的相关介绍
柔性数组:C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员。有些编译器会报错无法编译,这时可以写成左边这个形式。struct S struct S{ {int n; int n;int arr[]; int arr[0];//未知大小的,是可以调整大小的
2022-02-19 09:38:58 115
原创 常见的动态内存错误
对NULL指针的解引用操作void test(){int *p=(int*)malloc(INT_MAX/4);*p=20; //如果p的值是NULL,就会有问题free(p);//malloc开辟空间失败——对NULL指针解引用}对动态内存开辟空间越界访问void test(){int i=0;int *p=(int*)malloc(10*sizeof(int));if(NULL==p){exit(EXIT_FAILURE);}for(i=0;i<=10;i.
2022-02-18 18:23:58 440
原创 动态内存分配
目录一、malloc二、free三、calloc四、realloc栈区 局部变量、函数的形式参数 堆区 动态内存分配(malloc,free,calloc,realloc) 静态区 全局变量、静态变量 一、malloc形式: void* malloc(size_t size)//C99是可以创建变长数组,并不是所有的编译器都支持。gcc test_std=c99#include<stdio.h> //...
2022-02-18 16:41:57 192
原创 自定义结构体类型
位段的声明和结构是类似的,有两个不同:1.位段的成员 必须是int,unsigned int或signed int。2.位段的成员名后边有一个冒号和一个数字(通常是相同类型,可以有char)位段的内存分配,节省空间1位段的成员可以是int或者是char(属于整型家族)类型2.位段的空间上是按照需要以4个字节(int)或一个字节(char)的方式来开辟的。3.位段涉及很多不确定因素,位段是不跨平台的,注重可移植的程序,应该避免使用位段。位段:二进制位 1Byte=8bitst
2022-02-14 21:07:15 369
原创 自定义数据类型---结构体
自定义数据类型结构体枚举联合体char,short,int long,float,double内置类型——c语言自己的数据类型。结构体声明:struct tag{member-list 成员列表};variable-list 变量列表声明一个学生类型,是想
2022-02-14 18:30:39 511
原创 3、顺序结构选择题
3.以下程序的输出结果是(A)。1.在格式C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将( );如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。(A)A.不予输出B.输出空格C.照样输出D.输出不定值或02.在 scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统(B )。A.不予接受B.并不给出出错信息,但不可能得
2022-02-11 12:34:53 1162
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人