




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
華為筆試題(答案)華為筆試題(答案)華為筆試題(答案)資料僅供參考文件編號:2022年4月華為筆試題(答案)版本號:A修改號:1頁次:1.0審核:批準:發布日期:筆試題選擇題1、以下程序的輸出結果是:#include<>
int
main()
{
int
n
=
4;
while
(n--)
{
printf("%d",
--n);
}
printf("\r\n");
return
0;}答案:202、設有以下宏定義:#defineN4
#defineY(n)((N+1)*n)則執行語句:Y(5+1)為:答案:263、enum
ENUM_A
{
x1,
y1,
z1
=
5,
a1,
b1
};
enum
ENUM_A
enumA
=
y1;
enum
ENUM_A
enumB
=
b1;請問enumA和enumB的值是多少?答案:1,74、若有函數max(a,b),并且函數指針變量p已經指向函數,當調用該函數時正確的調用方法是:答案:(*p)(a,b)或者p(a,b)5、對棧S進行下列操作:push(1),push(5),pop(),push(2),pop(),pop(),則此時棧頂元素是:答案:沒有元素,棧空。6、在一個32位的操作系統中,設void*p=malloc(100),請問sizeof(p)的結果是:答案:32位操作系統的尋址大小是32位,即4字節。7、若已定義:inta[9],*p=a;并在以后的語句中未改變p的值,不能表示a[1]地址的表達式是:A)p+1B)a+1C)a++D)++p答案:C8、設有如下定義:unsigned
long
pulArray[]
=
{6,7,8,9,10};
unsigned
long
*pulPtr;則下列程序段的輸出結果是什么?pulPtr
=
pulArray;
*(pulPtr
+
2)
+=
2;
printf("%d,%d\r\n",
*pulPtr,
*(pulPtr
+
2));A)8,10B)6,8C)7,9D)6,10答案:D9、以下程序運行后,輸出結果是什么?
void
main()
{
char
*szStr
=
"abcde";
szStr
+=
2;
printf("%1u\r\n",
szStr);
return;}A)cdeB)字符c的ASCII碼值C)字符c的地址D)出錯答案:C10、給出以下定義:char
X[]
=
"hello";
char
Y[]
=
{'h',
'e',
'l',
'l',
'o'};則正確的敘述為:A)數組X和數組Y等價B)數組X和數組Y的長度相同C)數組X的長度大于數組Y的長度D)數組X的長度小于數組Y的長度答案:C11、在32位X86下,有下列程序#include<>
void
main()
{
union
{
int
k;
char
i[2];
}
*s,
a;
s
=
&a;
s->i[0]
=
0x39;
s->i[1]
=
0x38;
printf("%x\r\n",
;}輸出結果是:A)3839B)3938C)380039D)不可預知答案:A12、有如下函數定義:unsigned
long
MyFunc(unsigned
long
ulKey)
{
return
(((ulKey
&
0x000000ffUL)
<<
24)|
((ulKey
&
0x0000ff00UL)
<<
8)
|
((ulKey
&
0x00ff0000UL)
>>
8)
|
((ulKey
&
0xff000000UL)
>>
24));}則MyFunc(0x)的返回值是:A)0xB)0xC)0xD)0x答案:C13、((a>b)a:b)代表什么含義:A)代表a,b之中較小的那個值B)代表a,b之中較大的那個值C)代表a是否比b大D)語法錯誤答案:B14、某系統總線的一個總線周期包含3個時鐘周期,每個總線周期可以傳送32位數據。若總線的時鐘頻率為33MHz,則總線帶寬為多少MB/s33*10(6)*32/8*10(6)*3A)11B)22C)33D)44答案:D15、如下定義,則s在內存中占多大空間?
union
{
struct
{
unsigned
char
aa:4;
unsigned
char
ab:4;
}
a;
unsigned
char
c;
unsigned
char
d;}
s;A)1byteB)2byteC)3byteD)4byte答案:A16、如下定義:union
tagAAAA
{
struct
{
char
ucFirst;
short
usSecond;
char
ucThird;
}half_a;
long
lI;}number;在按1字節對齊情況下,sizeof(uniontagAAAA)的大小是:在按4字節對齊情況下,sizeof(uniontagAAAA)的大小是:A)4byteB)6byteC)8byteD)12byte答案:A,C17、0x在采用BigEndian中內存的排列順序是,在采用LittleEndian內存中的排列順序是。(答案從左到右內存地址依次增加)A)12345678B)34127856C)78563412D)56781234答案:A,D18、關于靜態變量,下面說法“不正確”的有:A)靜態變量在堆棧中分配B)靜態變量的作用域一定是局部的,例如在一個文件內或一個函數內C)靜態變量可分為靜態局變量和靜態全局部變量D)靜態變量存在于數據段中答案:B19、下面正確的有A)在中斷中,不能同步獲取信號量,但是可以釋放信號量B)在中斷中,可以使用系統調用sleep函數來等待一會兒C)每一個進程有自己的獨立地址空間,每一個線程程序也有自己的獨立地址空間D)CPU占用率為60%,意思是CPU有60%的時間在運行指令40%的時間沒有運行指令答案:B20、設有如下定義:int(*ptr)();則以下敘述中正確的是:A)ptr是指向一維數組的指針變量B)ptr是指向int型數據的指針變量C)ptr是指向函數的指針,該函數返回一個int型數據D)ptr是一個函數名,該函數的返回值是指向int型數據的指針答案:C21、在Windows95環境下,定義數組:int**a[2][4];則數組a所占用的內存單元為:A)8字節B)32字節C)64字節D)不確定答案:B22、有國際標準化組織(ISO)和國際電信聯盟(ITU-T)共同提出的開放系統互聯(OSI)參考模型中共有層,參考模型的最高層則為層。A)4B)7C)應用D)會話答案:B,C23、關于以太網中的ARP協議,描述錯誤的是:A)根據IP地址查詢其對應的MAC地址B)根據MAC地址查詢其對應的IP地址,便于IP通信C)通過ARP協議產生的IP和MAC地址的映射,超時會淘汰D)ARP請求中的MAC地址為廣播地址答案:B24、關于TCP、UDP及其上層的應用,描述錯誤的是:A)TCP協議面向連接的,UDP協議是面向無連接的B)UDP不保證數據的可靠傳送,而文件的傳遞時要求必須無錯傳送的,因而所有基于文件傳遞的應用都不能基于UDP,如:TFTPC)telnet是基于TCP的終端應用,連續輸入的多個字符可能會被封裝到一個TCP包中D)在同一個節點上,基于TCP和UDP的應用端口號可以重疊答案:B改錯題1、請指出下面程序的錯誤unsigned
char
i
=
10;
char
b
=
100;
char
*p
void
f(void)
{
while(--i
>=
0)
{
*(p++)
=
b;
}}參考答案: (1)p沒有分配空間 (2)i是無符號型,自減操作會引發死循環2、下面函數要實現打印helloworld的功能,請問程序中有何錯誤?void*
GetMemory()
{
char
str[]
=
"helloworld";
return
str;
}
void
Test()
{
char
*str
=
NULL;
str
=
(char*)
GetMemory();
printf(str);}參考答案: (1)GetMemory函數返回的地址內容已經被釋放。 (2)str是指針,printf(str)打印的是地址,正確的是printf(*str)3、請問如下代碼有什么錯誤?#defineMAX_SIZE1000
#defineNULL0
#defineTRUE1
#defineFALSE0
struct
XXX
{
unsigned
short
a;
unsigned
short
b;
};
int
demo(struct
XXX
*p,
unsigned
long
size)
{
struct
XXX
*temp;
temp=(struct
XXX*)malloc(sizeof(struct
XXX)*MAX_SIZE);
if
(NULL
==
temp)
{
return
FALSE;
}
memcpy(temp,
p,
sizeof(struct
XXX)*size);
/*其他操作*/
free
(temp);
return
TRUE;}參考答案: (1)size可能大于MAX_SIZE,缺少安全檢查 (2)p指針未作安全檢查4、如下程序用于把“blue”字符串返回,請指出其中的錯誤。char
*GetBlue()
{
char*
pcColor;
char*
pcNewColor;
pcColor
=
"blue";
pcNewColor
=
(char*)malloc(strlen(pColor));
strcpy(pcNewColor,
pcColor);
return
pcNewColor;}參考答案: (1)pcColor沒有結束符,導致strcpy錯誤 (2)pcNewColor分配的長度應該再加1,用來放結束符’\0’5、請問如下程序段有什么錯誤?main()
{
unsigned
long
i
=
0,
*p,
*p1;
p
=
(unsigned
long
*)malloc(10000);
p1
=
p;
for(i
=
0;
i
<
9999;
i++)
{
*p1
=
0x100;
p1++;
}
/*其他操作*/
free(p);}參考答案: (我找不到明顯錯誤,要么是main函數沒有指定返回值類型?)編程題對稱數判斷問題請編寫一段程序,判斷一個正整數是否為對稱數(對稱數即左右對稱的數字,如3、22、121、1331、34543等),不允許利用C語言將數字轉換為字符轉的庫函數。參考答案:bool
judgeNumberSymmetry(unsigned
long
ulNumber)
{
unsigned
long
ulTemp
=
ulNumber;/*srccopy*/
unsigned
long
ulResult
=
0;
int
iMod
=
0;
while
(ulTemp)
{
iMod
=
ulTemp
%
10;
ulResult
=
ulResult
*
10
+
iMod;
ulTemp
/=
10;
}
if
(ulNumber
==
ulResult)
{
return
true;
}
else
{
return
false;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水利實務試題及答案
- 白庇中醫護理方案
- 喉罩的護理措施
- IT培訓咨詢師年中分享
- 2025年 東營市中醫院招聘考試試卷附答案
- 2025年中國噴霧曬黑機行業市場全景分析及前景機遇研判報告
- 銷售員工衛生培訓
- 信息技術培訓小結
- 教師安全培訓會
- 現代心血管病護理
- 天津大洋寧夏隆德萬頭高端肉牛全產業鏈建設項目環境影響報告書
- 壯醫藥水蛭療法
- 中藥熏蒸的護理
- 中職學校計算機基礎知識復習考試題庫(附答案)
- 拼多多第三方誘導承諾書
- 不良資產項目律師法律盡調報告(模板)
- 水龍頭知識培訓課件
- 醫療設備技術參數需求表
- 0-3歲嬰幼兒護理與急救-嬰幼兒意外傷害急救
- 工貿企業重大事故隱患判定標準培訓PPT
- 從deepfakes深度偽造技術看AI安全
評論
0/150
提交評論