华为试题大全.pdf
《华为试题大全.pdf》由会员分享,可在线阅读,更多相关《华为试题大全.pdf(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华 为 l.static有 什 么 用 途?(请 至 少 说 明 两 种)1)在 函 数 体,一 个 被 声 明 为 静 态 的 变 量 在 这 一 函 数 被 调 用 过 程 中 维 持 其 值 不 变。2)在 模 块 内(但 在 函 数 体 外),个 被 声 明 为 静 态 的 变 量 可 以 被 模 块 内 所 用 函 数 访 问,但 不 能 被 模 块 外 其 它 函 数 访 问。它 是 一 个 本 地 的 全 局 变 量。3)在 模 块 内,一 个 被 声 明 为 静 态 的 函 数 只 可 被 这 一 模 块 内 的 其 它 函 数 调 用。那 就 是,这 个 函 数 被 限 制
2、在 声 明 它 的 模 块 的 本 地 范 围 内 使 用 2.引 用 与 指 针 有 什 么 区 别?1)引 用 必 须 被 初 始 化,指 针 不 必。2)引 用 初 始 化 以 后 不 能 被 改 变,指 针 可 以 改 变 所 指 的 对 象。3)不 存 在 指 向 空 值 的 引 用,但 是 存 在 指 向 空 值 的 指 针。3.描 述 实 时 系 统 的 基 本 特 性 在 特 定 时 间 内 完 成 特 定 的 任 务,实 时 性 与 可 靠 性。4.全 局 变 量 和 局 部 变 量 在 内 存 中 是 否 有 区 别?如 果 有,是 什 么 区 别?全 局 变 量 储 存
3、在 静 态 数 据 库,局 部 变 量 在 堆 栈。5.什 么 是 平 衡 二 叉 树?左 右 子 树 都 是 平 衡 二 叉 树 且 左 右 子 树 的 深 度 差 值 的 绝 对 值 不 大 于 lo6.堆 栈 溢 出 一 般 是 由 什 么 原 因 导 致 的?没 有 回 收 垃 圾 资 源。7.什 么 函 数 不 能 声 明 为 虚 函 数?constructor函 数 不 能 声 明 为 虚 函 数。8.冒 泡 排 序 算 法 的 时 间 复 杂 度 是 什 么?时 间 复 杂 度 是 0(2 2)。9.写 出 float x 与“零 值”比 较 的 i f语 句。if(x0.000
4、001&x-0.000001)lO.Internet采 用 哪 种 网 络 协 议?该 协 议 的 主 要 层 次 结 构?Tcp/ip协 议 主 要 层 次 结 构 为:应 用 层/传 输 层/网 络 层/数 据 链 路 层/物 理 层。11.Internet物 理 地 址 和 IP地 址 转 换 采 用 什 么 协 议?ARP(Address Resolution Protocol)(地 址 解 析 愤 12.IP地 址 的 编 码 分 为 哪 俩 部 分?IP地 址 由 两 部 分 组 成,网 络 号 和 主 机 号。不 过 是 要 和“子 网 掩 码”按 位 与 上 之 后 才 能 区
5、 分 哪 些 是 网 络 位 哪 些 是 主 机 位。13.用 户 输 入 M,N值,从 1至 N 开 始 顺 序 循 环 数 数,每 数 到 M 输 出 该 数 值,直 至 全 部 输 出。写 出 C 程 序。循 环 链 表,用 取 余 操 作 做 14.不 能 做 switch。的 参 数 类 型 是:switch的 参 数 不 能 为 实 型。上 海 华 为 的 一 道 关 于 指 针 方 面 的 编 程 题 int A n S ize,其 中 隐 藏 着 若 干 0,其 余 非 0 整 数,写 一 个 函 数 int Func(int*A,int nSize),使 A 把 0 移 至
6、后 面,非 0 整 数 移 至 数 组 前 面 并 保 持 有 序,返 回 值 为 原 数 据 中 第 一 个 元 素 为 0 的 下 标。(尽 可 能 不 使 用 辅 助 空 间 且 考 虑 效 率 及 异 常 问 题,注 释 规 范 且 给 出 设 计 思 路)华 为 笔 试 题 含 答 案 软 件 工 程 题 写 一 个 程 序,要 求 功 能:求 出 用 1,2,5 这 三 个 数 不 同 个 数 组 合 的 和 为 1 0 0 的 组 合 个 数。如:1 0 0 个 1 是 一 个 组 合,5 个 1 加 1 9 个 5 是 一 个 组 合。请 用 C+语 言 写。答 案:最 容 易
7、 想 到 的 算 法 是:设 x 是 1 的 个 数,y 是 2 的 个 数,z 是 5 的 个 数,n u m b e r是 组 合 数 注 意 到 0v=xv=1 00,0=y=50 0=z=20 所 以 口 J 以 编 程 为:number=0;for(x=0;x=100;x+)for(y=0;y=50;y+)for(z=0;z=20;z+)if(x+2*y+5*z)=100)number+;cout number endl;上 面 这 个 程 序 一 共 要 循 环 100*5 0*2 0次,效 率 实 在 是 太 低 了 事 实 上,这 个 题 目 是 一 道 明 显 的 数 学 问
8、 题,而 不 是 单 纯 的 编 程 问 题。我 的 解 法 如 下:因 为 x+2y+5z=1 00所 以 x+2 y=1 0 0-5 z,且 zv=20 x=100 y=50所 以(x+2y)v=1 0 0,且(x+5z)是 偶 数 对 z 作 循 环,求 x 的 可 能 值 如 下:z=0,x=1 00,98,96,.0z=1,x=95,93,1z=2,x=90,88,.,0z=3,x=85,83,.1z=4,x=80,78,.,0z=1 9,x=5,3,1z=20,x=0因 此,组 合 总 数 为 1 0 0以 内 的 偶 数+9 5以 内 的 奇 数+9 0以 内 的 偶 数+5 以
9、 内 的 奇 数+1,即 为:(51+4 8)+(4 6+4 3)+(4 1+3 8)+(3 6+3 3)+(3 1+2 8)+(2 6+2 3)+(21+18)+(16+13)+(11+8)+(6+3)+1某 个 偶 数 m 以 内 的 偶 数 个 数(包 括 0)可 以 表 示 为 m/2+1=(m+2)/2某 个 奇 数 m 以 内 的 奇 数 个 数 也 可 以 表 示 为(m+2)/2所 以,求 总 的 组 合 次 数 可 以 编 程 为:number=0;for(int m=0;m=100;m+=5)(number+=(m+2)/2;)cout number endl;这 个 程
10、序,只 需 要 循 环 2 1 次,两 个 变 量,就 可 以 得 到 答 案,比 匕 面 的 那 个 程 序 高 效 了 许 多 倍 一 一 只 是 因 为 作 了 一 些 简 单 的 数 学 分 析 这 再 一 次 证 明 了:计 算 机 程 序=数 据 结 构+算 法,而 且 算 法 是 程 序 的 灵 魂,对 任 何 工 程 问 题,当 用 软 件 来 实 现 时,必 须 选 取 满 足 当 前 的 资 源 限 制,用 户 需 求 限 制,开 发 时 间 限 制 等 种 种 限 制 条 件 下 的 最 优 算 法。而 绝 不 能 一 拿 到 手,就 立 刻 用 最 容 易 想 到 的
11、算 法 编 出 一 个 程 序 了事 这 不 是 一 个 专 业 的 研 发 人 员 的 行 为。那 么,那 种 最 容 易 想 到 的 算 法 就 完 全 没 有 用 吗?不,这 种 算 法 正 好 可 以 用 来 验 证 新 算 法 的 正 确 性,在 调 试 阶 段,这 非 常 有 用。在 很 多 大 公 司,例 如 微 软,都 采 用 了 这 种 方 法:在 调 试 阶 段,对 一 些 重 要 的 需 要 好 的 算 法 来 实 现 的 程 序,而 这 种 好 的 算 法 又 比 较 复 杂 时,同 时 用 容 易 想 到 的 算 法 来 验 证 这 段 程 序,如 果 两 种 算 法
12、 得 出 的 结 果 不 致(而 最 容 易 想 到 的 算 法 保 证 是 正 确 的),那 么 说 明 优 化 的 算 法 出 了 问 题,需 要 修 改。可 以 举 例 表 示 为:#ifdef DEBUGint simple();#end ifint optimize();in a function:(result=optimize();ASSERT(result=simple();)这 样,在 调 试 阶 段,如 果 简 单 算 法 和 优 化 算 法 的 结 果 不 一 致,就 会 打 出 断 言。同 时,在 程 序 的 发 布 版 本,却 不 会 包 含 笨 重 的 simple
13、。函 数。任 何 大 型 工 程 软 件 都 需 要 预 先 设 计 良 好 的 调 试 手 段,而 这 里 提 到 的 就 是 种 有 用 的 方 法。一 个 学 生 的 信 息 是:姓 名,学 号,性 别,年 龄 等 信 息,用 一 个 链 表,把 这 些 学 生 信 息 连 在 一 起,给 出 一 个 a g e,在 些 链 表 中 删 除 学 生 年 龄 等 于 a g e的 学 生 信 息。#include stdio.h#include conio.hstruct stuchar name20;char sex;int no;int age;struct stu*next;*lin
14、klist;struct stu*creatlist(int n)(int i;h 为 头 结 点,p 为 前 一 结 点,s 为 当 前 结 点 struct stu*h,*p,*s;h=(struct stu*)malloc(sizeof(struct stu);h-next=NULL;p=h;for(i=0;in;i+)s=(struct stu*)malloc(sizeof(struct stu);p-next=s;printf(nPlease input the information of the student:name sex no age n);scanf(H%s%c%d%d
15、n,s-name,&s-sex,&s-no,&s-age);s-next=NULL;p=s;)printf(HCreate successful!*);return(h);)void deletelist(struct stu*s,int a)(struct stu*p;while(s-age!=a)(P=s;s=s-next;)if(s=NULL)printf(HThe record is not exist.);else(p-next=s-next;printf(nDelete successful!*);)void display(struct stu*s)(s=s-next;while
16、(s!=NULL)(printf(%s%c%d%dn,s-name,s-sex,s-no,s-age);s=s-next;)int main()(struct stu*s;int n,age;printf(HPlease input the length of seqlist:n);scanf(M%d,&n);s=creatlist(n);display(s);printf(Please input the age:n);scanf(H%d,&age);deletelist(s,age);display(s);return 0;)2、实 现 一 个 函 数,把 一 个 字 符 串 中 的 字
17、符 从 小 写 转 为 大 写。#include stdio.h#include conio.hvoid uppers(char*s,char*us)(for(;*s!=*0*;s+,us+)(if(*s=匕&*s=z)*us=*s-32;else*us=*s;)*us=0;)int main()(char*s,*us;char ss20;printf(nPlease input a string:n);scanf(,%s,ss);s=ss;uppers(s,us);printf(The result is:n%sn,us);getch();)随 机 输 入 一 个 数,判 断 它 是 不 是
18、 对 称 数(回 文 数)(如 3,121,1 2321,4 5 2 5 4)。不 能 用 字 符 串 库 函 数 1.函 数 名 称:Symmetry功 能:判 断 一 个 数 时 候 为 回 文 数(121,35653)输 入:长 整 型 的 数 输 出:若 为 回 文 数 返 回 值 为 1 esle 0*/unsigned char Symmetry(long n)(long i,temp;i=n;temp=0;while(i)不 用 出 现 长 度 问 题,将 数 按 高 低 位 掉 换 temp=temp*1 0+i%10;i/=10;)return(temp=n);)方 法 一
19、功 能:判 断 字 符 串 是 否 为 回 文 数 字 实 现:先 将 字 符 串 转 换 为 正 整 数,再 将 正 整 数 逆 序 组 合 为 新 的 正 整 数,两 数 相 同 则 为 回 文 数 字 输 入:char*s:待 判 断 的 字 符 串 输 出:无 返 回:0:正 确;1:待 判 断 的 字 符 串 为 空;2:待 判 断 的 字 符 串 不 为 数 字;3:字 符 串 不 为 回 文 数 字;4:待 判 断 的 字 符 串 溢 出 unsigned lsSymmetry(char*s)(char*p=s;long nNumber=0;long n=0;long nTemp
20、=0;/*判 断 输 入 是 否 为 空*/if(*s=0)return 1;/*将 字 符 串 转 换 为 正 整 数*/while(*p!=0)(/*判 断 字 符 是 否 为 数 字*/if(*p,9,)return 2;/*判 断 正 整 数 是 否 溢 出*/if(*p-*0)(4294967295-(nNumber*10)return 4;Number=(*p-,0,)+(nNumber*10);P+;)/*将 数 字 逆 序 组 合,直 接 抄 楼 上 高 手 的 代 码,莫 怪,呵 呵*/n=nNumber;while(n)/*判 断 正 整 数 是 否 溢 出*/if(n%1
21、0)(4294967295-(nTemp*10)return 3;nTemp=nTemp*10+n%10;n/=10;)/*比 较 逆 序 数 和 原 序 数 是 否 相 等*/if(nNumber!=nTemp)return 3;return 0;)方 法 二 功 能:判 断 字 符 串 是 否 为 回 文 数 字 实 现:先 得 到 字 符 串 的 长 度,再 依 次 比 较 字 符 串 的 对 应 位 字 符 是 否 相 同 输 入:char*s:待 判 断 的 字 符 串输 出:无 返 回:0:正 确;1:待 判 断 的 字 符 串 为 空;2:待 判 断 的 字 符 串 不 为 数
22、字;3:字 符 串 不 为 回 文 数 字 unsigned IsSymmetry_2(char*s)(char*p=s;int nLen=0;int i=0;/*判 断 输 入 是 否 为 空*/if(*s=V 0)return 1;/*得 到 字 符 串 长 度*/while(*p!=VWQV)/*判 断 字 符 是 否 为 数 字*/if(*p,9,)return 2;nLen+;P+;)/*长 度 不 为 奇 数,不 为 回 文 数 字*/if(nLen%2=0)return 4;/*长 度 为 1,即 为 回 文 数 字*/if(nLen=1)return 0;/*依 次 比 较 对
23、 应 字 符 是 否 相 同*/P=s;i=nLen/2-1;while(i)(if(*(p+i)!=*(p+nLen-i-1)return 3;i-;)return 0;)求 2 2 0 0 0的 所 有 素 数.有 足 够 的 内 存,要 求 尽 量 快 答 案:int findvalue2000=2;static int find=1;bool adjust(int value)(assert(value=2);if(value=2)return true;for(int i=O;i=find;i+)(if(value%findvaluei=0)return false;)findval
24、uefind+;return true;)华 为 最 后 三 个 大 题l.A,B,C,D四 个 进 程,A 向 b u f里 面 写 数 据,B,C,D向 b u f里 面 读 数 据,当 A 写 完,且 B,C,D 都 读 一 次 后,A 才 能 再 写。用 P,V 操 作 实 现。2.将 单 向 链 表 reverse,如 A B C D变 成 D C B A,只 能 搜 索 链 表 一 次。3.将 二 叉 树 的 两 个 孩 子 换 位 置,即 左 变 右,右 变 左。不 能 用 递 规(变 态!)华 为 笔 试 题:2007.03.31华 为 笔 试 题 之 一 二 给 大 家 说
25、几 个:(感 觉 华 为 不 过 如 此,虽 然 我 的 分 不 高,因 为 很 多 题 我 做 给 他 实 在 是 侮 辱 我 的 智 商)1。大 意 如 下:3 8头 牛 中 选 出 3 头 跑 得 最 快 的,使 用 一 个 每 次 只 能 供 6 头 比 赛 的 场 地,要 求 用 最 快 的 方 法。(我 给 一 个 最 傻 瓜 的 答 案,因 为 我 发 现 一 起 笔 试 的 有 且 恰 好 有 3 8个 人,不 知 道*什 么 意 思?)2。大 意 如 下:公 司 职 员 知 道 老 板 的 年 龄,不 知 道 他 女 儿 的 年 龄,老 板 3个 女 儿 的 年 龄 相 加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华为 试题 大全
限制150内