请写出下面程序的输出结果:(答案在下面)

1、

intcount = 3;

intmain(void)

{

inti, sum, count = 2;

for(i=0,sum=0; i

{

staticintcount = 4;

count++;

if(i%2 == 0)

{

externintcount;

count++;

sum += count;

}

sum += count;

}

printf("%d %d\n",count, sum);

return0;

}

extern int count是上边的全局变量。并且循环中的count值不变。

2、

voidfunc(charstr[50])

{

printf("A %d B %d ",sizeof(str), strlen(str));

}

intmain(void)

{

charstra[] ="HelloWorld";

char*strb = stra;

printf("C %d D %d ",sizeof(stra),sizeof(strb++));

func(++strb);

printf("E %d F %d\n",strlen(stra), strlen(strb++));

return0;

}

3、

#include

intfunc(std::vectorvec)

{

staticintk = 2;

std::vector::reverse_iterator it;

for(it = vec.rbegin(); it!=vec.rend(); ++it)

{

k += *it%2==0? ++*it: (*it)++;

}

returnk;

}

intmain(void)

{

std::vectorvec;

for(inti = 0; i<4; i++)

{

vec.push_back(i);

printf("%d ",func(vec));

}

return0;

}

k += *it%2==0? ++*it: (*it)++;

k=k+(*it%2==0?++*it:(*it)++;)

4、

classBase

{

public:

intm_a;

Base(inta=2):m_a(a)

{

printf("A %d ",m_a);

}

virtual~Base()

{

printf("B %d ",m_a);

}

};

classDerived:publicBase

{

public:

Derived(inta=4):Base(a)

{

printf("C %d ",m_a);

}

~Derived()

{

printf("D %d ",m_a);

}

};

intmain(void)

{

Base *aa,bb;

aa = newDerived;

deleteaa;

return0;

}

在delete aa 的时候   虚析够函数还是被调用了

5、

classBase

{

public:

intm_a,m_b;

Base(inta = 2,intb = 5):m_a(a),m_b(b)  {  }

intfunc_a()

{

returnm_a - m_b;

}

virtualintfunc_b()

{

returnm_a + m_b;

}

};

classDerived:publicBase

{

public:

Derived(inta = 4,intb = 7):Base(a, b)  {  }

virtualintfunc_a()

{

returnm_b + m_a;

}

intfunc_b()

{

returnm_b - m_a;

}

};

intmain(void)

{

Base *aa, *bb;

aa = newBase(4, 7);

bb = newDerived(3, 5);

printf("%d %d %d %d\n",aa->func_a(), aa->func_b(), bb->func_a(), bb->func_b());

deleteaa;

deletebb;

return0;

}

6、

structSC

{

inta;

intb;

intc;

};

structSD

{

inta;

intb;

intc;

intd;

};

intmain(void)

{

structSC c1[] = {{3},{4},{5},{6}};

structSD *c2 = (structSD*)c1 + 1;

printf("%d %d %d %d\n",c2->a,c2->b,c2->c,c2->d);

return0;

}

7、

intfunc(intn)

{

intk = 1;

if(n > 0)

{

k += func(--n);

printf("%d ", n);

k += func(--n);

}

returnk;

}

intmain(void)

{

inta = 3;

printf("%d\n",func(a));

return0;

}

答案:

1、  4   20

2、 C 11 D 4 A 4 B 9 E 10 F 9

3、 3  5  10  18

4、 A 2 A 4 C 4 D 4 B 4

5、 -3 11 -2 2

6、 0  0  5  0

7、  0  1  2  0  9

编程题:

1、函数checkstr判断一字符串是不是对称的。其中msg为输入的字符串,对称返回0,不对称返回-1,实现该函数。

int checkstr(cosnt char *msg);

2、给出一个单向链表的头指针,输出该链表中倒数第K个节点的指针,链表的倒数第0个节点为链表的尾节点(尾节点的next成员为NULL)

typedef struct Node

{

struct Node *next

}NODE;

NODE* findnode(NODE *head,unsigned int k);

简答题:

1、简述动态链接库DLL和静态链接库lib的差别。

2、请简述MFC中的窗口收到WM_PAINT消息是如何处理的,什么情况下会产生WM_PAINT消息。

3、请简述Critical Section 、Mutex、Semaphore的功能和差别

Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个。一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行。

Semaphore是一件可以容纳N人的房间,如果人不满就可以进去,如果人满了,就要等待有人出来。对于N=1的情况,称为binary semaphore。一般的用法是,用于限制对于某一资源的同时访问。

Binary semaphore与Mutex的差异:

在有的系统中Binary semaphore与Mutex是没有差异的。在有的系统上,主要的差异是mutex一定要由获得锁的进程来释放。而semaphore可以由其它进程释放(这时的semaphore实际就是个原子的变量,大家可以加或减),因此semaphore可以用于进程间同步。Semaphore的同步功能是所有系统都支持的,而Mutex能否由其他进程释放则未定,因此建议mutex只用于保护critical section。而semaphore则用于保护某变量,或者同步。

另一个概念是spin lock,这是一个内核态概念。spin lock与semaphore的主要区别是spin lock是busy waiting,而semaphore是sleep。对于可以sleep的进程来说,busy waiting当然没有意义。对于单CPU的系统,busy waiting当然更没意义(没有CPU可以释放锁)。因此,只有多CPU的内核态非进程空间,才会用到spin lock。Linux kernel的spin lock在非SMP的情况下,只是关irq,没有别的操作,用于确保该段程序的运行不会被打断。其实也就是类似mutex的作用,串行化对critical section的访问。但是mutex不能保护中断的打断,也不能在中断处理程序中被调用。而spin lock也一般没有必要用于可以sleep的进程空间。

4、简述多线程程序对比单线程程序的优点和缺点。

4、多线程速度快,可以把耗时长的任务放到后台处理,但是也增加了管理和调度的时间,增加了不稳定性,需要复杂的同步机制,避免死锁等等,多核的情况下可以充分利用CPU,对于公共资源和变量访问和修改要特别注意。并不是多线程就一定好,当有大量的IO操作时,或者有比较耗时的任务,那么多线程就是比较好的选择。

大华测试笔试题_浙江大华笔试题相关推荐

  1. 大华测试笔试题_大华软件测试笔试题目 大华软件测试笔试题

    软件测试工程师笔试试题 首先,我不急于回答你的问题你先自己检查一下自己所说的话语中有没有错误,软件测试最关键在于是细心,认真. 其次,你的问题1.你们是怎样进行回归测试的,一般进行几轮,具体说一下?2 ...

  2. 大华技术股份有限公司测开笔试题分享

    某华股份测开笔试题 测试开发岗位社招笔试题: 为了防止被黑客取到客户输入的密码,某银行在登陆软件上以屏幕输入法输入密码,该输入法有9个按钮,每个按钮上有不多于3个字母,字母有先后顺序,按第一个字母需要 ...

  3. 大华管理平台用户名_智能财务引领商业与管理变革——浙大EMBA首席财务官研习社走进大华股份...

    杭商传媒记者  周  珂/文   徐青青/摄 编辑 何影丹 当前经济环境和市场需求瞬息万变,企业竞争日益激烈,盈利持续下降,产品.服务同质化严重,这不仅对业务部门提出了挑战,也对传统的财务管理产生了巨 ...

  4. 大华管理平台用户名_大华HOC智慧物流可视化联网追溯解决方案,助力物流行业更高效...

    点击上方蓝字关注"大华行业" 随着电商产业的高速发展,物流已经成为人们生活中必不可少的一环.同时,作为国民经济的重要组成部分,物流行业所涉及到的领域也越来越广. 问题凸显 对监管部 ...

  5. 大华java面试经验_大华面试(Java 基础)

    7-17 大华一面(java 基础) 1. 讲一下 java 和其他语言的区别,说下 java 的平台无关性,如何做到一次编译,到处运行 关于java 的特性,可以从 java 的优点来说. java ...

  6. 审讯主机是计算机配件吗,益昌安大华审讯主机DH-HVR0404FE-S-H谁家价格好DH-HVR0404FE-S-H(大华)详细信息_产品参数_价格_联系方式_DAV数字音视工程网...

    DH-HVR0404FE-S-H(大华) 采用高性能工业级嵌入式微控制器 采用嵌入式LINUX操作系统 支持H.264编解码标准 支持G711A标准 支持4路1080P HDCVI高清输入,4路本地P ...

  7. 大华测试笔试题_互联网校招非技术岗的这三类笔试题目你都清楚了吗?

    截至7月1日,已有10+名企开启了秋招提前批:字节跳动.京东.虎牙.浪潮.vivo.京东方.英特尔.中信证券.大华股份.正略咨询.海尔等. 根据往年经验,秋招提前批其中以互联网企业为主,提前批的开启往 ...

  8. 大华测试笔试题_0914 浙江大华软件测试面(一面)面经

    1.自我介绍 2.简单说说你对软件测试的理解 3.软件测试从技术上来分的话主要包括哪些? 4.你以后更想往哪个测试技术方向发展?为什么? 5.能说一说交换机与路由器的区别吗? 路由器(Router)是 ...

  9. stm32经典笔试题_经典面试题及解析

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 基础部分考察 1.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (6 ...

最新文章

  1. Hadoop学习笔记一
  2. 云智慧CEO:APM技术难点在于前端数据采集与后端数据分析的结合
  3. STL源码剖析——P142关于list::sort函数
  4. php歌声美化_PHP代码在线格式化美化工具
  5. linux类似360软件,linux下有什么类似鲁大师查看电脑配置的软
  6. qq饥荒联机版服务器没有响应,饥荒联机版专用服务器卡顿原因及解决方法汇总...
  7. zabbix的b编译安装
  8. 计算机管理的服务列表,Windows
  9. maven依赖包和依赖仓库(1)
  10. python如何爬虫股票数据_自学python之爬虫3股票数据爬虫
  11. 多实例学习PCNN在关系抽取中的应用
  12. Word技巧和快捷键
  13. Nginx企业级配置
  14. centos7安装eclipse方法
  15. 轻量级流程编排引擎-模型设计
  16. 讲解Guitar Pro 7使用向导的技巧
  17. 精彩的javascript代码(包括表单校验等等)
  18. CSS font-size属性
  19. 优化Windows xp Professional大全
  20. 神奇了!AR技术可测量实物体积!

热门文章

  1. 西安城的智慧,西安人的欢歌
  2. c++ Asan(address-sanitize)的配置和使用
  3. WampServer是干什么的
  4. 【SEO优化技术】企业网站微创新方法
  5. 全球及中国视频会议系统市场应用状况与趋势展望分析报告2022版
  6. 【现代货币银行学】信用和利率(上)
  7. 基于GM(0,N)的时间序列预测R实现
  8. 133A 读注意的嘤嘤
  9. MIPCMS如何用火车头采集自定义字段?
  10. java 实现word转pdf