- 博客(24)
- 收藏
- 关注
原创 进程之间通信
主线程终端2向终端1发送数据,分支线程读取终端1向终端2发送的数据。主线程终端1向终端2发送数据,分支线程读取终端2向终端1发送的数据。
2024-10-20 23:27:25 203
原创 day10.11
通过 fprintf 将arr数组中的3个学生的所有信息,保存到文件中去 load_stu:通过 fscanf 将文件中的3个学生的所有信息,读取到一个新的结构体数组中,并输出所有学生的信息。有如下结构体: typedef struct Student{有一个 stu_t的结构体数组 arr[3];随便使用任何方式初始化这个数组中的3个结构体。
2024-10-11 20:50:18 227
原创 单向链表基础操作
1、建立学生结构体(学号,姓名,成绩)完成单链表操作,要求节点构造类型。4、任意位置插入一个完整的学生信息。7、单链表按照学生成绩排序。2、循环调用头插法创建整表。5、任意位置删除一个学生。
2024-09-23 20:53:54 216
原创 数据结构:简单学生管理系统设计
11、按照姓名查找返回位置。2、任意位置插入一个学生。3、任意位置删除一个学生。4、任意位置查找一个学生。5、任意位置修改一个学生。t9、表尾删除一个学生。6、表头插入一个学生。7、表尾插入一个学生。8、表头删除一个学生。10、去除重复的学生。
2024-09-19 20:37:06 236
原创 数据结构练习3
定义函数实现输入,要求形参使用结构体指针接收函数实现5个学生年龄排序(注意对年龄排序时,交换的是所有信息)定义函数实现输出,要求形参使用结构体指针接收//定义结构体int age;}stu,*STUD;//输入函数//按成绩排序//输出函数#endifprintf("请输入学生信息:\n");//循环输入学生信息i<MAX;i++)//冒泡排序i<MAX;s[j+1]=t;//输出学生信息。
2024-09-18 20:27:41 237
原创 数据结构练习2
char b;float c;}cs;则sizeof(cs)的值是( )D.8short对齐数为2 char对齐数为1 由于要对齐到最大对齐数的整数倍所以到4float对齐数为4 所以最后结果为810.如下函数的输出结果是:【 】char a;short b;char c;int d;
2024-09-17 22:32:06 1023
原创 数据结构练习1
栈是向低地址扩展的数据结构,是一块连续的内存区域。堆是向高地址扩展的数据结构,是不连续的内存区域。堆的增长方向是向上的,即向着内存地址增加的方向;栈的增长方向是向下的,即向着内存地址减小的方向。栈区是计算机自动分配和释放内存,堆区是程序员手动申请和释放内存。6.什么是内存泄漏?是已初始化的静态全局变量,存储于全局区的数据段,是已初始化的静态局部变量,存储于全局区的数据段,是未初始化的全局变量,存储于全局区的BSS段,是已初始化的全局变量,存储于全局区的数据段,1.丢失了分配的内存的首地址,导致无法释放。
2024-09-17 21:53:11 695
原创 函数简单使用
②定义函数 void arr_max(int *a, int n,int *max);思路:①主函数中定义一维数组int a[]={11,8,89,7,5,4,32,15,21} , max , min;3》自定义函数void arr_output(int (*a)[4] , int H , int L);2》自定义函数void arr_input(int (*a)[4] , int H , int L);4》自定义函数void arr_max(int (*a)[4] , int H , int L);
2024-09-12 15:47:36 298
原创 C语言—函数
17.请实现一个函数,输入一个整数,输出该数二进制表示中的1的个数。因此如果输入9,该函数输出2。数组参数在函数中会被当成指针处理,所以sizeof(str)不会计算数组的大小,在64位操作系统中值为8,在32位操作系统中值为4。GetMemory函数定义了一个局部变量,返回局部变量的地址,但局部变量地址会在函数结束时销毁,所以str会指向一个野指针。赋值时错误字符串结尾会有'\0'作为结束符,所以占11字节空间,开辟的数组空间不够,会越界。a是址传递,会交换数据,b是值传递,主函数中数据不会改变。
2024-09-11 20:52:57 1145
原创 九月九日.
a)一个整型数:int ab)一个指向整型数的指针:int *ac)一个指向指针的的指针,它指向的指针是指向一个整型数:int **ad)一个有10个整型数的数组:int a[10]e)一个指向有 10个整型数数组的指针:A.int(*p)[7]D.int *p[]下列哪个表达式的值为3:( )A地址由a[0]移到a[2],先解引用再偏移 值为3B 地址由a[0]移到a[2],先偏移后解引用 值为4C地址由a[0]移到a[3],先解引用再偏移 值为4。
2024-09-09 20:29:10 945
原创 9.7练习
(5).循环查找数组元素中是3倍数的最小值,最大值并输出结果(4分) 核心。(4). 循环判断指定范围内能被7整除的数值并输出(5分) 核心。(7). 代码中添加不少于5行的关键注释描述实现思路(3分)(4).循环判断并输出数组元素中是3倍数的元素(4分) 核心。(6). 累计全部符合条件的数值和并输出(3分)(10)正常计算两数相除并输出结果(2分)核心。(7)正常计算两数相加并输出结果(2分)核心。(8)正常计算两数相减并输出结果(2分)核心。(9)正常计算两数相乘并输出结果(2分)核心。
2024-09-07 15:05:29 400
原创 九月四日.
输入一排n个数,第一个数为后面所有的数的个数。统计这后面所有数中,正数、零和负数的个数。有,switch后面可以是任意语句,但最终结果必须是一个整形常量,a是float类型。将循环次数少的放外层可以减少切换循环层的次数,提高代码运行效率。A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。输入B,由于没有break,后面的结果都会进行输出。k=1是赋值语句,所以k始终等于1,一直循环满足条件。(a)循环次数大的放在外层,循环次数小的放在内层;(b)循环次数小的放在外层,循环次数大的放在内层;
2024-09-04 19:31:00 785
原创 九月三日.
if(8==n)更好 n==8和8==n结果一样但当粗心少打一个等号时n=8是一个赋值语句不会报错 很难找出代码错误 8=n左侧是一个常量会报错。直角(勾股定理)[a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a]B. printf("s 的值是%s", s)C. printf("s 的值是%x", s): D. printf("s 的值是%i", s)等边 [a==b && a==c && b==c]等腰 [a==b || a==c || b==c]
2024-09-03 20:18:01 1192
原创 九月二日.
2=1>2先算1>2 =0 2=0假 &&左侧为假 右侧不再进行计算 所以n仍=2。A表示a或b不等于0 BD表示不符合C语言逻辑表达 C表示非(a=0且b=0)7>4真 4==4真 a||b+c不符合 b==c真。x++只能作为右值,++x既可以做左值也可以作为右值。有符号 -2^31-2^31-1。a>=0与b>=0且a=0与a
2024-09-02 20:04:55 832
原创 8月30日
练习1:1.在用户的家目录下创建 目录文件 dir1 和 普通文件file1mkdir dir12.在家目录下给dir1目录嵌套创建 dir1/dir2/dir3/dir4/dir53.在家目录下直接一步进入到 dir4 里面4.在dir4目录中将家目录下的file1 移动到上一级的dir3中5.在dir4目录下创建一个目录文件 testmkdir test6.将test 复制到上一级的dir3中7.在dir4中直接查看dir3中有哪些文件ls ..
2024-08-30 19:54:16 1029 1
原创 Linux简单指令
练习1:touch example.txtchmod 666 example.txt权限查看mkdir example_dirchmod 777 example_dir权限查看rm example.txtrm -r example_dir练习2:mkdir 24081Ccd 24081C结果展示 cd ..练习3:mkdir dir1创建结果查看:结果查看: mkdir testls ..结果查看cd。
2024-08-29 19:25:52 385
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人