C语言开发工程师笔试题

时间:2022-07-15 05:08:58 作者:天下 字数:11467字

C语言之所以命名为C,是因为C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。下面小编给大家分享C语言开发工程师笔试题的内容,希望能够帮助大家,欢迎阅读!

C语言开发工程师笔试题

1、改错

如下程序能不能正确输出,如果不能,让他正确输出hello字符串。

void New(char 星符号 p) { p = new char[5]; } void main { char星符号 p = NULL; New(p); strcpy(p, "hello"); printf("%s", p); }

2、排列算法

一个数组{3,4,5,6,3},请输出这个数组的全排列,比如34563、43563、33456...。

#include

#include

template

void Print(T星符号 tArray, int iSize)

{

for(int i = 0; i < iSize; ++i)

{

std::cout << tArray[i] << ' ';

}

std::cout << std::endl;

}

template

void Permutation(T星符号 tArray, int iSize)

{

int星符号 iIndex = new int[iSize + 1];

for(int i = 0; i < iSize; ++i)

{

iIndex [i] = iSize - i;

}

Print(tArray, iSize);

for(int i = iSize - 1; i > 0; )

{

-- iIndex [i];

--i;

int j = iSize - 1;

do

{

if(tArray[j--] != tArray[i++])

{

std::swap(tArray[j--], tArray[i++]);

}

}while(j > i);

Print(tArray, iSize);

i = iSize - 1;

for(;iIndex [i] == 0; --i)

{

iIndex [i] = iSize - i;

}

}

delete iIndex;

}

int main

{

int a = {3,4,5,6,3};

Permutation(a,5);

}

C++开发工程师笔试题篇

1、数据结构

在二叉树中找出和为某一输入值的所有路径。

#include

void getPath(struct treeNode星符号 node, int sum, vector& stack, int currentSum) { //stack用来存放路径,sum为输入值

} if (node == NULL) return; currentSum += node->id; stack.push_back(node->id); if (node->lchild != NULL) getPath(node->lchild, sum, stack, currentSum); if (node->rchild != NULL) getPath(node->rchild, sum, stack, currentSum); if (node->lchild == NULL && node->rchild == NULL) { if (currentSum == sum) { vector::iterator it = stack.begin; for (; it != stack.end; ++it) printf("%d ", 星符号it); printf("/n"); } } stack.pop_back;

2、编写程序:如何获得一个整数的二进制表达中有多少个1?

C++开发工程师笔试题篇

1、编写程序:在O(n)时间复杂度内从数组array[0..n-1]中找出第k个最小的元素。 说明:算法可以对array中的元素进行排序。

2、综合考察:

银行有个存有n个用户编号的文件,每个数都小于n,其中n=10的7次方。每个编号都不重复。

 输出:n个数升序排列。

 约束条件:内存最多有2兆的空间,运行时间复杂度为O(n)。

c++数据结构算法面试笔试题篇

1请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?

2请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢? UDP,TCP 在传输层,IP在网络层, TCP/IP是英文Transmission Control Protocol/Internet Protocol的缩写,意思是"传输控制协议/网际协议"。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如 T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7 层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路 层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:

…… 剩余约 2599 字(70%)内容已隐藏 ……

付费 / 登录后查看全文并下载