版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、名师整理优秀资源1编写一个函数,判断处理器是使用Big_endian模式(返回0)还是Little_endian模式(返回1)存储数据cpp view plaincopyprint?1. i nt checkCPU()2. 3. union w4. 5. int a;6. char b;7. c;8. c.a = 1;9.9. return (c.b = 1);10. /*共用体的所有成员都是从地地址开始存放的2. 判断单链表是否存在环形链表问题cpp view plaincopyprint?1. bool IsLoop(node *head,node *start)2. 3. node *p
2、1 = head, *p2 = head;4.5.if(head=NULL | head-> next =NULL)6.7.return false;8.9.do10.11.p1 =head->n ext;12.p2 =head->n ext->n ext;13.while(p2 && p2->next && p1!= p2);14.if(p1=p2)15.16.*start = p1;17.return true;18.19.else20.return false;21. 3.计算一个无符号 32位整型(unsigned int)
3、的bit有多少位为1或0cpp view plaincopyprint?1. int caculate_bit( un sig nedint num)2. 3.unsigned int mask = 1 << 31;4.int n = 0;5.int i;6.7.for(i = 0; i < 32; i+)8.9.if(num & mask)10.11.n+;12.13.num <<= 1;14.15.16.return n;17.4.保证malloc和free成对出现cpp view plaincopyprint?1. char * function(v
4、oid)2. 3. char *p;4. p = ( char *)malloc( );5. if(p=NULL)6. ;7. /* 一系列针对p的操作*/8. return p;9. 在某处调用function(),用完function中动态申请的内存后将其free,如下: char *q = function。;free(q);上述代码明显是不合理的,因为违反了malloc和free成对出现的原则,即”谁申请,就由谁释放"原则。不满足这个原则,会导致代码的耦合度增大,因为用户在调用function函数时需要知道其内部细节!正确的做法是在调用处申请内存,并传入fun ction函数
5、,如下:char *p=malloc();if(p=NULL) function( p);free(p);p=NULL;而函数function则接收参数p,如下:void function( char *p)/* 一系列针对p的操作 */6编写一个函数实现求两个整数的最大公约数cpp view plaincopyprint?1. int fuc( int a, int b)2. 3. if(a % b = 0)4. return b;5. return fuc(b, a % b);6. 7. 将对称的二维数组逆转cpp view plaincopyprint?1. #defi ne N 32.
6、 i nt i, j, aNN = 1,2,3,4,5,6,7,8,9;3. i nt temp;4. for (i = 0; i < N; i+)5. 6. for (j = i; j < N; j+)7. 8. if (i = j)9. con ti nue;10.temp = aij;11.aij = aji;12.aji = temp;13.14. 8. 冒泡排序和选择排序和插入排序cpp view plaincopyprint?I. #defi ne N 52冒泡排序3. for ( i = 0; i < N - 1; i+)4. 5. for (j = 0; j
7、< N - i - 1; j+)6. 7. if (aj> aj + 1)8. 9. temp = aj;10. aj = aj + 1;II. aj+ 1 = temp;11. 12. 13. 14. /选择排序15. for ( i = 0; i < N - 1; i +)16. 17. k = i;18. for (j = k + 1; j < N ; j+)19. 20. if (ak > aj)21. k = j;22. 23. temp = ak;24. ak = ai;25. ai = temp;26. 27. /插入排序28. for (j = 1
8、; j < N; j+)29. 30. key = aj;31. i = j - 1;32. while(i >= 0; && ai > key)33. 34. ai+1 =ai;35. i -;36. 37. ai+1 =key;38. 9. 字符串的链接函数(不能用系统自带的函数实现)cpp view plaincopyprint?1. void string_strcat( char *dest, char * src)2. 3. char *p = dest;/ 记录头位置4. while (*dest+);5. dest-;6. while(*des
9、t+= *src+);7. *dest = '0'8. 10. 用#define声明一个常数,用以表明一年中有多少秒365)UL#defi ne SECONDS_PER_YEA60 *60 *2411. 关键字volatile有什么含义定义为volatile的变量可能会被意想不到的改变,这样编译器就不会去假设这个变量的值, 准确的说,优化器在用到volatile变量时候必须小心地重新读取该变量的值,而不是使用保存在寄存器的备份,用到volatile的三个例子【1】并行设备的硬件寄存器(如:状态寄存器)。【2】一个中断服务字程序中汇访问到的非自动变量。【3】多线程应用中被几个任务
10、共享的变量12. 多线程同步的方式【1】临界区。通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据 访问【2】互斥量。为协同共同对一个共享资源的单独访问而设计的。【3】信号量。为控制一个具有有限数量用户资源而设计的。P操作:S减1;若S减1后仍大于等于零,则进程继续执行;若 S减1后小于零,则进程 阻塞V操作:S加1;若S加1后大于零,则进程继续执行;若 S减1后小于等于零,则从该信 号的等待队列中唤醒一个等待进程【4】事件。用来通知线程有一些事件已经发生,从开启动后继任务的开始。13. 函数指针问题cpp view plaincopyprint?1. <PRE clas
11、s=cpp n ame="code"x/PRE><PRE class=cpp n ame="code">改错1 :/ 改为(在C或C+中):2. void GetMemory( char *p, int num)3. void GetMemory( char *p, int num)4.p = (char *)malloc(sizeof(char 广num); *p = ( char *)malloc(sizeof( char 广num);5. 6. void Test()void Test()7. 8.char *str = NULL
12、;char *str = NULL;9.GetMemory(str,100);GetMemory( &str,100);10.strcpy(str,"hello");strcpy(str,"hello");11. 12.13. /或者改为(在C+中):14. void GetMemory( char *&p, int num)15. 16. p = ( char *)malloc(sizeof( char )*num);17. 18. void Test()19. 20. char *str = NULL;21. strcpy(str,&
13、quot;hello");22. 6.23. / 改错 2 :24. char *GetString(void)25. 26. char p = "hello"27. return p;28. 29. void Test()30. 31. char *str = NULL;/改为:void GetStri ng(p = "hello"void Test()char *str =36.str = GetStri ng();GetMemory(str,100);char *&p) /GetString(char *p)*p = &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年医院医疗物联网安全管理指南
- 护理查房中的护理措施
- 生态电站厂房开挖与支护施工方案
- 环保行业环境监测与污染治理系统设计方案
- 2026年自复制mRNA疫苗设计原理与临床前研究进展
- 2026年工程机械再制造市场需求与发展动力
- 2025年前台服务规范练习模拟
- 2026年企业数据治理成熟度自评与持续运营机制设计
- 2026年CCRC项目健康管理系统慢病干预服务流程
- 急性盆腔炎的护理科研设计与实施
- 《皮肤性病学4》课程标准
- 动火作业方案及安全措施
- 财务管理实习报告范文
- 水运港口专题知识讲座
- 农村老房分房协议书范本(2篇)
- 23J916-1 住宅排气道(一)
- 特殊工种作业人员安全管理制度的人员考核与奖惩机制
- 福建省预制装配式混凝土结构技术规程
- 2021年全国统一高考生物试卷(全国甲卷)(含答案)
- 中药热奄包疗法操作评分标准
- QCT 823-2024《汽车、摩托车用液位传感器》
评论
0/150
提交评论