嵌入式软件工程师C语言经典笔试2
1. 使用宏定义swap函数,不使用中间变量
#define swap(x,y) {(x) = (x) + (y);(y) = (x) - (y);(x) = (x) - (y)}
2. 实现字符串的反转
#define swap(x,y) {(x) = (x) + (y);(y) = (x) - (y);(x) = (x) - (y);}
void reverse(char *string)
{
int len = strlen(string);
char *begin = string;
char *end = string + len - ;
while (begin < end)
{
swap(*begin,*end);
begin++;
end--;
}
}
3. 实现单链表的反转
3.1 方式一列表头不反转
void reverse_node(struct node *pHeader)
{
struct node *p = pHeader->pNext;
struct node *pbackup = NULL;
if(NULL == pHeader || NULL == p)
{
printf("node should more one\n");
return;
}
while(NULL != p)
{
pbackup = p->pNext;
if(pHeader->pNext == p)
{
p->pNext = NULL;
}
else
{
p->pNext = pHeader->pNext;
pHeader->pNext = p;
}
p = pbackup;
}
}
3.2 方式二列表头也反转
struct node * reverse(struct node *pHeader)
{
if (pHeader== NULL || pHeader-> Next == NULL)
{
return pHeader;
}
struct node *p = pHeader-> Next;
struct node *pNewHeader = reverse(p);
p -> Next = pHeader;
pHeader->Next = NULL;
return pNewHeader;
}
4. 计算二叉树的高度
typedef struct BinTreeNode
{
int data;
struct BinTreeNode *lchild;
struct BinTreeNode *rchild; }*BSTree int depth(BSTree T)
{
if(!T)
{
return ;
}
int d1=depth(T->lchild);
int d2=depth(T->rchild);
return (d1>d2?d1:d2)+;
}
5. 判断一个数是否是2的次幂
inline int Is2exp(int i)
{
return (i&(i-))?:);
}
嵌入式软件工程师C语言经典笔试2的更多相关文章
- 嵌入式软件工程师C语言经典笔试1
一. 预处理器(Preprocessor) 1.1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 6 ...
- C语言经典笔试题目
1.bool,float,指针变量 与 “零值” 比较的if语句 注意点:c语言中bool类型采用整数存储,0为false,非0均为true; float类型采用IEEE754标准,第一位符号位,中间 ...
- CVTE 嵌入式软件工程师 二面
昨天晚上收到了二面的通知,激动啊-第二天提前20分钟到达指定地点,然后一起做大巴去到CVTE总部,发现笔试刷掉的人好像并不是很多.我们一下车被带到了公司的电影院,听演唱会.呵呵,挺有意思的,有一个漂亮 ...
- C语言经典例题100
C语言经典例题100 来源 http://www.fishc.com 适合初学者 ----------------------------------------------------------- ...
- 【转载】经典10道c/c++语言经典笔试题(含全部所有参考答案)
经典10道c/c++语言经典笔试题(含全部所有参考答案) 1. 下面这段代码的输出是多少(在32位机上). char *p; char *q[20]; char *m[20][20]; int (*n ...
- C语言经典算法 - 多维矩阵转一维矩阵的代码
下边内容内容是关于C语言经典算法 - 多维矩阵转一维矩阵的内容,应该能对码农也有好处. #include <stdio.h>#include <stdlib.h>int mai ...
- C语言经典例题(菜鸟教程100例)
学习c语言基础,怎么能少了菜鸟教程上的100道例题呢,这里整理一下每道题的链接,希望大家能享受学习的乐趣 1,有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2,企业发放 ...
- 经典笔试题型----IT经理(IT Manager)
一般企业设置IT部门都是服务性质,虽然谈IT需要成为战略部门许多年,但用脑子想下,这概率有多少?企业存在的第一目标是:赚取利润.贸易型企业最重要的部门为销售部,生产型企业最重要的部门为销售部与生产部, ...
- C 语言经典100例
C 语言经典100例 C 语言练习实例1 C 语言练习实例2 C 语言练习实例3 C 语言练习实例4 C 语言练习实例5 C 语言练习实例6 C 语言练习实例7 C 语言练习实例8 C 语言练习实例9 ...
随机推荐
- jvm——NIO
https://blog.csdn.net/Evankaka/article/details/48464013 https://www.cnblogs.com/aspirant/p/9166944.h ...
- pandas Series和dataframe
DataFrame是一个表格型数据结构,与Series不同的是,DataFrame可以含有一组或者有序的列,每列可以使不同的值的类型,它可以被看做成Series的字典.
- Electron开发使用Vue Devtools
转自 [https://orchidflower.oschina.io/2017/03/29/Using-Vue-Devtools-in-Electron/] 2.2 安装步骤 首先在Chrome中安 ...
- mysql修改库名
#!/bin/bash # 假设将sakila数据库名改为new_sakila # MyISAM直接更改数据库目录下的文件即可 mysql -uroot -p123456 -e 'create dat ...
- C++调试的骚操作
打LCT时突然发现的骚操作 举个栗子 正常调试下应该是这样的 然后用光标选中函数名时-- 可以发现函数被运行了一次(每选中一次都会运行) 然而当函数带了变量时就布星了
- 在线PDF的实现 纯js
/// <summary> /// 使用微软的TransmitFile下载文件 /// </summary> /// <param name="filePath ...
- ASP.NET大文件断点上传
HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...
- Spring Boot教程(十九)RESTful API单元测试
下面针对该Controller编写测试用例验证正确性,具体如下.当然也可以通过浏览器插件等进行请求提交验证. @RunWith(SpringJUnit4ClassRunner.class) @Spri ...
- 【转】Tarjan算法 资料合集
http://blog.csdn.net/fuyukai/article/details/51039788 Tarjan三大算法之双连通分量(割点,桥) Robert Endre Tarjan是一个美 ...
- Module not found: Error: Can't resolve ' vue-resource'
问题: 在学习vue的过程中出现了这个问题,说明VueResource模块没有安装. 解决方法: 打开终端,进入当前项目所在目录,输入指令 npm install vue-resource --sav ...