華為c語(yǔ)言筆試
C語(yǔ)言是一門面向過(guò)程的、抽象化的通用程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于底層開(kāi)發(fā)。C語(yǔ)言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。C語(yǔ)言是僅產(chǎn)生少量的機(jī)器語(yǔ)言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語(yǔ)言。盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫(xiě)出的C語(yǔ)言程序可在包括類似嵌入式處理器以及超級(jí)計(jì)算機(jī)等作業(yè)平臺(tái)的許多計(jì)算機(jī)平臺(tái)上進(jìn)行編譯。
華為C語(yǔ)言筆試題
一、判斷題(對(duì)的.寫(xiě)t,錯(cuò)的寫(xiě)f并說(shuō)明原因,每小題4分,共20分)
1、有數(shù)組定義int a[2][2]={{1},{2,3}};則a[0][1]的值為0。( )
2、int (*ptr) (),則ptr是一維數(shù)組的名字。( )
3、指針在任何情況下都可進(jìn)行>, <, >=, <=, = =運(yùn)算。( )
4、switch(c) 語(yǔ)句中c可以是int, long, char, float, unsigned int 類型。( )
5、#define print(x) printf("the no, "#x",is ")
二、填空題(共30分)
1、在windows下,寫(xiě)出運(yùn)行結(jié)果,每空2分,共10分。
char str[ ]= "hello";
char *p=str;
int n=10;
sizeof(str)=( )
sizeof(p)=( )
sizeof(n)=( )
void func(char str[100])
{ }
sizeof(str)=( )
2、void setmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(void)
{ char *str=null;
getmemory(str,100);
華為筆試題(C語(yǔ)言)
一、判斷題(對(duì)的`寫(xiě)T,錯(cuò)的寫(xiě)F并說(shuō)明原因,每小題4分,共20分)
1、有數(shù)組定義int a[2][2]={{1},{2,3}};則a[0][1]的值為0。( )
2、int (*ptr) (),則ptr是一維數(shù)組的名字。( )
3、指針在任何情況下都可進(jìn)行>, <, >=, <=, = =運(yùn)算。( )
4、switch(c) 語(yǔ)句中c可以是int, long, char, float, unsigned int 類型。( )
5、#define print(x) printf("the no, "#x",is ")
二、填空題(共30分)
1、在windows下,寫(xiě)出運(yùn)行結(jié)果,每空2分,共10分。
char str[ ]= "Hello";
char *p=str;
int n=10;
sizeof(str)=( )
sizeof(p)=( )
sizeof(n)=( )
void func(char str[100])
{ }
sizeof(str)=( )
2、void setmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(void)
{ char *str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
printf(str);
}
運(yùn)行test函數(shù)有什么結(jié)果?( )10分
華為C語(yǔ)言筆試題目分享
華為C語(yǔ)言筆試題目分享:
一、判斷
1、有數(shù)組定義inta[2][2]={{1},{2,3}};則a[0][1]的值為0。()
2、int(*ptr)(),則ptr是一維數(shù)組的名字。()
3、指針在任何情況下都可進(jìn)行>,<,>=,<=,==運(yùn)算。()< p="">
4、switch(c)語(yǔ)句中c可以是int,long,char,float,unsignedint類型。()
5、#defineprint(x)printf("theno,"#x",is")
二、填空
1、在windows下,寫(xiě)出運(yùn)行結(jié)果,每空2分,共10分。
charstr[]="Hello";
char*p=str;
intn=10;
sizeof(str)=()
sizeof(p)=()
sizeof(n)=()
voidfunc(charstr[100])
{}
sizeof(str)=()
2、voidsetmemory(char**p,intnum)
{*p=(char*)malloc(num);}
voidtest(void)
{char*str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
printf(str);
}
運(yùn)行
test函數(shù)有什么結(jié)果?()
華為筆試題及分析目(C語(yǔ)言篇)
華為筆試題及分析目(C語(yǔ)言篇)
一、判斷題(對(duì)的寫(xiě)T,錯(cuò)的'寫(xiě)F并說(shuō)明原因,每小題4分,共20分)
1、有數(shù)組定義int a[2][2]={{1},{2,3}};則a[0][1]的值為0。( )
2、int (*ptr) (),則ptr是一維數(shù)組的名字。( )
3、指針在任何情況下都可進(jìn)行>, <, >=, <=, = =運(yùn)算。( )
4、switch(c) 語(yǔ)句中c可以是int, long, char, float, unsigned int 類型。( )
5、#define print(x) printf("the no, "#x",is ")
二、填空題(共30分)
1、在windows下,寫(xiě)出運(yùn)行結(jié)果,每空2分,共10分。
char str[ ]= "Hello";
char *p=str;
int n=10;
sizeof(str)=( )
sizeof(p)=( )
sizeof(n)=( )
void func(char str[100])
{ }
sizeof(str)=( )
2、void setmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(void)
{ char *str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
printf(str);
}
運(yùn)行test函數(shù)有什么結(jié)果?( )10分
華為的最近的C語(yǔ)言筆試題
一、判斷題(對(duì)的寫(xiě)T,錯(cuò)的.寫(xiě)F并說(shuō)明原因,每小題4分,共20分)
1、有數(shù)組定義int a[2][2]={{1},{2,3}};則a[0][1]的值為0。( )
2、int (*ptr) (),則ptr是一維數(shù)組的名字。( )
3、指針在任何情況下都可進(jìn)行>, <, >=, <=, = =運(yùn)算。( )
4、switch(c) 語(yǔ)句中c可以是int, long, char, float, unsigned int 類型。( )
5、#define print(x) printf("the no, "#x",is ")
二、填空題(共30分)
1、在windows下,寫(xiě)出運(yùn)行結(jié)果,每空2分,共10分。
char str[ ]= "Hello";
char *p=str;
int n=10;
sizeof(str)=( )
sizeof(p)=( )
sizeof(n)=( )
void func(char str[100])
{ }
sizeof(str)=( )
2、void setmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(void)
{ char *str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
printf(str);
2012年華為C語(yǔ)言筆試題
各位朋友們,如果想要知道2012年華為C語(yǔ)言主要考查的,那么,敬請(qǐng)關(guān)注下文:
一、判斷題(對(duì)的寫(xiě)T,錯(cuò)的'寫(xiě)F并說(shuō)明原因,每小題4分,共20分)
1、有數(shù)組定義inta[2][2]={{1},{2,3}};則a[0][1]的值為0。()
2、int(*ptr)(),則ptr是一維數(shù)組的名字。()
3、指針在任何情況下都可進(jìn)行>,<,>=,<=,==運(yùn)算。()
4、switch(c)語(yǔ)句中c可以是int,long,char,float,unsignedint類型。()
5、#defineprint(x)printf("theno,"#x",is")
二、填空題(共30分)
1、在windows下,寫(xiě)出運(yùn)行結(jié)果,每空2分,共10分。
charstr[]="Hello";
char*p=str;
intn=10;
sizeof(str)=()
sizeof(p)=()
sizeof(n)=()
voidfunc(charstr[100])
{}
sizeof(str)=()
2、voidsetmemory(char**p,intnum)
{*p=(char*)malloc(num);}
voidtest(void)
{char*str=NULL;
getmemory(&str,100);
華為最新C語(yǔ)言筆試題目
一、判斷
1、有數(shù)組定義inta[2][2]={{1},{2,3}};則a[0][1]的值為0。()
2、int(*ptr)(),則ptr是一維數(shù)組的名字。()
3、指針在任何情況下都可進(jìn)行>,<,>=,<=,==運(yùn)算。()
4、switch(c)語(yǔ)句中c可以是int,long,char,float,unsignedint類型。()
5、#defineprint(x)printf("theno,"#x",is")
二、填空
1、在windows下,寫(xiě)出運(yùn)行結(jié)果,每空2分,共10分。
charstr[]="Hello";
char*p=str;
intn=10;
sizeof(str)=()
sizeof(p)=()
sizeof(n)=()
voidfunc(charstr[100])
{}
sizeof(str)=()
2、voidsetmemory(char**p,intnum)
{*p=(char*)malloc(num);}
voidtest(void)
{char*str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
printf(str);
}
運(yùn)行
test函數(shù)有什么結(jié)果?()
華為C語(yǔ)言類筆試題目
一、判斷題(對(duì)的寫(xiě)T,錯(cuò)的`寫(xiě)F并說(shuō)明原因,每小題4分,共20分)
1、有數(shù)組定義inta[2][2]={{1},{2,3}};則a[0][1]的值為0。()
2、int(*ptr)(),則ptr是一維數(shù)組的名字。()
3、指針在任何情況下都可進(jìn)行>,<,>=,<=,==運(yùn)算。()
4、switch(c)語(yǔ)句中c可以是int,long,char,float,unsignedint類型。()
5、#defineprint(x)printf("theno,"#x",is")
二、填空題(共30分)
1、在windows下,寫(xiě)出運(yùn)行結(jié)果,每空2分,共10分。
charstr[]="Hello";
char*p=str;
intn=10;
sizeof(str)=()
sizeof(p)=()
sizeof(n)=()
voidfunc(charstr[100])
{}
sizeof(str)=()
2、voidsetmemory(char**p,intnum)
{*p=(char*)malloc(num);}
voidtest(void)
{char*str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
華為c語(yǔ)言筆試面試題題庫(kù)
你知道什么是華為認(rèn)證嗎?華為認(rèn)證涉及到什么程序語(yǔ)言呢?下面yjbys小編就為大家揭曉關(guān)于華為認(rèn)證的筆試面試題庫(kù)及答案,希望對(duì)大家有所幫助!
1、局部變量能否和全局變量重名
答:能,局部會(huì)屏蔽全局。要用全局變量,需要使用"::"
局部變量可以與全局變量同名,在函數(shù)內(nèi)引用這個(gè)變量時(shí),會(huì)用到同名的局部變量,而不會(huì)用到全局變量。對(duì)于有些編譯器而言,在同一個(gè)函數(shù)內(nèi)可以定義多個(gè)同名的局部變量,比如在兩個(gè)循環(huán)體內(nèi)都定義一個(gè)同名的局部變量,而那個(gè)局部變量的作用域就在那個(gè)循環(huán)體內(nèi)。
2、如何引用一個(gè)已經(jīng)定義過(guò)的全局變量
答:extern
可以用引用頭文件的方式,也可以用extern關(guān)鍵字,如果用引用頭文件方式來(lái)引用某個(gè)在頭文件中聲明的全局變理,假定你將那個(gè)變寫(xiě)錯(cuò)了,那么在編譯期間會(huì)報(bào)錯(cuò),如果你用extern方式引用時(shí),假定你犯了同樣的錯(cuò)誤,那么在編譯期間不會(huì)報(bào)錯(cuò),而在連接期間報(bào)錯(cuò)。
3、全局變量可不可以定義在可被多個(gè).C文件包含的頭文件中 為什么
答:可以,在不同的C文件中以static形式來(lái)聲明同名全局變量。
可以在不同的C文件中聲明同名的全局變量,前提是其中只能有一個(gè)C文件中對(duì)此變量賦初值,此時(shí)連接不會(huì)出錯(cuò)
4、語(yǔ)句for( ;1 ;)有什么問(wèn)題 它是什么意思
答:和while(1)相同。
5、do……while和while……do有什么區(qū)別
華為招聘-C語(yǔ)言筆試試題
一、判斷題(對(duì)的寫(xiě)T,錯(cuò)的寫(xiě)F并說(shuō)明原因,每小題4分,共20分)
1、有數(shù)組定義int a[2][2]={{1},{2,3}};則a[0][1]的值為0。( )
2、int (*ptr) (),則ptr是一維數(shù)組的'名字。( )
3、指針在任何情況下都可進(jìn)行>,<,>=,<=,==運(yùn)算。( )
4、switch(c) 語(yǔ)句中c可以是int ,long,char ,float ,unsigned int 類型。( )
5、#define print(x) printf("the no, "#x",is ")
二、填空題(共30分)
1、在windows下,寫(xiě)出運(yùn)行結(jié)果,每空2分,共10分。
char str[ ]= "Hello";
char *p=str;
int n=10;
sizeof(str)=( )
sizeof(p)=( )
sizeof(n)=( )
void func(char str[100])
{ }
sizeof(str)=( )
2、void setmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(void)
{ char *str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
printf(str);
}
運(yùn)行test函數(shù)有什么結(jié)果?( )10分
3、設(shè)int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
( ) 10分
二、編程題(第一小題20,第二小題30分)
1、 不使用庫(kù)函數(shù),編寫(xiě)函數(shù)int strcmp(char *source, char *dest)
相等返回0,不等返回-1;
2、 寫(xiě)一函數(shù)int fun(char *p)判斷一字符串是否為回文,是返回1,不是返回0,出錯(cuò)返回-1
五、 閱讀程序題(每個(gè)小題5分,共20分)
1.閱讀以下程序,概括地寫(xiě)出程序的功能。
#i nclude
double Exp(double x)
{ double sum=1.0;
double term=x;
double i=1 ;
while (term>=1.0E-8)
{ sum+=term ;
i++;
term=term*x/i ;
}
return sum ;
}
void main()
{ double s;
s=Exp(1.0)+Exp(2.0);
cout.precision(8);
cout<<"s="<<
}
2. 閱讀程序,寫(xiě)出程序執(zhí)行時(shí)輸出結(jié)果。
#i nclude
const int SIZE=10;
class stack
{ char stck[SIZE];
int top;
public:
void init();
void push(char ch);
char pop();
};
void stack::init()
{ top=0; }
void stack::push(char ch)
{ if(top==SIZE)
{ cout<<"Stack is full.\n";
return ;
}
stck[top++]=ch;
}
char stack::pop()
{ if(top==0)
{ cout<<"Stack is empty.\n";
return 0;
}
return stck[--top];
}
void main()
{ stack s1, s2;
s1.init();
s2.init();
s1.push('a');
s1.push('b');
s1.push('c');
s2.push('x');
s2.push('y');
s2.push('z');
for(int i=0; i<3; i++)
cout<<"Pop s1:"<<
for(i=0; i<3; i++)
cout<<"Pop s2:"<<
}
程序結(jié)果:
3.閱讀程序,寫(xiě)出程序運(yùn)行時(shí)輸出結(jié)果。
#i nclude
class Tdate
{ public:
Tdate();
Tdate(int d);
Tdate(int m, int d);
Tdate(int m, int d, int y);
protected:
int month;
int day;
int year;
};
Tdate::Tdate()
{ month=4;
day=15;
year=1995;
cout<<<"/" <<<"/" <<
}
Tdate::Tdate(int d)
{ month=4;
day=d;
year=1996;
cout<<<"/" <<<"/" <<
}
Tdate::Tdate(int m, int d)
{ month=m;
day=d;
year=1997;
cout<<<"/" <<<"/" <<
}
Tdate::Tdate(int m, int d, int y)
{ month=m;
day=d;
year=y;
cout<<<"/" <<<"/" <<
}
void main()
{ Tdate aday;
Tdate bday(10);
Tdate cday(2,12);
Tdate dday(1,2,1998);
}
運(yùn)行結(jié)果:
4.閱讀程序,寫(xiě)出程序運(yùn)行時(shí)輸出結(jié)果。
#i nclude
#i nclude
class shape
{ public:
shape(double x, double y):xCoord(x), yCoord(y){}
virtual double Area()const {return 0.0; }
protected:
double xCoord, yCoord;
};
class AA :public shape
{ public:
AA(double x, double y, double r): shape(x,y), rad(r){}
virtual double Area()const { return 3.0 * rad * rad; }
protected:
double rad;
};
class BB :public shape
{ public:
BB(double x1, double y1, double x2, double y2)
:shape(x1, y1), x2Coord(x2), y2Coord(y2){ }
virtual double Area()const;
protected:
double x2Coord, y2Coord;
};
double BB:Area()const
{ return fabs((xCoord-x2Coord)* (yCoord - y2Coord));
//庫(kù)函數(shù)fabs(double t)求得t的絕對(duì)值
}
void fun(const shape& sp)
{ cout<<
}
void main()
{ AA aa(2.0, 5.0, 4.0);
fun(aa);
BB bb(2.0, 8.0, 12.0, 17.0);
fun(bb);
}
運(yùn)行結(jié)果:
六、 編寫(xiě)程序題(每小題10分,共20分)
1.編寫(xiě)一個(gè)函數(shù)int Judge(int *pArray, int n),判斷一個(gè)n×n二維整數(shù)數(shù)組pArray 是否為“魔方陣”,若是返回1,否則返回0。所謂魔方陣就是將1到n2的各個(gè)數(shù)字組成的方陣,它的每一行、每一列以及兩個(gè)對(duì)角線上數(shù)字之和均相等。例如,3×3的中,A是魔方陣,而B(niǎo)不是魔方陣。然后在主程序中調(diào)用Judge函數(shù)判斷數(shù)組A是否為魔方陣。
參考程序
#i nclude
int Judge(int *pArray, int n)
{ int s1, s2, s3,s4,sum=0;
int *p=pArray;
for(int i=1; i<= n*n; i++)
{ int Found=0; //為0,不在方陣中;
for(int j=0; j
if(p[j]==i)
{ Found=1; //為1,在方陣中
break;
}
if(Found==0) return 0; // 值為 i 的元素不在數(shù)組中,顯然不是魔方陣
}
for( i=1; i<=n*n; i++)
sum=sum+i;
sum=sum / n; // 各行、各列、對(duì)角線元素應(yīng)當(dāng)?shù)玫降暮?
s3=0;
s4=0;
for( i=0; i
{ s1=0, s2=0;
p=pArray;
for(int j=0; j
{ s1=s1+p[i*n+j]; //第i行的元素和
s2=s2+p[j*n+i]; //第i列的元素和
}
if ( s1!=sum)
return 0;
if ( s2!=sum)
return 0;
s3=s3+pArray[i*n+i]; // 對(duì)角線一元素和
s4=s4+pArray[i*n+(n-1-i)]; // 對(duì)角線二元素和
}
if(s3!=sum)
return 0;
if(s4 != sum)
return 0;
return 1;
}
void main()
{ int Array[3][3]={{ 8, 1, 6},{ 3, 5, 7},{ 4, 9, 2}};
當(dāng) x 輸入值為9999時(shí),函數(shù)返回值為多少?
int fun ( unsigned int x )
{ int count = 0;
while(x)
{
x = x & (x-1);
count++;
}
return count;
}
答案:此函數(shù)是在計(jì)算 x 中含有1的個(gè)數(shù),所以返回值為8。
if(Judge((int*)Array, 3))
cout<<"Yes, it's a magic array"<
else
cout<<"No, it isn't a magic array"<
}
/*********************************
* 兩個(gè)超大數(shù)相乘算法
*********************************/
#i nclude
void main()
{
int a[30],b[30],c[60];
int i,j;
/* 給乘數(shù)和被乘數(shù)賦值,并把結(jié)果賦零 */
for (i=0;i<30;i++)
{
a[i]=i%10;
b[i]=i%10;
c[2*i]=0;
c[2*i+1]=0;
}
/* 給每位結(jié)果賦值,這里應(yīng)該考慮清楚為什么這么寫(xiě)
還有這里的位的值的最大限度應(yīng)該是-128 -- +127
所以就算是10*10也可以滿足存進(jìn)去一個(gè)char類型里 */
for(i=0;i<30;i++)
for(j=0;j<30;j++)
c[i+j]+=a[i]*b[j];
/* 這里把每個(gè)位>10的數(shù)進(jìn)位和把余數(shù)重新賦值給這一位 */
for(i=0;i<59;i++)
{
c[i+1]+=c[i]/10;
c[i]=c[i]%10;
}
/* 打印出來(lái) */
for(i=0;i<30;i++)
printf("%d",a[30-i-1]);
printf("\n");
for(i=0;i<30;i++)
printf("%d",b[30-i-1]);
printf("\n");
for(i=0;i<60;i++)
printf("%d",c[60-i-1]);
printf("\n");
}