synplify的笔试题

发布时间:2016-12-10 14:52:15 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"synplify的笔试题",主要涉及到synplify的笔试题方面的内容,对于synplify的笔试题感兴趣的同学可以参考一下。

1, 给出指针的数据类型    a,float (**p)[10]   b, double *(*p)[10]   c, 记不清了,大概是 char *(*p)()之类的   d, int  *((*p)[10]) 2,给出进程间通信的方法11.5回答:最常用的进程间通信的方式有-信号,信号量,消息队列,共享内存。 例外: 在Win32下提供的进程间通信方式有以下几种:  (1)剪贴板Clipboard:在16位时代常使用的方式,CWnd类中提供了支持。 (2)COM/DCOM:通过COM系统的代理存根方式进行进程间数据交换,但只能够表现在对接口函数的调用时传送数据,通过DCOM可以在不同主机间传送数据。 (3)Dynamic Data Exchange (DDE):在16位时代常使用的方式。 (4)File Mapping:文件映射,在32位系统中提供的新方法,可用来共享内存。 (5)Mailslots:邮件槽,在32位系统中提供的新方法,可在不同主机间交换数据,分为服务器方和客户方,双方可以通过其进行数据交换,在Win9X下只支持邮件槽客户。 (6)Pipes:管道,分为无名管道:在父子进程间交换数据;有名管道:可在不同主机间交换数据,分为服务器方和客户方,在Win9X下只支持有名管道客户。 (7)RPC:远程过程调用,很少使用,原因有两个:复杂而且与UNIX系统的RCP并不完全兼容。但COM/DCOM的调用是建立在RPC的基础上的。 (8)Windows Sockets:网络套接口,可在不同主机间交换数据,分为服务器方和客户方。(相关介绍见Visual C++/MFC入门教程 第六章 网络通信开发) (9)WM_COPYDATA:通过发送WM_COPYDATA消息并将数据放在参数中来传递数据给其他进程。 3,给出程序执行结果 a void func(char **p, int num)   {        *p = malloc(num);    }     main()   {       char *p=NULL;       func(&p, 100);        strcpy(p,"blabla");       printf("%s",p);        free(p);    }11.4回答:打印了 blabla b  main()       {       char *p=NULL;       p = malloc(100);       strcpy(p,"blabla");       free(p);        printf("%s",p);    }打印了 blabla  都是在win-tc下调试通过的,在vc6.0会提示void * to char * 的类型转换 问题  4,a,一个正整数序列,值最大不超过K,没有重复项,给出排序算法答: 冒泡法和快速排序法随便用吧(不过,数据都是整数,并且数值不大(几千以内),则用计数排序法)   b,如果有重复项,需要对排序算法做何改动答:    这个好像没有什么改进的吧   c,证明算法最坏情况下复杂度为O(N)   d,给出算法的空间复杂度   9 比较两套程序写法哪个好,为什么  a  (1)   for(i=1;i<k;i++)       {           a = i + b + c * j;//每次都执行这个语句           printf("%d",a);        }   (2)  a = b + c * j;       for(i=1;i<k;i++)      {          printf("%d",a+i); 这个效率高;       }     b   char a  (1)   if(a=='A') ....          (2)   if('A'==a) ....这个好,理由是防止犯低级错误 a='A';  

上一篇:How to create function polymorphism in C
下一篇:What things is chaos can't change?

相关文章

相关评论