关于C语言的面试问题

阅读: 评论:0

关于C语言的面试问题

关于C语言的面试问题

今天,参加了一个公司的面试,下面写一下一些感想和想法。

那个公司叫高知特信息技术(上海)有限公司,还是个美国财富500强,上市公司。听那个宣讲人说的很牛X的。

那个宣讲人大致给我们介绍了一下情况。就是高知特信息技术有限公司上海分公司委托他们公司招聘25名工程师,并

且包括培训业务。他们是个培训公司,经常和大公司合作招聘和培训,然后往公司里输送人才。

大家都知道,世界500强公司嘛,肯定对英语有很高的要求了。所以面试题都是全英的。不仅考察语言的能力还有

你的英语阅读能力。他说,真正在职场面试的时候,尤其是那些大的公司,特别注重你的综合素质和能力。综合素质能

后达到60%的分数,然后编程能力只占40%左右。英语真的很重要。。。

下面,说几道面试的题目,都是我翻译过的。

 

第一道题是考察union的。


#include <stdio.h>union{int i;char x[2];
}a;int main(){int b=0;a.x[0] = 10;a.x[1] = 1;printf("%dn", a.i);return 0;
}


猜猜看输出的结果是什么???

答案是  266  


下面来解释一下:

union是C语言的一种结构体,类似与struct,但是绝对不同。

它表示结构体中的数据成员公用一个位置来存放数据。union主要用来压缩空间,如果一些数据不可能在同一时

间被用到,就可以考虑用union来存放数据。union的成员默认属性是public。

union被声明时,编译程序自动产生一个变量,这个变量的长度是联合中最大的变量的长度。所以,union型数据

所占的空间等于其最大的成员所占的空间。对union型的成员的存取都是相对于该联合体的基地址的偏移量为0处开始

的,也就是联合体的访问不论是对哪个变量的存取都是从union的首地址开始的。


union定义的时候需要注意一下三点:

1.成员变量的数据类型可以是基本数据类型或数组、结构、联合等构造类型及其他已声明的合法的数据类型。

2.联合类型的声明仅仅是一个数据类型的说明,编译时不会为其分配内存空间,只有当用联合类型定义结构类型

的变量时,编译时才会为这种变量分配内存空间。

3.联合类型声明中最后的分好“;”不要漏掉。


下面再看一个union的例子:

#include <iostream>
#include <cstring>
using namespace std;struct POINT{	//声明结构类型int x, y;
};union ONE{		//声明联合类型POINT pt;	//结构类型int iValue; //整型类型float fValue;//单精度类型
};//
void print(ONE one){cout<<"联合类型各个成员的值如下:"<<endl;cout<<"iValue = "<<one.iValue<<endl;cout<<"fValue = "<<one.fValue<<endl;cout<<"pt = ("<<one.pt.x<<","<<one.pt.y<<")"<<endl<<endl;
}int main(){ONE o = {10, 20};o.iValue = 33;print(o);o.fValue = 80.0;print(o);POINT pt ={30, 40};o.pt = pt;print(o);return 0;
}

程序的运行结果是:




第二道题是让你具体解释rewind的含义和用法的。

rewind 功能是:将文件内部的位置指针重新指向一个流的开头。

注意:

不是文件指针而是文件内部的位置指针,随着对文件的读写,文件的位置指针向后移动。而文件指针是指向整个

文件,如果不重新赋值文件指针不会改变。

用法:

void rewind(FILE *stream)

引用头文件 :  stdio.h

返回值:无

----------------(参考百度知道)



本文发布于:2024-02-05 07:12:35,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170727096764310.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语言
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23