关键词不能为空

当前您在: 主页 > 英语 >

华为笔试题--done

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-07 12:52
tags:

-

2021年2月7日发(作者:otherwise)


试题



选择题



1


、以下程序的输出结果是:


2 0


rn



正确值


2 0 r


转义符:回车,


n


转义符:


换行



#include <>



int main()



{



int n = 4;



while (n--)



{



printf(



}



printf(



return 0;



}




2


、设有以下宏定义:




#define N 4



#define Y(n) ((N+1)*n)


< p>
则执行语句:


Y(5+1)


为:

< br> 26



3




enum ENUM_A



{



x1,



y1,



z1 = 5,



如果


#define Y(n) ((N+1)*(n))



Y(5+1)



30



a1,



b1



};



enum ENUM_A enumA = y1;



enum ENUM_A enumB = b1;



请问


enu mA



enumB


的值是多少


1 7


x1=0,y1=1,a1=6,b1=7




4


、若有函数


max(a,b)


,并且函数指针变量


p


已经指向函数,当调用该函数时正确的 调用方


法是:


(*p)(,)




5


、对栈


S


进行下列操作:


push(1), push(5), pop(), push(2), pop(), pop(),


则此时栈


顶元素是:



NULL




6


、在一个


32


位的操作系统中,设< /p>


void *p = malloc



1 00



,请问


sizeof

< p>


p


)的结果是:


4




7


、若已定义


: int a[9], *p = a;


并在以后的语句中未改变


p

的值,不能表示


a[1]


地址的


表 达式是:


C


a


的值不能改变



A



p+1 B)a+1 C) a++ D) ++p




8


、设有如下定义:




unsigned long plArray[] = {6,7,8,9,10};



unsigned long *pulPtr;



则下列程序段的输出结果是什么


D



pulPtr = plArray;



*(pulPtr + 2) += 2;



printf(



A) 8, 10 B) 6, 8 C) 7, 9 D) 6, 10




9


、以下程序运行后,输出结果是什么


C



void main()



{



char *szStr =



szStr += 2;



printf(



return;



}



A) cde B)


字符


c



ASCI I


码值


C)


字符


c


的地址


D)


出错




10


、给出以下定义:




char X[] =


0



char Y[] = {'h', 'e', 'l', 'l', 'o'};



则正确的叙述为:


C



A




数组< /p>


X


和数组


Y


等价


B)


数组

< br>X


和数组


Y


的长度相同



C)


数组


X


的长度大于数组


Y


的长度

< br> D)


数组


X


的长度 小于数组


Y


的长度




11


、在


3 2



X86


下,有下列程序

< p>


#include <>



void main()



{



union



{



int k;



char i[2];



} *s, a;



s = &a;



s->i[0] = 0x39;



s->i[1] = 0x38;



printf(



}



输出结果是:


B


编译后的结果为


CCCC3839,


答案


A



A) 3839 B) 3938 C) 380039 D)


不可预知




12


、有如下函数定义:



unsigned long MyFunc(unsigned long ulKey)



{



return (((ulKey & 0x000000ffUL) << 24) |



((ulKey & 0x0000ff00UL) << 8) |



((ulKey & 0x00ff0000UL) >> 8) |



((ulKey & 0xff000000UL) >> 24));



}



MyFunc(0x)


的返回值是:

C



A) 0x B) 0x C) 0x D) 0x




1 3




(a>b)a:b


)代表什么含义:


b



A)


代表


a,b


之中较小的那个值



B)


代表


a,b< /p>


之中较大的那个值



C)


代表


a


是否比


b

< p>



D)


语法错误




14


、某系统总线的一个总线周期包含


3


个时钟周期,每个总线周期可以传送


32


位数据。若


总线的时钟频率为


33MHz




则总线带宽为多少


MB/s B



A



11 B) 22 C) 33 D) 44



总线数据传输率


=


时钟频率


/


每个总线包含的时钟周期数


*


每个总线 周期传送的字节数


,


33MHZ/3*(32/8)=44M B/S,


答案为


D




15


、如下定义,则


s


在内存中占多大空间


A



union



{



struct



{



unsigned char aa:4;



unsigned char ab:4;



} a;



unsigned char c;



unsigned char d;



} s;



A) 1 byte B) 2byte C) 3byte D) 4byte




16


、如下定义:




union tagAAAA



{



struct



{



char ucFirst;



short usSecond;



char ucThird;



}half_a;



long lI;



}number;



在按


1


字节对齐情况下,


sizeof(union tagAAAA)


的大小是:



A


在按


4


字节对齐情况下,< /p>


sizeof(union


tagAAAA)


的大小是:


D


sizeof(a)



8byte ,




C



A) 4byte B) 6byte C) 8byte D) 12byte




17



0x


在采用


BigE ndian


中内存的排列顺序是


A

< p>
,在采用


LittleEndian


内存中的


排列顺序是


C



(答案从左到右内存地址依次增加)



A) 12 34 56 78 B) 34 12 78 56 C) 78 56 34 12 D) 56 78 12 34




大端系统和小端系统




18


、关于静态变量,下面说法“不 正确”的有:


A



A)


静态变量在堆栈中分配



B)


静态变量的作用域一定是局部的,例如在一个文件内或一 个函数内



C)


静态变量可分为静态局变量和静态全局部变量



D)


静态变量存在于数据段中



静态全局变量是位于数据段并且在程序开始运行的时候被加。



程序的动态的局部变量则分配在堆栈里面。




19


、下面正确的有


A



A)


在中断中,不能同步获取信号量,但是可以释放信号量



B)


在中断中,可以使用系统调用


s leep


函数来等待一会儿



C) < /p>


每一个进程有自己的独立地址空间,每一个线程程序也有自己的独立地址空间


(共享进


程空间)



D) CPU


占用率为


60%




意思是


CPU



60%


的时间在运行指令


40%


的时间没有运行指令




20


、设有如下定义:


int (*ptr)()


;则以下叙述中正确的是:


C



A) ptr


是指向一维数组的指针变量



B) p tr


是指向


int


型数据的指针变量< /p>



C) ptr


是指向函数的指针,该 函数返回一个


int


型数据



D) ptr


是一个函数名,该函数的返回值是指向

< p>
int


型数据的指针




21


、在


Windows95


环境下,定义数组:


int


**a[2][4 ];


则数组


a


所占用的内存单元为:< /p>


D



A


8


字节


B) 32


字节


C) 64


字节


D


)不确定



数组

a


中元素为


8


个指针,一个指针为


4


个字节,


8*4=32


字节,答案为


B




22


、有国际标准化组织(


ISO

< p>
)和国际电信联盟(


ITU-T


)共同提出的开放 系统互联(


OSI



参考模型中共有< /p>


B


层,参考模型的最高层则为


C


层。



A) 4 B



7 C


)应用


D)


会话




23


、关于以太网中的


ARP


协议,描 述错误的是:


A



A)


根据


IP


地址查询其对应的

< p>
MAC


地址



B)


根据


MAC


地址查询其对应的


IP


地址,便于


IP


通信< /p>



C)


通过


A RP


协议产生的


IP



MAC


地址的映射,超时会淘汰



D) ARP


请求中的


MAC


地址为广播地址




2 4


、关于


TCP


UDP


及其上层的应用,描述错误的是:


B



A



TCP


协议面向连接的,


UDP


协议是面向无 连接的



B) UDP


不保证数据的可 靠传送,而文件的传递时要求必须无错传送的,因而所有基于文件


传递的应用都不能基于


UDP


,如:


TFTP



C) telnet


是基于


TCP


的终端应用,连续输入的多个字符可能会被封装到一个


T CP


包中



D)

在同一个节点上,基于


TCP



U DP


的应用端口号可以重叠




改错题



1


、请指出下面程序的错误



unsigned char i = 10;



char b = 100;



char *p;



void f(void)



{



while(--i >= 0)



{



*(p++) = b;



}



}



while


中,比较结果永远为真,死循环



定义

< br>p


为野指针





2


、下面函数要实现打印


hello world


的功能,请问程序中有何错误




void* GetMemory()



{



char str[] =



return str;



}



void Test()



{



char *str = NULL;



str = (char*) GetMemory();



printf(str);



}



GetMemory


中返回局部的地址





3


、请问如下代码有什么错误



#define MAX_SIZE 1000



#define NULL 0



#define TRUE 1



#define FALSE 0



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;



}



Demo




4


、如下程序用于把“


blue


”字符串返回,请指出其中的错误。



char *GetBlue()



{



char* pcColor;



char* pcNewColor;








pcColor =



pcNewColor = (char*)malloc(strlen(pcColor));



strcpy(pcNewColor, pcColor);








return pcNewColor;



}



晕,编译能通过,没找到错的地方 !






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);



}



p1


越界访问




编程题



1




对称数判断问题



请编写一段程序,< /p>


判断一个正整数是否为对称数


(对称数即左右对称的数字,



3



22



121


-


-


-


-


-


-


-


-



本文更新与2021-02-07 12:52,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/608375.html

华为笔试题--done的相关文章