某重工企业笔试题目合集(附答案)
来源:互联网 发布:酷我音乐网络代理设置 编辑:程序博客网 时间:2024/05/16 23:42
由于涉及到机密问题,就不指明是什么公司了,总之很大的了,看看吧,挺基础也挺实用的
1、 .h头文件中的 #ifndef/#define/#endif 的作用?
答:防止该头文件被重复引用。
2、 #define DOUBLE(x) x+x
int i = 5*DOUBLE(5);
i 的值为
答:为30
3、 设某32位系统下,C++程序,有以下说明和定义:
typedef union {int i; int k[5]; char c;} DATE;struct data { char cat; DATE cow; int dog;} too;
则语句 printf("%d",sizeof(too)); 的执行结果是:______
答:为28
4、 某些场合中需要用到死循环,这两个死循环 for(;;) 与 while(1) 哪个代码更高效(编译之后的代码更简短)?
答:for(;;)
5、 高度为8的平衡二叉树,至少有______个节点?
答:54个
6、 某32位系统下,C++程序,请计算sizeof 的值
char str[] = "www.ibegroup.com" ;char *p = str ;请计算sizeof (str ) = __ ①___sizeof ( p ) = ___②___void Foo ( char str[100]){请计算sizeof( str ) = ___③___}void *p = malloc( 100 );请计算sizeof ( p ) = ___④___
答:①17 ②4 ③4 ④4
7、 winsock建立TCP连接的主要实现步骤?
答:服务器端:socket()建立套接字,绑定(bind)并监听(listen),用accept()
等待客户端连接;发现有客户端连接时,建立一个新的套接字,自身重新开始等待连接;该新产生的套接字使用send()和recv()写读数据,直至数据交换完毕,调用closesocket()关闭套接字。
客户端:socket()建立套接字,连接(connect)服务器,连接上后使用send()和recv()在套接字上写读数据,直至数据交换完毕,调用closesocket()关闭套接字。
8、 回答下面的问题
(1). 请问运行 Test 函数会有什么样的结果?
void GetMemory(char **p, int num){*p = (char *)malloc(num);}void Test(void){char *str = NULL;GetMemory(&str, 100);strcpy(str, "hello");printf(str);}
答:输出 hello
(2). 请问运行 Test 函数会有什么样的结果?
char *GetMemory(void){char p[] = "hello world";return p;}void Test(void){char *str = NULL;str = GetMemory();printf(str);}
答:无效的指针,输出不确定
10、有如下函数
int func(int x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; }
问:func(9999) 的返回值为______
答:8
11、阅读函数说明和C函数,将C函数补充完整。
[函数1说明]
函数palindrome(chars[])的功能是:判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。
[函数1]int palindrome(char s[]){ char *pi, *pj;pi=s; pj=s+strlen(s)-1;while( pi<pj && ( ① )){pi++; pj--;}if( ② )return -1;else return 0;}[函数2说明] 函数f(char *str,char del)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。 例如若str的值为“33123333435”,del的值为‘3’,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。[函数2]void f(char*str, char del){ int i,j,len;len = strlen(str);i = 0;while(i<len){while( ③ ) i++; /*忽略连续的标志字符*//*寻找从str[i]开始直到标志字符出现的一个子字符串*/j = i + 1;while(str[j] !=del && str[j] !='\0') j++; ④ = '\0'; /*给找到的字符序列置字符串结束标志*/printf("%s\t",&str[i]); ⑤ ;}}
答:①*pi == *pj ②pi<pj 或 *pi != *pj
③str[i] == del ④str[j] ⑤i = j+1
12、用C/C++实现函数void swap(float *a,float *b),要求:①外部调用该函数能交换两个float变量的值;②函数swap内部不能使用第三个变量。
答:void swap(float *a,float *b){*a=*a + *b;*b=*a - *b;*a=*a - *b;}
13、一个链表的结点结构如下:
struct Node
{
int data ;
Node *next ;
};
typedef struct Node Node ;
已知链表的头结点head,写一个函数Node * ReverseList(Node *head),要求:把这个链表逆序。
答:Node * ReverseList(Node *head){if ( head == NULL || head->next == NULL )return head;Node *p1 = head ;Node *p2 = p1->next ;Node *p3 = p2->next ;p1->next = NULL ;while ( p3 != NULL ){p2->next = p1 ;p1 = p2 ;p2 = p3 ;p3 = p3->next ;}p2->next = p1 ;head = p2 ;return head ;}
- 某重工企业笔试题目合集(附答案)
- 华为面试/笔试题目(附答案)
- 华为面试/笔试题目(附答案)
- 厦门吉××笔试题目(针对应届生)(附答案)
- .net笔试题(附答案 )
- Java笔试题附答案
- 腾讯2013年实习生笔试题目(附答案) C++版
- ORACLE 笔试题目(无答案)
- 一些笔试题目和答案
- 百度笔试题目及答案
- 华为C语言笔试题(附答案)
- .net笔试题(三附答案)
- .net笔试题(四附答案)
- .net 笔试题(五附答案)
- 华为新员工转正笔试题(附答案)
- 华为C/C++笔试题(附答案)
- Oracle数据库笔试题(附答案)
- JAVA笔试改错题(附答案)
- SQL 3种联合查询
- 安装android3.0 编译环境需要的sources.list
- MFC基础,MFC自绘控件学习总结.
- 读《C++ Primer(第三版)》的一些疑问(不断更新)
- hdu1025 Constructing Roads In JGShining's Kingdom
- 某重工企业笔试题目合集(附答案)
- delphi common sense~
- 第三届“华为杯”程序设计大赛
- 实验二
- 实验四
- 实验三
- Android菜单
- dom4j对xml文档的操作(续)
- Calculate the cycle of the string 字符串周期计算