H3C笔试题目
最近这段时间正在找工作,去H3C做了下笔试题,题目出的还不错,比一般公司水平高上一点点,偷偷弄了点回来,分享一下,我把答案和解析全部整理了出来,有需要的可以看看.
1、以下描述正确的有(AD)
A、1个字节(byte)由8个比特(bit)组成
B、signed char类型的取值范围是-127~128
C、0xFFFFFFFF是4字节无符号数中最大的
D、unsigned char类型的取值范围是0~255
解析:
signed char的取值范围是-128~127,为-(2^8)~(2^8-1);
0xFFFFFFFF是无符号整型的最大值,如果包含浮点数类型,那么他就不是最大的了。
2、以下代码的运行结果(D)
#define ADD(x, y) (x + y)
#define SUB(x, y) (x)-(y)
#define MUL(x, y) (x * y)
Unsigned int uiA
uiA = MUL(ADD(x, y), SUB(6, 3));
A、uiA=15 B、uiA=33
C、uiA=18 D、uiA=63
解析:预编译后展开的式子:uiA = ((9 + 2) * (6) - (3));
3、以下代码运行的结果(B)
代码I:
usigned int uiA;
uiA = (0x55 & 0x66) ^ (0x77 | 0x88);
代码II:
unsigned int uiB;
uiB = (0xAA << 3) | (0xBB << 2) | (0xCC << 1) | 0xDD;
A 代码I,uiA = 0xAA B 代码I,uiA = 0xBB
C 代码II,uiB=0xFFFFFFFF D 代码II,uiB=0xAABBCCDD
4、以下语句中,能够判断uiNum(unsigned int)可以被16整除的有(AC)
A if(((uiNum / 16) * 16 == uiNum)
B if((uiNum % 15) == 0)
C if((uiNum & 0x0F) == 0)
D if(((uiNum >> 5) << 5) == uiNum)
解析:B改成if((uiNum%16) == 0)
D改成if(((UiNum >> 4) << 4) == uiNum)
5、关于以下代码描述正确的有(AB)
代码I:
const char *pcStr = “abcdefg”;
daimaII:
void string_sizeof(char szStr1[10])
{
char szStr2[10] = “12345”;
printf(“%u, “, sizeof(szStr1));
printf(“%u\r\n”, sizeof(szStr2));
return;
}
代码III:
typedef unsigned int *pui_t1;
#define pui_t2 unsigned int *
pui_t1 puiA, puiB;
pui_t2 puiC, puiD;
代码IV:
unsigned int uiA = 100;
printf(“%s\r\n”, uiA);
A、代码I,const修饰符表明pcStr指向的内容不能更改;
B、代码II,程序运行结果是“4,10”;
C、代码III,puiA、puiB、puiC和puiD都是unsigned int *类型的变量;
D、代码IV,打印unsigned int时不应该使用“%s”,会导致程序访问非法地址。
解析:const char *pcStr和char * const pcStr的区别.
B中szStr1是数组名,相当于通过函数参数的形式传递了一个指针,所以是4;szStr2是局部变量数组,用sizeof相当于求数组大小所以是10.
C中使用define定义的相当于替换所以展开之后unsigned int * puiC, puiD所以很明显puiD不是unsigned int *类型
D中%s需要传递一个地址过来,二uiA是个变量值,所以会出错,如果改成&uiA就可以了.
6、关于结构和联合体的大小,以下描述正确的有(C)
struct A_S
{
unsigned short us1;
unsigned short us2;
unsigned short us3;
};
struct B_S
{
unsigned char uc1;
unsigned int ui2;
unsigned short us3;
};
union C_U
{
unsigned short us1;
unsigned short us2;
unsigned short us3;
};
union D_U
{
unsigned char uc1;
unsigned int ui2;
unsigned short us3;
};
A、结构体struct A_S的大小是2;
B、结构体struct B_S的大小是7;
C、联合体union C_U的大小是2;
D、联合体union D_U的大小是7。
解析:结构体的大小在默认情况下需要自然边界对齐。所以A_S大小是6,B_S大小12,;
联合体大小是其中类型最大的一个的大小。
7、关于链表操作以下描述正确的有(ABC)

struct SLL
{
struct SLL *pstNext; /*下一节点*/
};

struct DLL
{
struct DLL *pstNext; /*下一节点*/
struct DLL *pstPrev; /*前一节点*/
};
A、单链表,以下代码可以删除节点B:
pstA->pstNext = pstA->pstNext->pstNext;
free(pstA->pstNext);
B、单链表,以下代码可以删除节点B:
pstA->pstNext = pstB->pstNext;
free(pstB);
C、双链表,以下代码可以删除节点B:
pstB->pstPrev->pstNext = pstB->pstNext;
pstB->pstNext->pstPrev = pstB->pstPrev;
free(pstB);
D、双链表,以下代码可以删除节点B:
pstA->pstNext = pstA->pstNext->pstNext;
pstA->pstNext->pstPrev = pstA;
free(pstB);
解析:D改成:
pstA->pstNext = pstA->pstNext->pstNext;
pstA->pstNext->pstNext->pstPrev = pstA;
free(pstB);
就可以了.
8、以下代码的运行结果是(B)
代码I:
unsigned int uiCount = 0;
while(uiCount <= 5)
{
if (unCount <= 5)
continue;
++uiCount;
}
printf(“uiCount=%u\r\n”, uiCount);
代码II:
unsigned int uiCount = 0;
do
{
uiCount++;
}while(uiCount >= 5);
printf(“uiCount=%u\r\n”, uiCount);
代码III:
unsigned int uiCount = 0;
switch (unCount)
{
case 0:
uiCount = 5;
default:
uiCount = 1;
}
printf(“uiCount=%u\r\n”, uiCount);
代码IV:
unsigned int uiCount = 0;
for( ; uiCount <= 10; uiCount++)
if (uiCount == 5)
breakl
printf(“uiCount=%u\r\n”, uiCount);
A.代码I, uiCount=5
B.代码II, uiCount=1
C.代码III, uiCount=1
D.代码IV, uiCount=6
解析:代码I会陷入无限循环,continue会在uiCount<=5时跳过++uiCount,uiCount的值是0,所以没有机会++uiCount了
代码IV,uiCount=5,break之后uiCount++没有机会执行了.
H3C笔试题目的更多相关文章
- # C/C++的笔试题目
p,li { white-space: pre-wrap } # C/C++的笔试题目 + include<> 和include"" 的区别 + sizeof操作符与字 ...
- 汇顶科技&&硬件类笔试题目
汇顶科技硬件类笔试题目,每年都有变化,但是题目类型都差不多.汇顶科技17年在南京地区大概招了20个左右吧,给的待遇还是不错的,工作地点上海深圳
- C/C++笔试题目
1. C语言中无符号数与有符号数 unsigned ; ; printf( printf( ? 有符号数和无符号数在进行比较运算时(==,>=,<=,>,<),有符号数隐式的转 ...
- 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目
题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...
- [笔试题目]使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍?
[笔试题目] 使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍? StringBuffer 底层是依赖了一个字符数组才能存储字符 ...
- Android常见面试笔试题目
Android常见面试笔试题目 1.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 答:可以处理消息循环的线程,他是一个拥 ...
- C++笔试题目大全(笔试宝典)(不断完善中)
1.new . delete . malloc . free 关系 delete 会调用对象的析构函数 , 和 new 对应 free 只会释放内存, new 调用构造函数. malloc 与 fre ...
- js坑爹笔试题目汇总(持续更新中)
把你的面试官问倒,你就是一个合格的面试者了,以下总结一些易错的js笔试题目,会持续更新中.欢迎关注 1,考察this var length = 10 function fn(){ alert(this ...
- 几道经典的SQL笔试题目
几道经典的SQL笔试题目(有答案) (1)表名:购物信息 购物人 商品名称 数量 A 甲 2 B 乙 ...
随机推荐
- 【转】一点一点学ASP.NET之基础概念——HttpModule
概述 HttpHandler是一个HTTP请求的真正处理中心,也正是在这个HttpHandler容器中,ASP.NET Framework才真正地对客户端请求的服务器页面做出编译和执行,并将处理过后的 ...
- 解读MySQL的慢日志
完整的慢日志格式一般如下: # Time: :: # User@Host: db_user[db_database] @ localhost [] # Query_time: Rows_examine ...
- MVC官方教程索引
1.MVC教程首页http://www.asp.net/learn/mvc/?lang=cs 2.MVC概况2.1创建一个基于数据库的"电影"web应用http://www.asp ...
- [C语言] 变量和数据类型和整数和字符
1.数据类型和变量: 数据是放在内存中的,明确三件事:数据存储在哪里.数据的长度以及数据的处理方式 int n;数据类型指明了数据的长度和处理方式,变量名指明了数据存储在哪里 2.数据长度:是指数据占 ...
- (二)Apache服务器的下载与安装
PHP的运行必然少不了服务器的支持,何为服务器?通俗讲就是在一台计算机上,安装个服务器软件,这台计算机便可以称之为服务器,服务器软件和计算机本身的操作系统是两码事,计算机自身的操作系统可以为linux ...
- unity3d之简单的时钟倒计时demo
输入结束时间,开始倒计时,时间差不超过一天,附上代码:(关于个位数显示,加个判断如果小于10 显示的字符串加上0) using System.Collections; using System.Col ...
- 使用javascript调用android代码
1.使用webview对象的addJavascriptInterface方法 2.addJavascriptInterface方法有两个参数,第一个参数就是我们一般会实现一个自己的类,类里面提供我们要 ...
- MySQL mysqldump数据导出基本操作
mysqldump mysqldump命令是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中. 选项 --all-databases, -A:导 ...
- 30分钟掌握ES6/ES2015核心内容[上和下], 不错的说
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- 浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异[转]
看的文章来自: https://blog.coding.net/blog/the-difference-between-throttle-and-debounce-in-underscorejs 使用 ...