华为c编程
A. 华为面试题 c语言实现任意字节数的乘法
#include<stdio.h>
#include<string.h>
int a[100000],b[100000],total[1000000];
int i=0,j=0;
void getdata()
{
char t;
memset(a,-1,sizeof(a));
memset(b,-1,sizeof(b));
memset(total,0,sizeof(total));
printf("please input two numbers will be multiplied(a and b):\n");
while(scanf("%c",&t)!=EOF&&t!='\n'&&t!=' ')
a[i++]=t-'0';
while(scanf("%c",&t)!=EOF&&t!='\n'&&t!=' ')
b[j++]=t-'0';
}
void chengf()
{
int k,t,i1,j1,flag=0;
i1=i,j1=j;
for(i=i1-1; i>=0; i--)
{
k=flag;
for(j=j1-1; j>=0; j--)
{
t=b[j]*a[i];
total[k]+=t%10;
total[k+1]+=t/10;
if(total[k]>=10)
{
total[k+1]+=total[k]/10;
total[k]%=10;
}
k++;
}
flag++;
}
// 输出部分
while(total[k]<=0)k--;
printf("\nOutput the result as follows:\n");
for(i=0; a[i]>=0; i++)
printf("%d",a[i]);
printf(" * ");
for(j=0; b[j]>=0; j++)
printf("%d",b[j]);
printf(" = ");
for(; k>=0; k--)
printf("%d",total[k]);
}
int main()
{
getdata();
chengf();
return 0;
}
B. 华为机试C/C++是用什么编译器的呢
1.C语言编程软件有哪些:
Mcrosoft Visual C++ 、Microsoft Visual Studio、 DEV C++、Code::Blocks、Borland C++、WaTCom C++、Borland C++ Builder、GNU DJGPP C++、Lccwin32 C Compiler3.1、High C、Turb C、gcc、C-Free和Win-TC、My Tc等等,由于C语言比较成熟,所以编程环境很多。
2.C语言入门,不推荐使用VC,因为VC不但庞大,而且应用开发比较高级。入门编程荐使用Dev-C 和 WIN-TC。
1)WIN-TC,该软件使用TC2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。并提供一组相关辅助工具令你在编程过程中更加游刃有余。
2)Dev-C ,Dev-C 是一个Windows下的C和C 程序的集成开发环境。它使用MingW32/GCC编译器,遵循C/C 标准。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,能够适合初学者与编程高手的不同需求,是学习C或C的首选开发工具。
C. 华为c语言编程规范是怎样的
链接:
《华为编程规范与范例》是一本计算机编程应用类书籍。
D. Re:华为C语言,搞路由器开发的出来好找工作吗
比较容易。
首先, 目前路由器还是有很多厂家在开发的。 从华为出来, 再找其他路由器开发类的并不难。
其次 即使不想做路由器了, 改做其他的也很容易。
目前很多新款路由器其实都是用嵌入式Linux做的(openWrt比较多)。
所以路由器开发 主要就是嵌入式Linux开发, 包括驱动, 以及网络接口等。
这方面的知识应用面是很大的。 所以转其他方面的嵌入式Linux驱动或者网络编程,也都是可以的。
E. 高分跪求 华为 C语言面试题
我现在学啊,给你份考题,具体是不是你需要的,还要你自己看喽!(是去年的我们的考题)答案告诉你喽!
(1)在信息时代,计算机的应用非常广泛,主要有如下几大领域:科学计算、信息处理、过程控制、计算机辅助工程、家庭生活和
A)军事应用
B)现代教育
C)网络服务
D)以上都不是
答案:B
(2)在ENIAC的研制过程中,由美籍匈牙利数学家总结并提出了非常重要的改进意见,他是
A)冯•诺依曼
B)阿兰•图灵
C)古德•摩尔
D)以上都不是
答案:A
(3)十进制数75用二进制数表示是
A)1100001
B)1101001
C)0011001
D)1001011
答案:D
(4)一个非零无符号二进制整数后加两个零形成一个新的数,新数的值是原数值的
A)4倍
B)二倍
C)4分之一
D)二分之一
答案:A
(5)与十进制数291等值的十六进制数为
A)123
B)213
C)231
D)132
答案:A
(6)下列字符中,其ASCII码值最小的是
A)$
B)J
C)b
D)T
答案:A
(7)下列4条叙述中,有错误的一条是
A)通过自动(如扫描)或人工(如击键、语音)方法将汉字信息(图形、编码或语音)转换为计算机内部表示汉字的机内码并存储起来的过程,称为汉字输入
B)将计算机内存储的汉字内码恢复成汉字并在计算机外部设备上显示或通过某种介质保存下来的过程,称为汉字输出
C)将汉字信息处理软件固化,构成一块插件板,这种插件板称为汉卡
D)汉字国标码就是汉字拼音码
答案:D
(8)某汉字的国际码是1112H,它的机内码是
A)3132H
B)5152H
C)8182H
D)9192H
答案:D
(9)以下关于高级语言的描述中,正确的是
A)高级语言诞生于20世纪60年代中期
B)高级语言的"高级"是指所设计的程序非常高级
C)C++语言采用的是"编译"的方法
D)高级语言可以直接被计算机执行
答案:C
(10)早期的BASIC语言采用的哪种方法将源程序转换成机器语言?
A)汇编
B)解释
C)编译
D)编辑
答案:B
(11)计算机软件系统包括
A)系统软件和应用软件
B)编辑软件和应用软件
C)数据库软件和工具软件
D)程序和数据
答案:A
(12)WPS 2000,Word 97等字处理软件属于
A)管理软件
B)网络软件
C)应用软件
D)系统软件
答案:C
(13)使用Pentium Ⅲ500的微型计算机,其CPU的输入时钟频率是
A)500kHz
B)500MHz
C)250kHz
D)250MHz
答案:B
(14)静态RAM的特点是
A)在不断电的条件下,信息在静态RAM中保持不变,故而不必定期刷新就能永久保存信息
B)在不断电的条件下,信息在静态RAM中不能永久无条件保持,必须定期刷新才不致丢失信息
C)在静态RAM中的信息只能读不能写
D)在静态RAM中的信息断电后也不会丢失
答案:A
(15)CPU的主要组成:运算器和
A)控制器
B)存储器
C)寄存器
D)编辑器
答案:A
(16)高速缓冲存储器是为了解决
A)内存与辅助存储器之间速度不匹配问题
B)CPU与辅助存储器之间速度不匹配问题
C)CPU与内存储器之间速度不匹配问题
D)主机与外设之间速度不匹配问题
答案:C
(17)以下哪一个是点阵打印机?
A)激光打印机
B)喷墨打印机
C)静电打印机
D)针式打印机
答案:D
(18)为了防止计算机病毒的传染,应该做到
A)不要拷贝来历不明的软盘上的程序
B)对长期不用的软盘要经常格式化
C)对软盘上的文件要经常重新拷贝
D)不要把无病毒的软盘与来历不明的软盘放在一起
答案:A
(19)下列关于计算机的叙述中,不正确的一条是
A)世界上第一台计算机诞生于美国,主要元件是晶体管
B)我国自主生产的巨型机代表是"银河"
C)笔记本电脑也是一种微型计算机
D)计算机的字长一般都是8的整数倍
答案:A
(20)下列关于计算机的叙述中,不正确的一条是
A)"裸机"就是没有机箱的计算机
B)所有计算机都是由硬件和软件组成的
C)计算机的存储容量越大,处理能力就越强
D)各种高级语言的翻译程序都属于系统软件
答案:A
F. 华为C语言上机试题
#include <stdio.h>
#include <assert.h>
void take_num(const char *strIn, int *n, unsigned int *outArray)
{
const char * p = strIn;
int next = 0;
*n = 0;
outArray[0] = 0;
assert(p && n && outArray);
for (p = strIn;*p;p++) {
if (('0'<=*p)&&(*p<='9')) {
outArray[*n] = (outArray[*n] * 10)+((*p) - '0');
next = 1; /*后面还有*/
} else {
if (next == 1) {
(*n)++;
}
next = 0;
}
}
}
void max_prefix_match(const char *ip_addr, const char *net_addr_array[], int *n)
{
int ip,tar_net,tar_mask;/*ip地址*/
int ip_it[4],net_it[4],mask_it[4];
char * p;
int index,max_index,cur_bits,max_bits = 0,bit;
*n = -1;
sscanf(ip_addr,"%d.%d.%d.%d",&ip_it[0],&ip_it[1],&ip_it[2],&ip_it[3]);
ip = ((ip_it[0]<<24)+(ip_it[1]<<16)+(ip_it[2]<< 8)+ip_it[3]);
for (index = 0;net_addr_array[index][0] != '\0';index++) {
/*获取网络号和掩码*/
p = net_addr_array[index];
sscanf(p,"%d.%d.%d.%d/%d.%d.%d.%d",
&net_it[0],&net_it[1],&net_it[2],&net_it[3],
&mask_it[0],&mask_it[1],&mask_it[2],&mask_it[3]);
tar_mask = ((mask_it[0]<<24)+(mask_it[1]<<16)+(mask_it[2]<< 8)+mask_it[3]);
tar_net = ((net_it[0]<<24)+(net_it[1]<<16)+(net_it[2]<< 8)+net_it[3]);
if (((tar_mask) & (ip)) == (tar_net)) {
cur_bits = 0;
/*计算1的个数*/
for (bit = 0;bit < sizeof(tar_mask) * 8;bit++) {
cur_bits += tar_mask&1;
tar_mask >>= 1;
}
if (cur_bits > max_bits) {
max_bits = cur_bits;
max_index = index;
}
}
}
if (max_bits != 0) {
*n = max_index;
}
}
int main()
{
int i, n,arrayOut[100] = {0};
char *strIn = "ab00cd+123fght456-25 3.005fgh";
char *ip_addr = "192.168.1.100 ";
char *net_addr_array[1024] = {
"192.168.1.128/255.255.255.192",
"192.168.1.0/255.255.255.0",
"192.168.1.64/255.255.255.192",
"0.0.0.0/0.0.0.0",
""
};
take_num(strIn,&n,arrayOut);
printf("<1>:input:%s\noutput: [%d]\n",strIn,n);
for (i = 0;i < n;i++) {
printf("%d\n",arrayOut[i]);
}
max_prefix_match(ip_addr,net_addr_array,&n);
if (n != -1) {
printf("<2>max:[%d] %s",n,net_addr_array[n]);
}
return 0;
}
G. 华为面试c语言一般都是哪些方面
具体看你的职位了
不同职位 面试C语言上 肯定不一样。
如果是做上层的 那么 QT MFC 或者C++相关的 问的会多一些
如果是做底层的 那么与硬件相关的 会问的多
不管什么职位,数据结构 基本算法什么的 必须有
难易程度 一样是根据职位来的。
H. 华为招不招聘C/C++程序员
招,华为招的就是C/C++的程序员,具体就是CC++的编程呗,主要是为自己的硬件设备写一些程序,部门不同,方向不同,偏通信,网络方向。
I. 华为面试c语言一般都是哪些方面
你可以去这里看看http://www.diybl.com/course/3_program/c/c_js/200832/102358.html
很不错的 或许对你有帮助哦!
在华为工作压力可不小哦!