函数原型为: double fun(int n); 根据下面的说明,编写该函数?


1.进程和线程的差别。


线程是指进程内的一个执行单元,也是进程内的可调度实体.
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. 
(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。


6.C/C++编译器中虚表是如何完成的?


7.谈谈COM的线程模型。然后讨论进程内/外组件的差别。


8.谈谈IA32下的分页机制


小页(4K)两级分页模式,大页(4M)一级


9.给两个变量,如何找出一个带环单链表中是什么地方出现环的?


一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方   ??


10.在IA32中一共有多少种办法从用户态跳到内核态?


11.如果只想让程序有一个实例运行,不能运行两个。像winamp一样,只能开一个窗口,怎样实现?

用内存映射或全局原子(互斥变量)、查找窗口句柄.. 
FindWindow,互斥,写标志到文件或注册表,共享内存。. 


12.如何截取键盘的响应,让所有的‘a’变成‘b’?


13.Apartment在COM中有什么用?为什么要引入?


14.存储过程是什么?有什么用?有什么优点?

    存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库。中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

存储过程用于实现频繁使用的查询、业务规则、被其他过程使用的公共例行程序

存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快

15.Template有什么特点?什么时候用?



今天群硕笔试,考了好多内容,其中Java占很大部分!

本试卷中最有难度的编程题:给定一个数组,这个数组中既有正数又有负数,找出这个数组中的子数组,此子数组的和最大!

最不知道怎么答的题:在TCP/IP中最经常使用的编程方法?

final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

最容易疏忽的题:main(){C c;}在前面已经定义了C的类,这个地方容易迷糊的就是,没有new,照样执行构造函数,没有free,照样执行析构函数。

最迷糊的题:一个无向图是否能够存到树中?为什么?

不用任何变量交换a,b两个变量

二叉平衡树(特性,内插入和 外 插入)
UNIX进程包括那三个部分:...(简单)
new动态分配失败会抛出什么异常,C++中提供了那两个标准函数来设定异常处理HANLDER(有点难度)
EJB包含那几种?区别(压根没听过)
答案:实际上除了“能够让应用程序处理存储于DBMS 中的数据“这一基本相似点外,两者没有太多共同之处。但是ADO 使用OLE DB 接口并基于微软的COM 技术,而 接口并且基于微软的.NET 体系架构。众所周知.NET 体系不同于COM 体系, 和ADO是两种数据访问方式。,看起来好像这些概念都广泛被PHP开发人员所了解。这就说明了PHP实际上到底是多专业。

  对于非常小的项目,它可以是一个十分符合人意的编程语言。但是对于较大的和更为复杂的项目,PHP就显出他的薄弱了。当你不断地摸索之后,你会发现笔者提到的某些问题的解决方案。所以,当解决方案已知之后,为什么不能修正他呢?另外为什么这些修补不在手册中提到呢?

  一个开源的语言十分流行是一件好事。但不幸得是,它不是一个伟大的语言。笔者希望所有的问题能有一天得到解决(也许在PHP6?),然后我们就将拥有一个开源语言,他既开源,又好用。

注意:要求提供完整代码,如果可以编译运行酌情加分。

注意:请尽可能详细描述你的数据结构、系统架构、设计思路等。建议多写一些伪代码或者流程说明。 
1.    考虑一个字符串替换的过程,在一个文本文件中含有一些文本内容和一些需要替换的变量,变量的格式为“$Var$”,原来的“$”使用“$$”进行转义,原来的“$$”表示为“$$$”。我们将含有变量的文件称为模板(文件名为t),文本文件的平均长度为100K。另外,还有一系列的变量文件,里面为变量名和变量值的对应关系(文件名为1.v ,

百度11月4日网上笔试题及答案(仅供参考)
1用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。
函数的功能是拷贝src所指的内存内容前n个字节
到dest所指的地址上。

在用户输入英文单词时,经常发生错误,我们需要对其进行纠错。假设已经有一个包
含了正确英文单词的词典,请你设计一个拼写纠错
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度;
(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。

搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串
的长度为1-255字节。假设目前有一千万个记录,
这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个
。一个查询串的重复度越高,说明查询它的用户越多,
也就是越热门。请你统计最热门的10个查询串,要求使用的内存不能超过1G。
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度。

每输入一个字母: 
a)若可以顺利下行,则继续至结束,给出结果;
b)若该处不能匹配,纠错处理,给出拼写建议,继续至a);
字典采用27叉树组织,每个节点对应一个字母,查找就是一个字母
一个字母匹配.算法时间就是单词的长度k.
情况:当输入的最后一个字母不能匹配时就提示出错,简化出错处理,动态提示
(a)当前字母前缺少了一个字母:搜索树上两层到当前的匹配作为建议;
(b)当前字母拼写错误:当前字母的键盘相邻作为提示;(只是简单的描述,可 
根据分析字典特征和用户单词已输入部分选择(a),(b)处理

复杂性分析:影响算法的效率主要是字典的实现与纠错处理
(a)字典的实现已有成熟的算法,改进不大,也不会成为瓶颈;
(b)纠错策略要简单有效 ,如前述情况,是线性复杂度;
策略选择最是重要,可以采用统计学习的方法改进。

首先逐次读入查询串,算哈希值,保存在内存数组中,同时统计频度
(注意值与日志项对应关系)
选出前十的频度,取出对应的日志串,简单不过了。
哈希的设计是关键。 
(1)思路:先将集合按照大小排列后,优先考虑小的集合是否与大的集合有交集。有
就合并,如果小集合与所有其他集合都没有交集,则独立。独立的集合在下一轮的比
较中不用考虑。这样就可以尽量减少字符串的比较次数。当所有集合都独立的时候,
1.将集合按照大小排序,组成集合合并待处理列表
2.选择最小的集合,找出与之有交集的集合,
如果无,则与其它集合是独立集合,从待处理列表 中删除。
3.重复直到待处理列表为空

1。将集合按照大小从小到大排序,组成待处理的集合列表。
2。取出待处理集合列表中最小的集合,对于集合的每个元素,依次在其他集合中搜索
1>若存在,则将此小集合与大集合合并,并根据大小插入对应的位置 。转3
2>若不存在,则在该集合中取下一个元素。如果无下一个元素,即所有元素
都不存在于其他集合。则表明此集合独立,从待处理集合列表中删除。并加入结果集
3。如果待处理集合列表不为空,转2。
如果待处理集合列表为空,成功退出,则结果集合列表就是最终的输出。
假设集合的个数为n,最大的集合元素为m
排序的时间复杂度可以达到n*log(n)
然后对于元素在其他集合中查找,最坏情况下为(n-1)*m
查找一个集合是否与其他集合有交集的最坏情况是m*m*(n-1)
合并的时间复杂度不会超过查找集合有交集的最坏情况。
所以最终最坏时间复杂度为O(m*m*n*n)
需要说明的是:此算法的平均时间复杂度会很低,因为无论是查找还是合并,都是处
于最坏情况的概率很小,而且排序后优先用最小集合作为判断是否独立的对象,优先
与最大的集合进行比较,这些都最大的回避了最坏情况。
首先可以实现将每个集合里面的字符串按照字典序进行排列,这样就可以将查找以及
另外,可能采取恰当的数据结构也可以将查找以及合并等操作的效率得到提高

1 用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。

    也就是说,类ClxDerived的析构函数根本没有被调用!一般情况下类的析构函数里面都是释放内存资源,而析构函数不被调用的话就会造成内存泄漏。我想所有的C++程序员都知道这样的危险性。当然,如果在析构函数中做了其他工作的话,那你的所有努力也都是白费力气。
    所以,文章开头的那个问题的答案就是--这样做是为了当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用。


河北省普通高校专科接本科教育考试C 语言程序设计模拟试卷一

(考试时间:75 分钟)

说明:请在答题纸的相应位置上作答,在其它位置上作答的无效。

一、单项选择题(本大题共 20 小题,每小题 2 分,共 40 分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

1. 以下叙述不正确的是

A. 一个C源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main函数

C. C程序的基本组成单位是函数 D. 在C程序中,注释说明只能位于一条语句的后面

2. 在C语言中,假设所有变量均为整型,则表达式(a=3,b=7,a++,a+b)的值是

3. 在C程序中,有语句“int k=7,x=12;”,则下列表达式的值为3的是

4. 在C语言中,非法的字符常量是

5. 若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是

8. 以下程序段的输出结果是

9. C语言中函数返回值的类型由( )决定的。

A. return语句中的表达式类型 B. 调用该函数的主调函数的类型

C. 调用函数时临时决定 D. 定义函数时所指定的函数类型

10. 在C语言中,有以下程序段:

程序段中循环体的执行次数是

11. 在C语言中,以下函数定义格式正确的是

12. 以下叙述中正确的是

A. 构成C程序的基本单位是函数 B. 可以在一个函数中定义另一个函数

C. main()函数必须放在其它函数之前 D. 所有被调用函数一定要在调用之前进行定义

13. 在C语言中,以下错误的定义语句是

14. 在C语言中,有以下程序段:

15. 能正确表示a和b同时为正或同时为负的表达式是

16. 若int i=10;执行下列程序后,变量i的正确结果是

17. 下列程序的输出结果是

18. 在下面关于指针的说法中,错误的一条是

A. 变量的指针就是变量的地址

B. 可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量

C. 一个指针变量只能指向同一个类型的变量

D. 指针变量中只能存放地址

19. 以下程序运行后的输出结果是

20. 在下列叙述中,正确的一条是

A. puts和gets函数只能输入或输出一个字符串

B. 在C语言中,函数可以递归调用或递归定义

D. 外部变量只限于本文件中使用

二、阅读程序题(共5小题,每小题6分,共30分)

2. 【程序】 请写出输入“24,16”时的输出结果

5. 【程序】程序运行时,输入B

三、程序填空题(共3题,每空5分,共35分)

2. 函数delchar的功能是:删除字符串s中的所有数字字符

3. 功能是:输出方阵中主对角线和、副对角线上元素的和sum1和sum2

四、编程题 (共3小题,每题15分 共45分)

2、求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。

3、编写函数int fun(char s[]),功能是:判断字符串是s否为回文,是回文返回1,否则返回0

河北省普通高校专科接本科教育考试C 语言程序设计模拟试卷二

(考试时间:75 分钟)

说明:请在答题纸的相应位置上作答,在其它位置上作答的无效。

一、单项选择题(本大题共 20 小题,每小题 2 分,共 40 分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

1. 下面四个选项中,均是不合法的用户标识符的选项是

2. 以下程序段输出的结果是

4. 以下程序段的输出结果是

5. 若有说明:int a[3][4],则对a数组元素的正确引用是

6. 以下程序段的输出结果是

7. 以下叙述中不正确的是

A.在函数中,通过return语句获得返回值

B.在函数中,可以有多条return语句

C.在函数中,如果没有return语句则不带回返回值

D.在C语言中,调用函数不必在一条独立的语句中完成

8. 以下程序段的输出结果是

9. 下列程序段的输出结果是

10. 以下错误的描述是

A. 不同的函数中可以使用相同的变量名

B. 在一个函数内部的复合语句中定义的变量可以在本函数范围内有效

C. 一个函数内部定义的变量只能在本函数范围内有效

D. 形式参数是局部变量

12. 在下列叙述中,正确的一条是

B. 一维数组的定义可采用下列格式:int a(10);

A.指向整型变量的指针变量

B.指向有三个整型元素的一维数组的指针变量

C.指向函数的指针变量

D.指针数组名,有三个元素,每个元素均为一个指向整型变量的指针

14. 下列叙述中,正确的一条是

C.if(表达式)语句中,表达式的类型只限于逻辑表达式

D.break语句可用于程序的任何地方,以终止程序的执行

15. 设变量定义如下,则对其中的成员num正确的应用是

16. 以下程序的输出结果是

18. 下面程序的运行结果是

19. 定义如下变量和数组:

则下面语句的输出结果是

20. 以下程序的输出的结果是

二、阅读程序题(本题共5小题,每小题6分,共30分,请写出程序的运行结果)

三、程序填空题(共3题,每空5分,共35分)

1、以下程序的功能是:输出三位正整数中能被13整除的数

2、阅读以下程序并填空。以下程序的功能是:计算:

3、以下程序的功能是:输出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身例如:153是一水仙花数,因为:153=13+53+33

四、编程题(共3小题,每题15分 共45分)

1、编写函数fun,其功能为计算数列“1,-2,3,-4,…,n-1,-n”的和。

要求:(1)利用宏定义将n定义为10;

(2)函数的调用和结果的输出由主函数main()处理,计算过程由fun函数处理;

3、编写程序,通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课程成绩。函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从大到小)排序。

我要回帖

更多关于 函数fun的声明为int fun 的文章

 

随机推荐